From 9ba11949ca58537c1f511e0919243ede7b86507d Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Mon, 5 May 2025 14:52:02 +0200 Subject: Rename config header input files to better names Up to FLTK 1.4 we had two distinct input files for each header file: one for configure and one for CMake. Since 1.5 we have only one input file for each header which can now have a more appropriate name. 1) configh.cmake.in -> config.h.in 2) fl_config.cmake.in -> fl_config.h.in --- CMake/export.cmake | 2 +- CMakeLists.txt | 2 +- config.h.in | 345 +++++++++++++++++++++++++++++++++++++++++++++++++++++ configh.cmake.in | 342 ---------------------------------------------------- fl_config.cmake.in | 98 --------------- fl_config.h.in | 99 +++++++++++++++ 6 files changed, 446 insertions(+), 442 deletions(-) create mode 100644 config.h.in delete mode 100644 configh.cmake.in delete mode 100644 fl_config.cmake.in create mode 100644 fl_config.h.in diff --git a/CMake/export.cmake b/CMake/export.cmake index 5ae2b84da..642be6762 100644 --- a/CMake/export.cmake +++ b/CMake/export.cmake @@ -150,7 +150,7 @@ else(IS_ABSOLUTE "${FLTK_DOCDIR}") set(PREFIX_DOC "${CMAKE_INSTALL_PREFIX}/${FLTK_DOCDIR}/fltk") endif(IS_ABSOLUTE "${FLTK_DOCDIR}") -set(CONFIG_H_IN configh.cmake.in) +set(CONFIG_H_IN config.h.in) set(CONFIG_H config.h) # generate config.h diff --git a/CMakeLists.txt b/CMakeLists.txt index d1496fc16..db6e0bb8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -267,7 +267,7 @@ include(CMake/variables.cmake) include(CMake/export.cmake) configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/fl_config.cmake.in + ${CMAKE_CURRENT_SOURCE_DIR}/fl_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/FL/fl_config.h @ONLY ) diff --git a/config.h.in b/config.h.in new file mode 100644 index 000000000..b74a7a1ac --- /dev/null +++ b/config.h.in @@ -0,0 +1,345 @@ +/* @CONFIG_H@. Generated from @CONFIG_H_IN@ by CMake. */ +/* + * Configuration file for the Fast Light Tool Kit (FLTK). This file is used + * internally in the FLTK library and is not publicly available (not installed). + * + * Copyright 1998-2025 by Bill Spitzak and others. + * + * This library is free software. Distribution and use rights are outlined in + * the file "COPYING" which should have been included with this file. If this + * file is missing or damaged, see the license at: + * + * https://www.fltk.org/COPYING.php + * + * Please see the following page on how to report bugs and issues: + * + * https://www.fltk.org/bugs.php + */ + +/* + * Note: CMake syntax in input file (examples): + * + * For instance in @CONFIG_H_IN@ (remove brackets for real syntax): + * ---------------------------------------------------------------- + * [#]cmakedefine01 HAVE_GL + * [#]cmakedefine HAVE_SNPRINTF 1 + * + * The former defines HAVE_GL either as 0 or 1. + * + * The latter either doesn't define HAVE_SNPRINTF or defines it as 1. + * The value (1 in the example) can be an arbitrary number or string. + */ + +/* + * Always include the public build configuration header + */ + +#include + +/* + * Where to find files... + */ + +#define FLTK_DATADIR "@PREFIX_DATA@" +#define FLTK_DOCDIR "@PREFIX_DOC@" + +/* + * BORDER_WIDTH: + * + * Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are + * supported. + * + * 3 is the historic FLTK look. + * 2 is the default and looks like Microsoft Windows, KDE, and Qt. + * 1 is a plausible future evolution... + * + * Note that this may be simulated at runtime by redefining the boxtypes + * using Fl::set_boxtype(). + */ + +#define BORDER_WIDTH 2 + +/* + * HAVE_GL: + * + * Do you have OpenGL? Set this to 0 if you don't have or plan to use + * OpenGL, and FLTK will be smaller. + */ + +#cmakedefine01 HAVE_GL + +/* + * HAVE_GL_GLU_H: + * + * Do you have the OpenGL Utility Library header file? + * (many broken Mesa RPMs do not...) + */ + +#cmakedefine01 HAVE_GL_GLU_H + +/* + * HAVE_GLXGETPROCADDRESSARB: + * + * Do you have the OpenGL glXGetProcAddressARB() function? + */ + +#cmakedefine HAVE_GLXGETPROCADDRESSARB 1 + +/* + * USE_COLORMAP: + * + * Setting this to zero will save a good deal of code (especially for + * fl_draw_image), but FLTK will only work on TrueColor visuals. + */ + +#define USE_COLORMAP 1 + +/* + * HAVE_XINERAMA + * + * Do we have the Xinerama library to support multi-head displays? + */ + +#cmakedefine01 HAVE_XINERAMA + +/* + * USE_XFT + * + * Use the Xft library to draw anti-aliased text. + */ + +#cmakedefine01 USE_XFT + +/* + * USE_PANGO + * + * Use the pango library to draw UTF-8 text. + */ + +#cmakedefine01 USE_PANGO + +/* + * HAVE_XFIXES: + * + * Do we have the X fixes extension? + */ + +#cmakedefine01 HAVE_XFIXES + +/* + * HAVE_XCURSOR: + * + * Do we have the X cursor library? + */ + +#cmakedefine01 HAVE_XCURSOR + +/* + * HAVE_XRENDER: + * + * Do we have the X render library? + */ + +#cmakedefine01 HAVE_XRENDER + +/* + * HAVE_X11_XREGION_H: + * + * Do we have the X11 Xregion.h header file ? + */ + +#cmakedefine01 HAVE_X11_XREGION_H + +/* + * HAVE_GL_OVERLAY: + * + * It is possible your GL has an overlay even if X does not. If so, + * set this to 1. + */ + +#define HAVE_GL_OVERLAY 0 + +/* + * WORDS_BIGENDIAN: + * + * Byte order of your machine: 1 = big-endian, 0 = little-endian. + */ + +#ifdef __APPLE__ +#include +#else +#cmakedefine01 WORDS_BIGENDIAN +#endif + +/* + * U16, U32, U64: + * + * Types used by fl_draw_image. One of U32 or U64 must be defined. + * U16 is optional but FLTK will work better with it! + */ + +#cmakedefine U16 @U16@ +#cmakedefine U32 @U32@ +#cmakedefine U64 @U64@ + +/* + * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, + * HAVE_SCANDIR, HAVE_SCANDIR_POSIX: + * + * Where is (used only by fl_file_chooser and scandir). + */ + +#cmakedefine HAVE_DIRENT_H 1 +#cmakedefine HAVE_SYS_NDIR_H 1 +#cmakedefine HAVE_SYS_DIR_H 1 +#cmakedefine HAVE_NDIR_H 1 +#cmakedefine HAVE_SCANDIR 1 +#cmakedefine HAVE_SCANDIR_POSIX 1 + +/* + * Possibly missing sprintf-style functions: + */ + +#cmakedefine HAVE_VSNPRINTF 1 +#cmakedefine HAVE_SNPRINTF 1 + +/* + * String functions and headers... + */ + +#cmakedefine HAVE_STRINGS_H 1 +#cmakedefine HAVE_STRCASECMP 1 +#cmakedefine HAVE_STRLCAT 1 +#cmakedefine HAVE_STRLCPY 1 + +/* + * Do we have POSIX locale support? + */ + +#cmakedefine HAVE_LOCALE_H 1 +#cmakedefine HAVE_LOCALECONV 1 + +/* + * HAVE_SYS_SELECT_H: + * + * Whether or not select() call has its own header file. + */ + +#cmakedefine01 HAVE_SYS_SELECT_H + +/* + * HAVE_SYS_STDTYPES_H: + * + * Whether or not we have the header file. + */ + +#cmakedefine HAVE_SYS_STDTYPES_H 1 + +/* + * USE_POLL: + * + * Use the poll() call provided on Linux and Irix instead of select() + */ + +#cmakedefine01 USE_POLL + +/* + * HAVE_SETENV: + * + * Whether or not POSIX setenv() is available from stdlib.h. + */ + +#cmakedefine01 HAVE_SETENV + +/* + * HAVE_TRUNC: + * + * Whether or not POSIX trunc() is available from math.h. + */ + +#cmakedefine01 HAVE_TRUNC + +/* + * Do we have various image libraries? + */ + +#cmakedefine HAVE_LIBPNG 1 +#cmakedefine HAVE_LIBZ 1 +#cmakedefine HAVE_LIBJPEG 1 + +/* + * Which header file do we include for libpng? + * ifdef HAVE_PNG_H : + * else : + * There is no other choice. + */ + +#cmakedefine HAVE_PNG_H 1 + +/* + * Do we have the png_xyz() functions? + */ + +#cmakedefine HAVE_PNG_GET_VALID 1 +#cmakedefine HAVE_PNG_SET_TRNS_TO_ALPHA 1 + + +/* + * Do we have POSIX threading? + */ + +#cmakedefine HAVE_PTHREAD 1 +#cmakedefine HAVE_PTHREAD_H 1 + +/* + * Do we have PTHREAD_MUTEX_RECURSIVE? + */ + +#cmakedefine HAVE_PTHREAD_MUTEX_RECURSIVE 1 + +/* + * Do we have the ALSA library? + */ + +#cmakedefine HAVE_ALSA_ASOUNDLIB_H 1 + +/* + * Do we have the long long type? + */ + +#cmakedefine HAVE_LONG_LONG 1 + +#ifdef HAVE_LONG_LONG +# define FLTK_LLFMT "%lld" +# define FLTK_LLCAST (long long) +#else +# define FLTK_LLFMT "%ld" +# define FLTK_LLCAST (long) +#endif /* HAVE_LONG_LONG */ + +/* + * Do we have the dlsym() function and header? + */ + +#cmakedefine01 HAVE_DLFCN_H +#cmakedefine01 HAVE_DLSYM + +/* + * Do we want print support? + */ + +#cmakedefine FL_NO_PRINT_SUPPORT 1 + +/* + * Do we use GDI+ to get antialiased graphics? + */ + +#ifdef _WIN32 +#cmakedefine01 USE_GDIPLUS +#endif + +/* + * Do we want filename handling and a filechooser? + */ + +#cmakedefine FL_CFG_NO_FILESYSTEM_SUPPORT 1 diff --git a/configh.cmake.in b/configh.cmake.in deleted file mode 100644 index b01d4fba6..000000000 --- a/configh.cmake.in +++ /dev/null @@ -1,342 +0,0 @@ -/* @CONFIG_H@. Generated from @CONFIG_H_IN@ by CMake. */ -/* - * Configuration file for the Fast Light Tool Kit (FLTK). - * - * Copyright 1998-2024 by Bill Spitzak and others. - * - * This library is free software. Distribution and use rights are outlined in - * the file "COPYING" which should have been included with this file. If this - * file is missing or damaged, see the license at: - * - * https://www.fltk.org/COPYING.php - * - * Please see the following page on how to report bugs and issues: - * - * https://www.fltk.org/bugs.php - */ - -/* - * Note: configure syntax vs. CMake syntax in source files (examples): - * - * configh.in configh.cmake.in - * --------------------- ---------------------------- - * [#]define HAVE_GL 0 [#]cmakedefine01 HAVE_GL - * [#]undef HAVE_SNPRINTF [#]cmakedefine HAVE_SNPRINTF 1 - * - * The former defines the given macro either as 0 or 1, - * the latter either does not define the macro or defines it as 1. - */ - -/* - * Always include the public build configuration header - */ - -#include - -/* - * Where to find files... - */ - -#define FLTK_DATADIR "@PREFIX_DATA@" -#define FLTK_DOCDIR "@PREFIX_DOC@" - -/* - * BORDER_WIDTH: - * - * Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are - * supported. - * - * 3 is the historic FLTK look. - * 2 is the default and looks like Microsoft Windows, KDE, and Qt. - * 1 is a plausible future evolution... - * - * Note that this may be simulated at runtime by redefining the boxtypes - * using Fl::set_boxtype(). - */ - -#define BORDER_WIDTH 2 - -/* - * HAVE_GL: - * - * Do you have OpenGL? Set this to 0 if you don't have or plan to use - * OpenGL, and FLTK will be smaller. - */ - -#cmakedefine01 HAVE_GL - -/* - * HAVE_GL_GLU_H: - * - * Do you have the OpenGL Utility Library header file? - * (many broken Mesa RPMs do not...) - */ - -#cmakedefine01 HAVE_GL_GLU_H - -/* - * HAVE_GLXGETPROCADDRESSARB: - * - * Do you have the OpenGL glXGetProcAddressARB() function? - */ - -#cmakedefine HAVE_GLXGETPROCADDRESSARB 1 - -/* - * USE_COLORMAP: - * - * Setting this to zero will save a good deal of code (especially for - * fl_draw_image), but FLTK will only work on TrueColor visuals. - */ - -#define USE_COLORMAP 1 - -/* - * HAVE_XINERAMA - * - * Do we have the Xinerama library to support multi-head displays? - */ - -#cmakedefine01 HAVE_XINERAMA - -/* - * USE_XFT - * - * Use the Xft library to draw anti-aliased text. - */ - -#cmakedefine01 USE_XFT - -/* - * USE_PANGO - * - * Use the pango library to draw UTF-8 text. - */ - -#cmakedefine01 USE_PANGO - -/* - * HAVE_XFIXES: - * - * Do we have the X fixes extension? - */ - -#cmakedefine01 HAVE_XFIXES - -/* - * HAVE_XCURSOR: - * - * Do we have the X cursor library? - */ - -#cmakedefine01 HAVE_XCURSOR - -/* - * HAVE_XRENDER: - * - * Do we have the X render library? - */ - -#cmakedefine01 HAVE_XRENDER - -/* - * HAVE_X11_XREGION_H: - * - * Do we have the X11 Xregion.h header file ? - */ - -#cmakedefine01 HAVE_X11_XREGION_H - -/* - * HAVE_GL_OVERLAY: - * - * It is possible your GL has an overlay even if X does not. If so, - * set this to 1. - */ - -#define HAVE_GL_OVERLAY 0 - -/* - * WORDS_BIGENDIAN: - * - * Byte order of your machine: 1 = big-endian, 0 = little-endian. - */ - -#ifdef __APPLE__ -#include -#else -#cmakedefine01 WORDS_BIGENDIAN -#endif - -/* - * U16, U32, U64: - * - * Types used by fl_draw_image. One of U32 or U64 must be defined. - * U16 is optional but FLTK will work better with it! - */ - -#cmakedefine U16 @U16@ -#cmakedefine U32 @U32@ -#cmakedefine U64 @U64@ - -/* - * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, - * HAVE_SCANDIR, HAVE_SCANDIR_POSIX: - * - * Where is (used only by fl_file_chooser and scandir). - */ - -#cmakedefine HAVE_DIRENT_H 1 -#cmakedefine HAVE_SYS_NDIR_H 1 -#cmakedefine HAVE_SYS_DIR_H 1 -#cmakedefine HAVE_NDIR_H 1 -#cmakedefine HAVE_SCANDIR 1 -#cmakedefine HAVE_SCANDIR_POSIX 1 - -/* - * Possibly missing sprintf-style functions: - */ - -#cmakedefine HAVE_VSNPRINTF 1 -#cmakedefine HAVE_SNPRINTF 1 - -/* - * String functions and headers... - */ - -#cmakedefine HAVE_STRINGS_H 1 -#cmakedefine HAVE_STRCASECMP 1 -#cmakedefine HAVE_STRLCAT 1 -#cmakedefine HAVE_STRLCPY 1 - -/* - * Do we have POSIX locale support? - */ - -#cmakedefine HAVE_LOCALE_H 1 -#cmakedefine HAVE_LOCALECONV 1 - -/* - * HAVE_SYS_SELECT_H: - * - * Whether or not select() call has its own header file. - */ - -#cmakedefine01 HAVE_SYS_SELECT_H - -/* - * HAVE_SYS_STDTYPES_H: - * - * Whether or not we have the header file. - */ - -#cmakedefine HAVE_SYS_STDTYPES_H 1 - -/* - * USE_POLL: - * - * Use the poll() call provided on Linux and Irix instead of select() - */ - -#cmakedefine01 USE_POLL - -/* - * HAVE_SETENV: - * - * Whether or not POSIX setenv() is available from stdlib.h. - */ - -#cmakedefine01 HAVE_SETENV - -/* - * HAVE_TRUNC: - * - * Whether or not POSIX trunc() is available from math.h. - */ - -#cmakedefine01 HAVE_TRUNC - -/* - * Do we have various image libraries? - */ - -#cmakedefine HAVE_LIBPNG 1 -#cmakedefine HAVE_LIBZ 1 -#cmakedefine HAVE_LIBJPEG 1 - -/* - * Which header file do we include for libpng? - * ifdef HAVE_PNG_H : - * else : - * There is no other choice. - */ - -#cmakedefine HAVE_PNG_H 1 - -/* - * Do we have the png_xyz() functions? - */ - -#cmakedefine HAVE_PNG_GET_VALID 1 -#cmakedefine HAVE_PNG_SET_TRNS_TO_ALPHA 1 - - -/* - * Do we have POSIX threading? - */ - -#cmakedefine HAVE_PTHREAD 1 -#cmakedefine HAVE_PTHREAD_H 1 - -/* - * Do we have PTHREAD_MUTEX_RECURSIVE? - */ - -#cmakedefine HAVE_PTHREAD_MUTEX_RECURSIVE 1 - -/* - * Do we have the ALSA library? - */ - -#cmakedefine HAVE_ALSA_ASOUNDLIB_H 1 - -/* - * Do we have the long long type? - */ - -#cmakedefine HAVE_LONG_LONG 1 - -#ifdef HAVE_LONG_LONG -# define FLTK_LLFMT "%lld" -# define FLTK_LLCAST (long long) -#else -# define FLTK_LLFMT "%ld" -# define FLTK_LLCAST (long) -#endif /* HAVE_LONG_LONG */ - -/* - * Do we have the dlsym() function and header? - */ - -#cmakedefine01 HAVE_DLFCN_H -#cmakedefine01 HAVE_DLSYM - -/* - * Do we want print support? - */ - -#cmakedefine FL_NO_PRINT_SUPPORT 1 - -/* - * Do we use GDI+ to get antialiased graphics? - */ - -#ifdef _WIN32 -#cmakedefine01 USE_GDIPLUS -#endif - -/* - * Do we want filename handling and a filechooser? - */ - -#cmakedefine FL_CFG_NO_FILESYSTEM_SUPPORT 1 diff --git a/fl_config.cmake.in b/fl_config.cmake.in deleted file mode 100644 index 1610534fb..000000000 --- a/fl_config.cmake.in +++ /dev/null @@ -1,98 +0,0 @@ -/* FL/fl_config.h. Generated from fl_config.cmake.in by CMake. */ -/* - * Build configuration file for the Fast Light Tool Kit (FLTK). - * - * Copyright 1998-2024 by Bill Spitzak and others. - * - * This library is free software. Distribution and use rights are outlined in - * the file "COPYING" which should have been included with this file. If this - * file is missing or damaged, see the license at: - * - * https://www.fltk.org/COPYING.php - * - * Please see the following page on how to report bugs and issues: - * - * https://www.fltk.org/bugs.php - */ - -#ifndef _FL_fl_config_h_ -#define _FL_fl_config_h_ - -/* - * FL_ABI_VERSION (ABI version) - * - * define FL_ABI_VERSION: 1xxyy for 1.x.y (xx,yy with leading zero) -*/ - -#cmakedefine FL_ABI_VERSION @FL_ABI_VERSION@ - - -/* - * FLTK_HAVE_CAIRO - * - * Do we have Fl_Cairo_Window support? -*/ - -#cmakedefine FLTK_HAVE_CAIRO 1 - - -/* - * FLTK_HAVE_CAIROEXT - * - * Do we have the Cairo library available and want extended Cairo use in FLTK ? - * This implies to link cairo.lib in all FLTK based apps. -*/ - -#cmakedefine FLTK_HAVE_CAIROEXT 1 - - -/* - * FLTK_HAVE_FORMS - * - * Do we have the Forms compatibility library available? -*/ - -#cmakedefine FLTK_HAVE_FORMS 1 - - -/* - * FLTK_USE_X11 - * - * Do we use X11 for the current platform? - * - */ - -#cmakedefine FLTK_USE_X11 1 - - -/* - * FLTK_USE_CAIRO - * - * Do we use Cairo to draw to the display? - * - */ - -#cmakedefine FLTK_USE_CAIRO 1 - - -/* - * FLTK_USE_WAYLAND - * - * Do we use Wayland for the current platform? - * - */ - -#cmakedefine FLTK_USE_WAYLAND 1 - - -/* - * FLTK_USE_SVG - * - * Do we want FLTK to read and write SVG-formatted files ? - * - */ - -#cmakedefine01 FLTK_USE_SVG - - -#endif /* _FL_fl_config_h_ */ diff --git a/fl_config.h.in b/fl_config.h.in new file mode 100644 index 000000000..6f46cf65f --- /dev/null +++ b/fl_config.h.in @@ -0,0 +1,99 @@ +/* FL/fl_config.h. Generated from fl_config.h.in by CMake. */ +/* + * Build configuration file for the Fast Light Tool Kit (FLTK). This + * configuration file is publicly accessible by user programs (installed). + * + * Copyright 1998-2025 by Bill Spitzak and others. + * + * This library is free software. Distribution and use rights are outlined in + * the file "COPYING" which should have been included with this file. If this + * file is missing or damaged, see the license at: + * + * https://www.fltk.org/COPYING.php + * + * Please see the following page on how to report bugs and issues: + * + * https://www.fltk.org/bugs.php + */ + +#ifndef _FL_fl_config_h_ +#define _FL_fl_config_h_ + +/* + * FL_ABI_VERSION (ABI version) + * + * define FL_ABI_VERSION: 1xxyy for 1.x.y (xx,yy with leading zero) +*/ + +#cmakedefine FL_ABI_VERSION @FL_ABI_VERSION@ + + +/* + * FLTK_HAVE_CAIRO + * + * Do we have Fl_Cairo_Window support? +*/ + +#cmakedefine FLTK_HAVE_CAIRO 1 + + +/* + * FLTK_HAVE_CAIROEXT + * + * Do we have the Cairo library available and want extended Cairo use in FLTK ? + * This implies to link cairo.lib in all FLTK based apps. +*/ + +#cmakedefine FLTK_HAVE_CAIROEXT 1 + + +/* + * FLTK_HAVE_FORMS + * + * Do we have the Forms compatibility library available? +*/ + +#cmakedefine FLTK_HAVE_FORMS 1 + + +/* + * FLTK_USE_X11 + * + * Do we use X11 for the current platform? + * + */ + +#cmakedefine FLTK_USE_X11 1 + + +/* + * FLTK_USE_CAIRO + * + * Do we use Cairo to draw to the display? + * + */ + +#cmakedefine FLTK_USE_CAIRO 1 + + +/* + * FLTK_USE_WAYLAND + * + * Do we use Wayland for the current platform? + * + */ + +#cmakedefine FLTK_USE_WAYLAND 1 + + +/* + * FLTK_USE_SVG + * + * Do we want FLTK to read and write SVG-formatted files ? + * + */ + +#cmakedefine01 FLTK_USE_SVG + + +#endif /* _FL_fl_config_h_ */ -- cgit v1.2.3