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

Reply via email to