Clarification and better documentation of ABI version configuration.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11803 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Albrecht Schlosser 2016-07-09 18:43:31 +00:00
parent 189591d4b6
commit f41ef4e158
6 changed files with 20 additions and 22 deletions

View File

@ -30,7 +30,6 @@ CHANGES IN FLTK 1.3.4 RELEASED: ??? ?? 2016
- Added Fl_Image::fail() to test if an image was loaded successfully - Added Fl_Image::fail() to test if an image was loaded successfully
to make life easier when loading images (STR #2873). to make life easier when loading images (STR #2873).
New configuration options (ABI version) New configuration options (ABI version)
- FLTK's ABI version can now be configured with configure, CMake, or - FLTK's ABI version can now be configured with configure, CMake, or

View File

@ -4,7 +4,7 @@
# Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org) # Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org)
# Written by Michael Surette # Written by Michael Surette
# #
# Copyright 1998-2015 by Bill Spitzak and others. # Copyright 1998-2016 by Bill Spitzak and others.
# #
# This library is free software. Distribution and use rights are outlined in # 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 # the file "COPYING" which should have been included with this file. If this
@ -36,7 +36,7 @@ add_definitions(${OPTION_ARCHFLAGS})
####################################################################### #######################################################################
set(OPTION_ABI_VERSION "" set(OPTION_ABI_VERSION ""
CACHE STRING CACHE STRING
"FLTK ABI Version (FL_ABI_VERSION - define as 10x0y for 1.x.y)" "FLTK ABI Version FL_ABI_VERSION: 1xxyy for 1.x.y (xx,yy with leading zero)"
) )
set(FL_ABI_VERSION ${OPTION_ABI_VERSION}) set(FL_ABI_VERSION ${OPTION_ABI_VERSION})

View File

@ -3,7 +3,7 @@
// //
// Enumerations for the Fast Light Tool Kit (FLTK). // Enumerations for the Fast Light Tool Kit (FLTK).
// //
// Copyright 1998-2015 by Bill Spitzak and others. // Copyright 1998-2016 by Bill Spitzak and others.
// //
// This library is free software. Distribution and use rights are outlined in // 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 // the file "COPYING" which should have been included with this file. If this
@ -35,12 +35,11 @@
* below by "#include <FL/abi-version.h>". * below by "#include <FL/abi-version.h>".
* *
* (3) If you use the provided IDE files (Windows VC++ or Xcode) you should * (3) If you use the provided IDE files (Windows VC++ or Xcode) you should
* edit the definition in the provided IDE subdirectory. The correct * edit the definition in the provided file abi-version.ide. The correct
* file is `/path/to/fltk/ide/<IDE-name>/FL/abi-version.h' . * file is `/path/to/fltk/abi-version.ide' .
* *
****************************************************************************** ******************************************************************************
* For more info on FL_ABI_VERSION, see: http://fltk.org/cmp.php#FL_ABI_VERSION * For more informations on FL_ABI_VERSION see README.abi-version.txt.
* FIXME: Update docs ...
****************************************************************************** ******************************************************************************
*/ */
@ -90,8 +89,8 @@
\deprecated This \p double version number is retained for compatibility \deprecated This \p double version number is retained for compatibility
with existing program code. New code should use \em int FL_API_VERSION with existing program code. New code should use \em int FL_API_VERSION
instead. FL_VERSION is deprecated because comparisons of floating point instead. FL_VERSION is deprecated because comparisons of floating point
values may fail because of rounding errors. However, there are values may fail due to rounding errors. However, there are currently no
currently no plans to remove this constant. plans to remove this deprecated constant.
FL_VERSION is equivalent to <em>(double)FL_API_VERSION / 10000</em>. FL_VERSION is equivalent to <em>(double)FL_API_VERSION / 10000</em>.
@ -151,7 +150,7 @@
To enable new ABI-breaking features in patch releases you can configure To enable new ABI-breaking features in patch releases you can configure
FLTK to use a higher FL_ABI_VERSION. FLTK to use a higher FL_ABI_VERSION.
\todo Configuration of FL_ABI_VERSION needs documentation. \see README.abi-version.txt
*/ */
#ifndef FL_ABI_VERSION #ifndef FL_ABI_VERSION
#define FL_ABI_VERSION (FL_MAJOR_VERSION*10000 + FL_MINOR_VERSION*100) #define FL_ABI_VERSION (FL_MAJOR_VERSION*10000 + FL_MINOR_VERSION*100)

View File

@ -5,7 +5,7 @@ FLTK preserves the application binary interface (ABI) throughout
patch versions, for instance all 1.3.x versions (x = patch version). patch versions, for instance all 1.3.x versions (x = patch version).
This basically means that a program compiled and linked with FLTK 1.3.0 This basically means that a program compiled and linked with FLTK 1.3.0
can run with a FLTK shared library (fltk.dll, fltk.so.1.3.4) of a later can run with a FLTK shared library (fltk.dll, fltk.so.1.3.x) of a later
FLTK version. FLTK version.
Since FLTK 1.3.1 the FLTK team began to introduce ABI-breaking features Since FLTK 1.3.1 the FLTK team began to introduce ABI-breaking features
@ -21,8 +21,8 @@ In versions older than 1.3.4 the user had to edit FL/Enumerations.H, but
since FLTK 1.3.4 the ABI version can be configured when building the since FLTK 1.3.4 the ABI version can be configured when building the
FLTK library. FLTK library.
Note: This documentation is written for FLTK 1.3.x, but it applies to all Note: This documentation is written for FLTK 1.3.x. It does not apply to
later versions as well. Replace the version numbers given here by the later FLTK versions. Replace the version numbers given here by the
version numbers of the version you are using. version numbers of the version you are using.
@ -44,7 +44,7 @@ previous versions. See CHANGES file.
Note: the now deprecated macro FLTK_ABI_VERSION has been used before Note: the now deprecated macro FLTK_ABI_VERSION has been used before
FLTK 1.3.4. The FLTK 1.3.4 code still uses FLTK_ABI_VERSION, but since FLTK 1.3.4. The FLTK 1.3.4 code still uses FLTK_ABI_VERSION, but since
FLTK 1.3.4 this is identical to FL_ABI_VERSION. FLTK 1.3.4 this is identical to FL_ABI_VERSION.
FLTK_ABI_VERSION will be removed entirely in FLTK 1.4.0. FLTK_ABI_VERSION will be removed entirely in FLTK 1.4.0.
@ -69,9 +69,9 @@ the version number.
(2) CMake + make (2) CMake + make
---------------- ----------------
FLTK 1.3.4 contains experimental CMake support. This is known to be FLTK 1.3.4 contains experimental CMake support. This is known to be
incomplete, but you can use it for test builds. It "almost works" incomplete, but you can use it for test builds. It "almost works"
in many cases, but it is not yet "officially supported". Use on your in many cases, but it is not yet officially supported. Use on your
own risk. own risk.
Use CMake to build the Makefile's and run 'make'. To configure the Use CMake to build the Makefile's and run 'make'. To configure the
@ -108,7 +108,7 @@ the version number.
Note on CMake: Note on CMake:
CMake generates FL/abi-version.h in the build tree. You may run CMake generates FL/abi-version.h in the build tree. You may run
'make install' to install the FLTK library including the headers in 'make install' to install the FLTK library including all headers in
the chosen installation directory, although this is not necessary. the chosen installation directory, although this is not necessary.
The FLTK team recommends to use the FLTK library directly from the The FLTK team recommends to use the FLTK library directly from the

View File

@ -3,7 +3,7 @@
* *
* Configuration file for the Fast Light Tool Kit (FLTK). * Configuration file for the Fast Light Tool Kit (FLTK).
* *
* Copyright 1998-2015 by Bill Spitzak and others. * Copyright 1998-2016 by Bill Spitzak and others.
* *
* This library is free software. Distribution and use rights are outlined in * 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 * the file "COPYING" which should have been included with this file. If this
@ -22,7 +22,7 @@
============================================================================ ============================================================================
*/ */
/* define FL_ABI_VERSION as 10x0y for FLTK ABI version 1.x.y */ /* define FL_ABI_VERSION: 1xxyy for 1.x.y (xx,yy with leading zero) */
#cmakedefine FL_ABI_VERSION @FL_ABI_VERSION@ #cmakedefine FL_ABI_VERSION @FL_ABI_VERSION@

View File

@ -3,7 +3,7 @@
* *
* Configuration file for the Fast Light Tool Kit (FLTK). * Configuration file for the Fast Light Tool Kit (FLTK).
* *
* Copyright 1998-2015 by Bill Spitzak and others. * Copyright 1998-2016 by Bill Spitzak and others.
* *
* This library is free software. Distribution and use rights are outlined in * 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 * the file "COPYING" which should have been included with this file. If this
@ -22,7 +22,7 @@
============================================================================ ============================================================================
*/ */
/* define FL_ABI_VERSION as 10x0y for FLTK ABI version 1.x.y */ /* define FL_ABI_VERSION: 1xxyy for 1.x.y (xx,yy with leading zero) */
#undef FL_ABI_VERSION #undef FL_ABI_VERSION