[tlbuild] WIN32 defines

Javier Múgica javier at digi21.eu
Tue Jan 12 11:00:00 CET 2010


The different configuration files and many others include the test

#ifdef WIN32

But that may not be defined in WIN32 machines. In particular, the
macro I have always defined in may compiler is _WIN32. The library
zlib catches that in zconf.h:

#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
#  ifndef WIN32
#    define WIN32
#  endif
#endif

It is most curious that if my compiler runs through the config files
when building a program **without** the WIN32 macro defined everything
is OK as long as some features from the config files are not used by
the program, but if I have it defined I get some errors. The first one
is this:

...\kpathsea\config.h(102) : fatal error C1083: Cannot open include
file: 'win32lib.h': No such file or directory

If I try cheating and replace win32lib.h there by windows.h, the
master include file for Windows applications, I get the first of
these, the cause of which and how to solve it are explaned in
mingw32.h. If I solve it as explained then I get the second one:

...\kpathsea\types.h(27) : error C2371: 'boolean' : nnew definition;
different basic types
...\kpathsea\c-ctype.h(27) : fatal error C1083: Cannot open include
file: 'oldnames.h': No such file or directory

I don't have oldnames.h anywhere, even if I have an oldnames.lib.
There is no /* Define to 1 if you have the <oldnames.h> header file */
in the various config files. If I comment the line including that file
there seems not to be more errors.

-- Javier A. Múgica



More information about the tlbuild mailing list