summaryrefslogtreecommitdiff
path: root/fl_config.h.in
blob: cf7168557e201aab9b5838e628255d361767b85d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
/* 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_

/** \defgroup version_numbers Version Numbers

  FLTK defines some constants to help the programmer to
  find out, for which FLTK version a program is compiled.

  The following constants are defined:
  @{
*/

/**
  The major release version of this FLTK library.
  \see FL_VERSION
*/
#define FL_MAJOR_VERSION @FLTK_VERSION_MAJOR@

/**
  The minor release version for this library.

  FLTK remains mostly source-code compatible between minor version changes.
*/
#define FL_MINOR_VERSION @FLTK_VERSION_MINOR@

/**
  The patch version for this library.

  FLTK remains binary compatible between patch versions.
*/
#define FL_PATCH_VERSION @FLTK_VERSION_PATCH@

/**
  The FLTK ABI (Application Binary Interface) version number as an \em int.

  FL_ABI_VERSION is an \em int that describes the major, minor, and patch
  ABI version numbers in the same format as FL_API_VERSION.

  The ABI version number \p FL_ABI_VERSION is usually the same as the
  API version \p FL_API_VERSION with the last two digits set to '00'.

  FLTK retains the ABI (Application Binary Interface) during patch
  releases of the same major and minor versions. Examples:

  \verbatim
    FLTK Version  FL_API_VERSION  FL_ABI_VERSION  FL_VERSION (deprecated)
      1.3.0          10300           10300           1.0300
      1.3.4          10304           10300           1.0304
  \endverbatim

  Version 1.2.3 is actually stored as 10203 to allow for more than 9 minor
  and patch releases.

  The FL_MAJOR_VERSION, FL_MINOR_VERSION, and FL_PATCH_VERSION constants
  give the integral values for the major, minor, and patch releases
  respectively.

  To enable new ABI-breaking features in patch releases you can configure
  FLTK to use a higher FL_ABI_VERSION. The highest allowed version is

    FL_ABI_VERSION = FL_API_VERSION + 1

  to allow for "next version" ABI features when FLTK is built from git or
  from a snapshot (pre-release version).

  \see README.abi-version.txt
*/

#define FL_ABI_VERSION @FL_ABI_VERSION@

/** @} */

// End of doxygen group 'version_numbers'. More is added to the group in
// in file FL/Enumerations.H

/*
 * 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_ */