>> -env is not meant to suppress defines, but envvars.
>> To suppress a define, use '-under:__MT__' Harbour 
>> option.
>> 
> 
> Probably it is '-undef:__MT__'.

Yes, typo. It's in Harbour help anyway.

>>> #ifdef __MT__
>>> #include "hbthread.h"
>>> static PHB_ITEM s_pMtx = NULL;
>>> #endif
>>> 
>>> For Harbour builds, it is OK as I define __MT__ but for xHarbour compiles
>>> __MT__ is never defined but still I reach to line;   #include
>>> "hbthread.h" 
>>> and there is no define as such in above C source or elsewhere nor it is 
>>> visible in the logs. It is a mystery how __MT__ peeps in.
>> 
>> __MT__ is not a Harbour internal constant, so 
>> it must be defined somewhere in your sources, 
>> or maybe in xhb headers. For sure it's not defined 
>> (or used) by hbmk2.
>> 
> 
> I have checked it thoughly if I supply this define anyway, but 
> could not find any occurance. This library comprises 4 prg files and 1 c
> file, as above.
> Still at a loss why __MT__ is issued for C sources.
> Anyway, changing __MT__ to __HB_MT__ solved this issue, but just 
> in case someone comes with a clue will be better.

Well, you're using it, so I'd assume you know what it does :)

If it's not present in any C compiler and xhb headers, 
it's probably defined by the C compiler. You need to 
figure how to control it, or just don't use it.

Viktor

_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to