I don't think that we currently have a clear documentation of FLTK's usage of compiler, OS, and FLTK's own #define's.
Should I (we) try to write such docs, and where would be a useful place? Maybe in the OS-specific documentation chapter ? Or in the developer section? Here are some first thoughts: WIN32 is defined on Windows (32- and 64-bit) systems by FLTK, except if configured with --enable-cygwin --enable-x11. It is a synonym for "we use GDI for drawing". __CYGWIN__ means that configure used --enable-cygwin. The resulting programs must be linked with the Cygwin dll (currently cygwin1.dll) and can use Cygwin's POSIX layer emulation on Windows. This is free for personal/internal use, but you need a special license from Redhat if you want to distribute your programs. __CYGWIN__ can be combined with WIN32, which means that FLTK still uses GDI for drawing. _WIN32 is defined by all (?) Windows compilers when compiling programs for Windows. The Cygwin (MinGW) compilers do also define it if you compile with -mno-cygwin (gcc 3) or use the MinGW cross compilers (gcc 4.x and later). It is not defined when compiling under Cygwin for use with the POSIX layer (Cygwin dll). _WIN64 is defined by all (?) Windows compilers when compiling programs for Windows for a 64-bit target. This can be combined with _WIN32 (for backwards compatibility). I don't know whether Cygwin defines this off the top of my head (I can check it). FLTK 1.3 always defines USE_X11 as 0 or 1, depending on the usage of X11 or not (in config.h). This is not defined in FLTK 1.1. More about __APPLE__, _MSC_VER, ... and its usage... Maybe also FLTK_HAVE_CAIRO, FLTK_USE_CAIRO, other HAVE_* ... Albrecht _______________________________________________ fltk-dev mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk-dev
