From bd8d4bb49fb083a74f61df37e49c04b6d48529fd Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 6 Feb 2008 18:23:06 +0000 Subject: [PATCH] Copied usage discussion about *_header_version_* from libisoburn --- cdrskin/cdrskin_timestamp.h | 2 +- libburn/libburn.h | 42 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 682a727..39ff656 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2008.02.06.174009" +#define Cdrskin_timestamP "2008.02.06.182222" diff --git a/libburn/libburn.h b/libburn/libburn.h index afc4a30..0f5f034 100644 --- a/libburn/libburn.h +++ b/libburn/libburn.h @@ -2072,6 +2072,48 @@ void burn_version(int *major, int *minor, int *micro); For the library compatibility check BURN_*_VERSION in configure.ac are not decisive. Only the three numbers above do matter. */ +/** Usage discussion: + +Some developers of the libburnia project have differing +opinions how to ensure the compatibility of libaries +and applications. + +It is about whether to use at compile time and at runtime +the version numbers isoburn_header_version_* provided here. +Thomas Schmitt advises to use them. +Vreixo Formoso advises to use other means. + +At compile time: + +Vreixo Formoso advises to leave proper version matching +to properly programmed checks in the the application's +build system, which will eventually refuse compilation. + +Thomas Schmitt advises to use the macros defined here +for comparison with the application's requirements of +library revisions and to eventually break compilation. + +Both advises are combinable. I.e. be master of your +build system and have #if checks in the source code +of your application, nevertheless. + +At runtime (via *_is_compatible()): + +Vreixo Formoso advises to compare the application's +requirements of library revisions with the runtime +library. This is to allow runtime libraries which are +young enough for the application but too old for +the lib*.h files seen at compile time. + +Thomas Schmitt advises to compare the header +revisions defined here with the runtime library. +This is to enforce a strictly monotonous chain +of revisions from app to header to library, +at the cost of excluding some older libraries. + +These two advises are mutually exclusive. + +*/ /* ts A60924 : ticket 74 */