diff -r -u libcdio/configure.ac libcdio-new/configure.ac --- libcdio/configure.ac Thu Jun 19 13:41:40 2008 +++ libcdio-new/configure.ac Tue Jun 24 11:09:21 2008 @@ -355,6 +355,9 @@ fi dnl +dnl Enable the creation of shared libraries under Win32. +AC_LIBTOOL_WIN32_DLL + dnl AM_PROG_LIBTOOL tests whether we have GNU ld dnl this must come before checking --with-versioned-libs dnl which requires GNU ld. @@ -406,7 +409,7 @@ dnl Checks for header files. LIBCDIO_CDDA_LIBS='$(top_builddir)/lib/cdda_interface/libcdio_cdda.la' -LIBCDIO_CFLAGS='-I$(top_srcdir)/lib/driver -I$(top_srcdir)/include/' +LIBCDIO_CFLAGS='-I$(top_srcdir)/lib/driver -I$(top_builddir)/include -I$(top_srcdir)/include/' LIBCDIO_LIBS='$(top_builddir)/lib/driver/libcdio.la' LIBCDIO_DEPS="$LIBCDIO_LIBS" LIBCDIOPP_LIBS='$(top_builddir)/lib/cdio++/libcdio++.la' @@ -427,6 +430,9 @@ AC_SUBST(LIBISO9660_LIBS) AC_SUBST(LIBUDF_LIBS) +dnl Libtool flag for strict linkage +LT_NO_UNDEFINED= + case $host_os in aix*) ## Don't use AIX driver until starts to really work @@ -502,11 +508,13 @@ defined as a variable. In cygwin it is a function too]) ;; mingw*) + AC_CHECK_HEADERS(windows.h) AC_DEFINE([MINGW32], [1], [Define 1 if you are compiling using MinGW]) AC_DEFINE([HAVE_WIN32_CDROM], [1], [Define 1 if you have MinGW CD-ROM support]) LIBS="$LIBS -lwinmm -mwindows" + LT_NO_UNDEFINED="-no-undefined" cd_drivers="${cd_drivers}, MinGW " ;; freebsd4.*|freebsd5.*|freebsd6*|freebsd7*|dragonfly*|kfreebsd*) @@ -527,6 +535,8 @@ ;; esac +AC_SUBST(LT_NO_UNDEFINED) + AC_MSG_CHECKING(extern long timezone variable) AC_LINK_IFELSE([ #ifdef NEED_TIMEZONEVAR @@ -561,7 +571,8 @@ AC_CHECK_FUNCS( [bzero drand48 ftruncate geteuid getgid \ getuid getpwuid gettimeofday lstat memcpy memset \ - rand seteuid setegid snprintf tzset vsnprintf readlink] ) + rand seteuid setegid snprintf setenv unsetenv tzset \ + sleep vsnprintf readlink gmtime_r localtime_r] ) # check for timegm() support AC_CHECK_FUNC(timegm, AC_DEFINE(HAVE_TIMEGM,1, diff -r -u libcdio/example/cdchange.c libcdio-new/example/cdchange.c --- libcdio/example/cdchange.c Mon Mar 24 15:30:55 2008 +++ libcdio-new/example/cdchange.c Tue Jun 24 11:11:44 2008 @@ -38,6 +38,22 @@ #ifdef HAVE_ERRNO_H # include #endif + +#ifdef HAVE_WINDOWS_H +# include +#endif + +#ifndef HAVE_SLEEP +static void +sleep(unsigned int ms) +{ +#if defined(_WIN32) + Sleep(ms); +#else +#error sleep() unimplemented +#endif +} +#endif #include int diff -r -u libcdio/lib/cdda_interface/Makefile.am libcdio-new/lib/cdda_interface/Makefile.am --- libcdio/lib/cdda_interface/Makefile.am Fri Jun 13 19:26:22 2008 +++ libcdio-new/lib/cdda_interface/Makefile.am Tue Jun 24 10:30:35 2008 @@ -57,7 +57,7 @@ lib_LTLIBRARIES = libcdio_cdda.la libcdio_cdda_la_SOURCES = $(libcdio_cdda_sources) -libcdio_cdda_la_ldflags = -version-info $(libcdio_cdda_la_CURRENT):$(libcdio_cdda_la_REVISION):$(libcdio_cdda_la_AGE) +libcdio_cdda_la_ldflags = -version-info $(libcdio_cdda_la_CURRENT):$(libcdio_cdda_la_REVISION):$(libcdio_cdda_la_AGE) @LT_NO_UNDEFINED@ INCLUDES = $(LIBCDIO_CFLAGS) diff -r -u libcdio/lib/cdda_interface/scsi_interface.c libcdio-new/lib/cdda_interface/scsi_interface.c --- libcdio/lib/cdda_interface/scsi_interface.c Fri Jun 13 19:26:23 2008 +++ libcdio-new/lib/cdda_interface/scsi_interface.c Tue Jun 24 10:16:12 2008 @@ -575,7 +575,7 @@ static int scsi_read_toc2 (cdrom_drive_t *d) { - u_int32_t foo,bar; + uint32_t foo,bar; int i; track_t i_tracks; diff -r -u libcdio/lib/cdio++/Makefile.am libcdio-new/lib/cdio++/Makefile.am --- libcdio/lib/cdio++/Makefile.am Thu Mar 20 19:02:38 2008 +++ libcdio-new/lib/cdio++/Makefile.am Tue Jun 24 09:45:13 2008 @@ -50,7 +50,7 @@ libcdiopp_sources = cdio.cpp devices.cpp libcdio___la_SOURCES = $(libcdiopp_sources) -libcdio___la_ldflags = -version-info $(libcdiopp_la_CURRENT):$(libcdiopp_la_REVISION):$(libcdiopp_la_AGE) +libcdio___la_ldflags = -version-info $(libcdiopp_la_CURRENT):$(libcdiopp_la_REVISION):$(libcdiopp_la_AGE) @LT_NO_UNDEFINED@ libiso9660pp_la_CURRENT = 0 libiso9660pp_la_REVISION = 0 @@ -59,6 +59,6 @@ libiso9660pp_sources = iso9660.cpp libiso9660___la_SOURCES = $(libiso9660pp_sources) -libiso9660___la_ldflags = -version-info $(libiso9660pp_la_CURRENT):$(libiso9660pp_la_REVISION):$(libiso9660pp_la_AGE) +libiso9660___la_ldflags = -version-info $(libiso9660pp_la_CURRENT):$(libiso9660pp_la_REVISION):$(libiso9660pp_la_AGE) @LT_NO_UNDEFINED@ -INCLUDES = -I$(top_srcdir)/include/ +INCLUDES = -I$(top_srcdir)/include/ -I$(top_builddir)/include diff -r -u libcdio/lib/driver/Makefile.am libcdio-new/lib/driver/Makefile.am --- libcdio/lib/driver/Makefile.am Thu Mar 27 17:40:50 2008 +++ libcdio-new/lib/driver/Makefile.am Tue Jun 24 08:08:43 2008 @@ -101,7 +101,7 @@ libcdio_la_LIBADD = @LIBICONV@ libcdio_la_SOURCES = $(libcdio_sources) -libcdio_la_ldflags = -version-info $(libcdio_la_CURRENT):$(libcdio_la_REVISION):$(libcdio_la_AGE) +libcdio_la_ldflags = -version-info $(libcdio_la_CURRENT):$(libcdio_la_REVISION):$(libcdio_la_AGE) @LT_NO_UNDEFINED@ INCLUDES = $(LIBCDIO_CFLAGS) diff -r -u libcdio/lib/iso9660/Makefile.am libcdio-new/lib/iso9660/Makefile.am --- libcdio/lib/iso9660/Makefile.am Thu Mar 20 19:02:38 2008 +++ libcdio-new/lib/iso9660/Makefile.am Tue Jun 24 08:46:10 2008 @@ -66,7 +66,7 @@ xa.c libiso9660_la_LIBADD = @LIBCDIO_LIBS@ -libiso9660_la_ldflags = -version-info $(libiso9660_la_CURRENT):$(libiso9660_la_REVISION):$(libiso9660_la_AGE) +libiso9660_la_ldflags = -version-info $(libiso9660_la_CURRENT):$(libiso9660_la_REVISION):$(libiso9660_la_AGE) @LT_NO_UNDEFINED@ libiso9660_la_dependencies = libcdio.la INCLUDES = $(LIBCDIO_CFLAGS) diff -r -u libcdio/lib/iso9660/iso9660.c libcdio-new/lib/iso9660/iso9660.c --- libcdio/lib/iso9660/iso9660.c Tue Jun 3 08:40:15 2008 +++ libcdio-new/lib/iso9660/iso9660.c Tue Jun 24 09:36:45 2008 @@ -57,6 +57,22 @@ #include #endif +#ifndef HAVE_SETENV +static int +setenv(const char *envname, const char *envval, int overwrite) +{ + return -1; +} +#endif + +#ifndef HAVE_UNSETENV +static int +unsetenv(const char *envname) +{ + return -1; +} +#endif + #ifndef HAVE_TIMEGM static time_t timegm(struct tm *tm) @@ -76,7 +92,35 @@ return ret; } #endif + +#ifndef HAVE_GMTIME_R +static struct tm * +gmtime_r(const time_t *timer, struct tm *result) +{ + struct tm *tmp = gmtime(timer); + + if (tmp) { + *result = *tmp; + return result; + } + return tmp; +} +#endif +#ifndef HAVE_LOCALTIME_R +static struct tm * +localtime_r(const time_t *timer, struct tm *result) +{ + struct tm *tmp = localtime(timer); + + if (tmp) { + *result = *tmp; + return result; + } + return tmp; +} +#endif + static const char _rcsid[] = "$Id: iso9660.c,v 1.40 2008/06/03 08:40:15 rocky Exp $"; /* Variables to hold debugger-helping enumerations */ diff -r -u libcdio/lib/paranoia/Makefile.am libcdio-new/lib/paranoia/Makefile.am --- libcdio/lib/paranoia/Makefile.am Thu Mar 20 19:02:38 2008 +++ libcdio-new/lib/paranoia/Makefile.am Tue Jun 24 09:42:53 2008 @@ -56,7 +56,7 @@ lib_LTLIBRARIES = libcdio_paranoia.la libcdio_paranoia_la_SOURCES = $(libcdio_paranoia_sources) -libcdio_paranoia_la_ldflags = -version-info $(libcdio_paranoia_la_CURRENT):$(libcdio_paranoia_la_REVISION):$(libcdio_paranoia_la_AGE) +libcdio_paranoia_la_ldflags = -version-info $(libcdio_paranoia_la_CURRENT):$(libcdio_paranoia_la_REVISION):$(libcdio_paranoia_la_AGE) @LT_NO_UNDEFINED@ INCLUDES = $(LIBCDIO_CFLAGS) diff -r -u libcdio/lib/udf/Makefile.am libcdio-new/lib/udf/Makefile.am --- libcdio/lib/udf/Makefile.am Thu Mar 20 19:02:38 2008 +++ libcdio-new/lib/udf/Makefile.am Tue Jun 24 09:42:03 2008 @@ -53,6 +53,6 @@ libudf_la_SOURCES = udf.c udf_file.c udf_fs.c udf_time.c filemode.c -libudf_la_LIBADD = @LIBCDIO_LIBS@ +libudf_la_LIBADD = @LIBCDIO_LIBS@ @LT_NO_UNDEFINED@ INCLUDES = $(LIBCDIO_CFLAGS) diff -r -u libcdio/src/cddb.c libcdio-new/src/cddb.c --- libcdio/src/cddb.c Mon Apr 14 17:30:27 2008 +++ libcdio-new/src/cddb.c Tue Jun 24 10:15:27 2008 @@ -47,7 +47,7 @@ the total length of the disk, and the number of tracks. */ -u_int32_t +uint32_t cddb_discid(CdIo_t *p_cdio, track_t i_tracks) { int i,t,n=0; diff -r -u libcdio/src/cddb.h libcdio-new/src/cddb.h --- libcdio/src/cddb.h Mon Apr 14 17:30:27 2008 +++ libcdio-new/src/cddb.h Tue Jun 24 10:13:50 2008 @@ -37,7 +37,7 @@ the total length of the disk, and the number of tracks. */ -u_int32_t cddb_discid(CdIo_t *p_cdio, track_t i_tracks); +uint32_t cddb_discid(CdIo_t *p_cdio, track_t i_tracks); #ifdef HAVE_CDDB #include