Poderia fazer um teste extra:
Caso goste, e queira usar no XHarbour, aqui eu uso o {xhb} como indicativo se é harbour ou xharbour.
Não tenho certeza se quando usa xhb.hbc isso continua valendo.
Mas com certeza, pra compilar com XHarbour, precisa acrescentar -xhb na linha do comando.
sem xhb, é Harbour
com xhb, é XHarbour (o que estiver no path)
e ajuste fino no HBP/HBC indicando o que escolher no caso de harbour/xharbour ou compiladores bcc, msvc, mingw, bcc64, msvc64, mingw64
{bcc} compilador Borland C
{bcc64} compilador Borland C 64
{xhb} xharbour
{!xhb} não xHarbour
{bcc&!xhb} Borland C e não xharbour
e por aí vai.
acaba colocando IFs no projeto, aonde precisar, e mantém um único HBP/HBC ao invés de vários.
HBC é mais pra LIB. Assim a LIB fica definida, e sempre que quiser as libs do fivewin por exemplo é só acrescentar fivewin.hbc
O projeto não precisa saber detalhes, só precisa saber que vai usar fivewin, e o fivewin.hbc que se vire....
Saindo versão nova do fivewin... o fivewin viria com um novo hbc, essa é a idéia desse hbc.