>> -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