From a7b4cf056087c1029f771f942662bb91650b402d Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 26 Jan 2008 12:06:26 +0000 Subject: [PATCH] Introduced versioning (still pre-release) and new API function isoburn_version() --- configure.ac | 38 ++++++++++++------------------------- libisoburn/burn_wrap.c | 6 ++++-- libisoburn/isoburn.c | 11 +++++++++++ libisoburn/libisoburn.h | 16 ++++++++++++++++ version.h.in | 6 +++--- xorriso/xorriso_timestamp.h | 2 +- 6 files changed, 47 insertions(+), 32 deletions(-) diff --git a/configure.ac b/configure.ac index 240e533e..85b6c9ca 100644 --- a/configure.ac +++ b/configure.ac @@ -7,35 +7,21 @@ AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([subdir-objects]) -dnl Making releases: -dnl BURN_MICRO_VERSION += 1; -dnl BURN_INTERFACE_AGE += 1; -dnl BURN_BINARY_AGE += 1; -dnl if any functions have been added, set BURN_INTERFACE_AGE to 0. -dnl if backwards compatibility has been broken, -dnl set BURN_BINARY_AGE and BURN_INTERFACE_AGE to 0. -dnl -dnl if MAJOR or MINOR version changes, be sure to change AC_INIT above to match -dnl -BURN_MAJOR_VERSION=0 -BURN_MINOR_VERSION=0 -BURN_MICRO_VERSION=1 -BURN_INTERFACE_AGE=0 -BURN_BINARY_AGE=0 -BURN_VERSION=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION +ISOBURN_MAJOR_VERSION=0 +ISOBURN_MINOR_VERSION=0 +ISOBURN_MICRO_VERSION=1 +ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION -AC_SUBST(BURN_MAJOR_VERSION) -AC_SUBST(BURN_MINOR_VERSION) -AC_SUBST(BURN_MICRO_VERSION) -AC_SUBST(BURN_INTERFACE_AGE) -AC_SUBST(BURN_BINARY_AGE) -AC_SUBST(BURN_VERSION) +AC_SUBST(ISOBURN_MAJOR_VERSION) +AC_SUBST(ISOBURN_MINOR_VERSION) +AC_SUBST(ISOBURN_MICRO_VERSION) +AC_SUBST(ISOBURN_VERSION) dnl Libtool versioning -LT_RELEASE=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION -LT_CURRENT=`expr $BURN_MICRO_VERSION - $BURN_INTERFACE_AGE` -LT_REVISION=$BURN_INTERFACE_AGE -LT_AGE=`expr $BURN_BINARY_AGE - $BURN_INTERFACE_AGE` +LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION +LT_CURRENT=0 +LT_AGE=0 +LT_REVISION=1 LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE` AC_SUBST(LT_RELEASE) diff --git a/libisoburn/burn_wrap.c b/libisoburn/burn_wrap.c index 4386a2d3..7740e41d 100644 --- a/libisoburn/burn_wrap.c +++ b/libisoburn/burn_wrap.c @@ -57,17 +57,19 @@ int isoburn_initialize(char msg[1024], int flag) return(0); } iso_lib_version(&major, &minor, µ); - sprintf(msg+strlen(msg), "libisofs version %d.%d.%d , ", major, minor, micro); + sprintf(msg+strlen(msg), "libisofs-%d.%d.%d , ", major, minor, micro); if(!burn_initialize()) { sprintf(msg+strlen(msg), "Cannot initialize libburn\n"); return(0); } burn_version(&major, &minor, µ); - sprintf(msg+strlen(msg), "libburn version %d.%d.%d , ", major, minor, micro); + sprintf(msg+strlen(msg), "libburn-%d.%d.%d , ", major, minor, micro); isoburn_destroy_all(&isoburn_list_start, 0); /* isoburn_list_start= NULL */ + isoburn_version(&major, &minor, µ); + sprintf(msg+strlen(msg), "libisoburn-%d.%d.%d", major, minor, micro); return(1); } diff --git a/libisoburn/isoburn.c b/libisoburn/isoburn.c index e81af5a4..07b7b7b2 100644 --- a/libisoburn/isoburn.c +++ b/libisoburn/isoburn.c @@ -34,8 +34,10 @@ #include "libisoburn.h" + #include "isoburn.h" +#include "../version.h" /* -------------------------- isoburn ----------------------- */ @@ -381,3 +383,12 @@ int isoburn_prepare_new_image(struct burn_drive *d, struct burn_disc **disc, { return isoburn_prepare_disc_aux(d, disc, opts, 1); } + + +void isoburn_version(int *major, int *minor, int *micro) +{ + *major = ISOBURN_MAJOR_VERSION; + *minor = ISOBURN_MINOR_VERSION; + *micro = ISOBURN_MICRO_VERSION; +} + diff --git a/libisoburn/libisoburn.h b/libisoburn/libisoburn.h index 15a9591f..2bca6aef 100644 --- a/libisoburn/libisoburn.h +++ b/libisoburn/libisoburn.h @@ -49,6 +49,22 @@ are appropriate for particular target "drives". int isoburn_initialize(char msg[1024], int flag); +/** Obtain the three release version numbers of the library. + @param major The maturity version (0 for now, as we are still learning) + @param minor The development goal version. + @param micro The development step version. This has an additional meaning: + Pare numbers indicate a version with frozen API. I.e. you can + rely on the same set of features to be present in all + published releases with that major.minor.micro combination. + Odd numbers indicate that API upgrades are in progress. + I.e. new features might be already present or they might + be still missing. You need to check before compiling an + application which relies on freshly introduced features. +*/ +void isoburn_version(int *major, int *minor, int *micro); + + + /** Aquire a target drive by its filesystem path resp. libburn persistent address. Wrapper for: burn_drive_scan_and_grab() diff --git a/version.h.in b/version.h.in index 13ada991..bf3eea11 100644 --- a/version.h.in +++ b/version.h.in @@ -1,3 +1,3 @@ -#define BURN_MAJOR_VERSION @BURN_MAJOR_VERSION@ -#define BURN_MINOR_VERSION @BURN_MINOR_VERSION@ -#define BURN_MICRO_VERSION @BURN_MICRO_VERSION@ +#define ISOBURN_MAJOR_VERSION @ISOBURN_MAJOR_VERSION@ +#define ISOBURN_MINOR_VERSION @ISOBURN_MINOR_VERSION@ +#define ISOBURN_MICRO_VERSION @ISOBURN_MICRO_VERSION@ diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 887cdcd3..d663ef35 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2008.01.26.113604" +#define Xorriso_timestamP "2008.01.26.120534"