New API call isoburn_is_compatible()

This commit is contained in:
2008-01-29 18:44:54 +00:00
parent 7bb454bb64
commit 0523d4ee49
8 changed files with 122 additions and 24 deletions

View File

@ -9,24 +9,30 @@ AM_INIT_AUTOMAKE([subdir-objects])
BURN_MAJOR_VERSION=0
BURN_MINOR_VERSION=4
BURN_MICRO_VERSION=1
BURN_MICRO_VERSION=3
AC_SUBST(BURN_MAJOR_VERSION)
AC_SUBST(BURN_MINOR_VERSION)
AC_SUBST(BURN_MICRO_VERSION)
LIBISOFS_MAJOR_VERSION=0
LIBISOFS_MINOR_VERSION=5
LIBISOFS_MICRO_VERSION=0
LIBISOFS_MINOR_VERSION=6
LIBISOFS_MICRO_VERSION=1
AC_SUBST(LIBISOFS_MAJOR_VERSION)
AC_SUBST(LIBISOFS_MINOR_VERSION)
AC_SUBST(LIBISOFS_MICRO_VERSION)
ISOBURN_MAJOR_VERSION=0
ISOBURN_MINOR_VERSION=0
ISOBURN_MICRO_VERSION=1
AC_SUBST(ISOBURN_MAJOR_VERSION)
AC_SUBST(ISOBURN_MINOR_VERSION)
AC_SUBST(ISOBURN_MICRO_VERSION)
dnl The API version codes are now defined in libisoburn/libisoburn.h
dnl #define isoburn_header_version_*
dnl configure.ac only rules the libtool revision numbering about
dnl LT_CURREN, LT_AGE, LT_REVISION where SONAME becomes LT_CURRENT - LT_AGE
dnl
dnl These three are only copies to provide libtool with unused LT_RELEASE
dnl ISOBURN_MAJOR_VERSION=0
dnl ISOBURN_MINOR_VERSION=0
dnl ISOBURN_MICRO_VERSION=1
dnl AC_SUBST(ISOBURN_MAJOR_VERSION)
dnl AC_SUBST(ISOBURN_MINOR_VERSION)
dnl AC_SUBST(ISOBURN_MICRO_VERSION)
AC_PREFIX_DEFAULT([/usr/local])
@ -61,6 +67,18 @@ AC_CHECK_MEMBER([struct tm.tm_gmtoff],
,
[#include <time.h>])
dnl Check if non standard timegm() function is available
AC_CHECK_DECL([timegm],
[AC_DEFINE(HAVE_TIMEGM, 1, [Define this if timegm function is available])],
,
[#include <time.h>])
dnl Check if non standard eaccess() function is available
AC_CHECK_DECL([eaccess],
[AC_DEFINE(HAVE_EACCESS, 1, [Define this if eaccess function is available])],
,
[#include <unistd.h>])
THREAD_LIBS=-lpthread
AC_SUBST(THREAD_LIBS)

View File

@ -1 +1 @@
#define Xorriso_timestamP "2008.01.29.125956"
#define Xorriso_timestamP "2008.01.29.184356"

View File

@ -76,7 +76,7 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag)
{
int ret;
int ret, major, minor, micro;
char *handler_prefix= NULL;
char *queue_sev, *print_sev, reason[1024];
@ -101,6 +101,19 @@ int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag)
free(handler_prefix);
return(0);
}
ret= isoburn_is_compatible(isoburn_header_version_major,
isoburn_header_version_minor,
isoburn_header_version_micro, 0);
if(ret<=0) {
isoburn_version(&major, &minor, &micro);
sprintf(xorriso->info_text,
"libisoburn version too old: %d.%d.%d . Need at least: %d.%d.%d .\n",
major, minor, micro,
isoburn_header_version_major, isoburn_header_version_minor,
isoburn_header_version_micro);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FATAL", 0);
return(-1);
}
if(reason[0]) {
sprintf(xorriso->info_text, "%s", reason);