Generate FL/fl_config.h rather than FL/abi-version.h

... as discussed in fltk.coredev in thread "RFC: introduce public
config header <FL/fl_config.h>", see:
https://groups.google.com/g/fltkcoredev/c/xLCs1AIXMVo/m/MHZpQggzAQAJ

- Rename abi-version.h to fl_config.h, rename input files,
  update dependencies, .gitignore, CMake, configure and Makefiles.

- Include Cairo options in FL/fl_config.h

- Rename FLTK_USE_CAIRO to FLTK_HAVE_CAIROEXT for consistency.

- Include <FL/fl_config.h> in config.h and wherever necessary,
  fix include order (move FL/Fl.H to the top) and more.

- Move USE_X11 to fl_config.h and rename to FLTK_USE_X11

- Do not include <config.h> in Cairo demo program which is no
  longer required in Cairo programs since FLTK 1.4.0
This commit is contained in:
Albrecht Schlosser
2021-12-18 22:42:30 +01:00
parent 797616841c
commit 5438954d8c
44 changed files with 848 additions and 501 deletions
+2 -2
View File
@@ -24,13 +24,13 @@
/*
******************************************************************************
* FL_ABI_VERSION is defined by configure or CMake since FLTK 1.3.4.
* It is written to FL/abi-version.h and #included here.
* It is written to FL/fl_config.h and #included here.
******************************************************************************
* For more informations on FL_ABI_VERSION see README.abi-version.txt.
******************************************************************************
*/
#include <FL/abi-version.h>
#include <FL/fl_config.h>
# include "Fl_Export.H"
# include "fl_types.h"
+1
View File
@@ -21,6 +21,7 @@
#ifndef Fl_H
# define Fl_H
#include <FL/fl_config.h> // build configuration
#include <FL/Fl_Export.H>
#include <FL/platform_types.h> // for FL_SOCKET
#include <FL/fl_casts.H> // experimental
+7 -2
View File
@@ -1,7 +1,7 @@
//
// Main header file for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2016 by Bill Spitzak and others.
// Copyright 1998-2021 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
@@ -20,6 +20,9 @@
#ifndef FL_CAIRO_H
# define FL_CAIRO_H
# include <FL/fl_config.h> // build configuration
# ifdef FLTK_HAVE_CAIRO
// Cairo is currently supported for the following platforms:
@@ -39,7 +42,9 @@
A private internal & unique corresponding object is created to
permit cairo context state handling while keeping it opaque.
For internal use only.
\note Only available when configure has the --enable-cairo option
\note Only available when configure has the --enable-cairo or
--enable-cairoext option or one or both of the CMake options
OPTION_CAIRO or OPTION_CAIROEXT is set (ON)
*/
class FL_EXPORT Fl_Cairo_State {
public:
+5 -2
View File
@@ -1,7 +1,7 @@
//
// Main header file for the Fast Light Tool Kit (FLTK).
// Cairo Window header file for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2018 by Bill Spitzak and others.
// Copyright 1998-2021 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
@@ -20,6 +20,9 @@
#ifndef FL_CAIRO_WINDOW_H
# define FL_CAIRO_WINDOW_H
#include <FL/fl_config.h>
# ifdef FLTK_HAVE_CAIRO
// Cairo is currently supported for the following platforms:
+3 -5
View File
@@ -1,7 +1,7 @@
//
// Platform header file for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2020 by Bill Spitzak and others.
// Copyright 1998-2021 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
@@ -28,6 +28,7 @@
#if !defined(FL_PLATFORM_H) && !defined(FL_DOXYGEN)
# define FL_PLATFORM_H
# include <FL/fl_config.h>
# include <FL/Fl_Export.H>
# include <FL/platform_types.h>
# include <FL/fl_types.h> // for uchar
@@ -42,9 +43,6 @@ class Fl_Window;
# else // X11
# include <FL/fl_types.h>
# include <FL/Enumerations.H>
# if !defined(USE_X11)
# define USE_X11 1
# endif
# if defined(_ABIN32) || defined(_ABI64) // fix for broken SGI Irix X .h files
# pragma set woff 3322
# endif
@@ -125,7 +123,7 @@ public:
// static variables, static functions and member functions
static Fl_X* first;
static Fl_X* i(const Fl_Window* w) {return (Fl_X*)w->i;}
# if defined(USE_X11) // for backward compatibility
# if defined(FLTK_USE_X11) // for backward compatibility
static void make_xid(Fl_Window*, XVisualInfo* =fl_visual, Colormap=fl_colormap);
static Fl_X* set_xid(Fl_Window*, Window);
# endif