Index: src/dvdread/ifo_print.h =================================================================== --- src/dvdread/ifo_print.h (revision 956) +++ src/dvdread/ifo_print.h (revision 966) @@ -24,7 +24,7 @@ #ifdef DVDNAV_COMPILE # include "ifo_types.h" #else -# include /* Only for vm_cmd_t */ +# include /* Only for vm_cmd_t */ #endif void ifo_print(dvd_reader_t *dvd, int title); Index: src/dvdread/Makefile.am =================================================================== --- src/dvdread/Makefile.am (revision 956) +++ src/dvdread/Makefile.am (revision 966) @@ -13,7 +13,7 @@ libdvdread_la_LIBADD = $(DYNAMIC_LD_LIBS) libdvdread_la_LDFLAGS = -version-info $(DVDNAV_LT_CURRENT):$(DVDNAV_LT_REVISION):$(DVDNAV_LT_AGE) \ - -export-symbols-regex "(^dvd.*|^nav.*|^ifo.*|^DVD.*)" + -export-symbols-regex "(^dvd.*|^nav.*|^ifo.*|^DVD.*|^UDF.*)" include_HEADERS = dvd_reader.h nav_read.h ifo_read.h \ - nav_print.h ifo_print.h ifo_types.h nav_types.h + nav_print.h ifo_print.h ifo_types.h nav_types.h dvd_udf.h Index: misc/dvdnav-config2.sh =================================================================== --- misc/dvdnav-config2.sh (revision 956) +++ misc/dvdnav-config2.sh (revision 966) @@ -1,6 +1,7 @@ +dvdreadlib="-ldvdread" +dvdreadmsg="[--minilibs]" if test "$dvdread" = "external"; then - dvdreadlib="-ldvdread" - dvdreadmsg="[--minilibs --minicflags]" + dvdreadmsg="[--minicflags]" dvdreadcflags="-I$dvdreaddir" extracflags="-DDVDNAV_USES_EXTERNAL_DVDREAD" fi @@ -50,11 +51,7 @@ echo_libs=yes ;; --minilibs) - if test "$dvdread" = "external"; then echo_minilibs=yes - else - usage 1 1>&2 - fi ;; *) usage 1 1>&2 Index: configure2 =================================================================== --- configure2 (revision 956) +++ configure2 (revision 966) @@ -102,7 +102,7 @@ test -z $libdir && libdir=$PREFIX/lib test -z $shlibdir && shlibdir=$PREFIX/lib -test -z $incdir && incdir=$PREFIX/include/dvdnav +test -z $incdir && incdir=$PREFIX/include/dvdnav && dvdread_incdir=$PREFIX/include/dvdread if [ "$DVDREAD" != "internal" ] ; then if [ -d "$DVDREAD" -a -f "$DVDREAD/dvd_reader.h" ] ; then @@ -131,6 +131,7 @@ libdir=\$(DESTDIR)$libdir shlibdir=\$(DESTDIR)$shlibdir incdir=\$(DESTDIR)$incdir +dvdread_incdir=\$(DESTDIR)$dvdread_incdir THREADLIB=$threadlib BUILD_SHARED=$SHARED BUILD_STATIC=$STATIC Index: Makefile =================================================================== --- Makefile (revision 956) +++ Makefile (revision 966) @@ -23,15 +23,18 @@ ifeq ($(DVDREAD),internal) L=libdvdnav +MINI_L=libdvdnavmini +DVDREAD_L=libdvdread VPATH+= $(SRC_PATH_BARE)/src/dvdread -HEADERS += src/dvdread/dvd_reader.h \ +DVDREAD_HEADERS = src/dvdread/dvd_reader.h \ src/dvdread/ifo_print.h \ src/dvdread/ifo_read.h \ src/dvdread/ifo_types.h \ src/dvdread/nav_print.h \ src/dvdread/nav_read.h \ + src/dvdread/dvd_udf.h \ src/dvdread/nav_types.h -SRCS+= dvd_input.c dvd_reader.c dvd_udf.c ifo_print.c ifo_read.c \ +DVDREAD_SRCS = dvd_input.c dvd_reader.c dvd_udf.c ifo_print.c ifo_read.c \ md5.c nav_print.c nav_read.c CFLAGS += -I$(SRC_PATH)/src/dvdread else @@ -40,25 +43,31 @@ endif LIB = $(L).a +DVDREAD_LIB = $(DVDREAD_L).a SHLIB = $(L).so +MINI_SHLIB = $(MINI_L).so +DVDREAD_SHLIB = $(DVDREAD_L).so .OBJDIR= obj DEPFLAG = -M OBJS = $(patsubst %.c,%.o, $(SRCS)) +DVDREAD_OBJS = $(patsubst %.c,%.o, $(DVDREAD_SRCS)) SHOBJS = $(patsubst %.c,%.so, $(SRCS)) +DVDREAD_SHOBJS = $(patsubst %.c,%.so, $(DVDREAD_SRCS)) DEPS= ${OBJS:%.o=%.d} +DVDREAD_DEPS= ${DVDREAD_OBJS:%.o=%.d} BUILDDEPS = Makefile config.mak ifeq ($(BUILD_SHARED),yes) -all: $(SHLIB) dvdnav-config -install: $(SHLIB) install-shared install-dvdnav-config +all: $(SHLIB) $(MINI_SHLIB) $(DVDREAD_SHLIB) dvdnav-config +install: $(SHLIB) $(DVDREAD_SHLIB) install-shared install-dvdnav-config endif ifeq ($(BUILD_STATIC),yes) -all: $(LIB) dvdnav-config -install: $(LIB) install-static install-dvdnav-config +all: $(LIB) $(DVDREAD_LIB) dvdnav-config +install: $(LIB) $(DVDREAD_LIB) install-static install-dvdnav-config endif install: install-headers @@ -82,9 +91,16 @@ ${LIB}: version.h $(.OBJDIR) $(OBJS) $(BUILDDEPS) cd $(.OBJDIR) && $(AR) rc $@ $(OBJS) cd $(.OBJDIR) && $(RANLIB) $@ +${DVDREAD_LIB}: version.h $(.OBJDIR) $(DVDREAD_OBJS) $(BUILDDEPS) + cd $(.OBJDIR) && $(AR) rc $@ $(DVDREAD_OBJS) + cd $(.OBJDIR) && $(RANLIB) $@ ${SHLIB}: version.h $(.OBJDIR) $(SHOBJS) $(BUILDDEPS) - cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) $(THREADLIB) -o $@ $(SHOBJS) + cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -o $@ $(SHOBJS) -ldvdread $(THREADLIB) +${MINI_SHLIB}: version.h $(.OBJDIR) $(SHOBJS) $(BUILDDEPS) + cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -o $@ $(SHOBJS) $(THREADLIB) +${DVDREAD_SHLIB}: version.h $(.OBJDIR) $(DVDREAD_SHOBJS) $(BUILDDEPS) + cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -ldl -o $@ $(DVDREAD_SHOBJS) .c.so: $(BUILDDEPS) cd $(.OBJDIR) && $(CC) -fPIC -DPIC -MD $(CFLAGS) -c -o $@ $< @@ -98,22 +114,37 @@ install-headers: install -d $(incdir) install -m 644 $(HEADERS) $(incdir) + install -d $(dvdread_incdir) + install -m 644 $(DVDREAD_HEADERS) $(dvdread_incdir) install-shared: $(SHLIB) install -d $(shlibdir) install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(SHLIB) \ $(shlibdir)/$(SHLIB).$(SHLIB_VERSION) + install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(MINI_SHLIB) \ + $(shlibdir)/$(MINI_SHLIB).$(SHLIB_VERSION) + install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \ + $(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION) cd $(shlibdir) && \ ln -sf $(SHLIB).$(SHLIB_VERSION) $(SHLIB).$(SHLIB_MAJOR) cd $(shlibdir) && \ + ln -sf $(MINI_SHLIB).$(SHLIB_VERSION) $(MINI_SHLIB).$(SHLIB_MAJOR) + cd $(shlibdir) && \ + ln -sf $(DVDREAD_SHLIB).$(SHLIB_VERSION) $(DVDREAD_SHLIB).$(SHLIB_MAJOR) + cd $(shlibdir) && \ ln -sf $(SHLIB).$(SHLIB_MAJOR) $(SHLIB) + cd $(shlibdir) && \ + ln -sf $(MINI_SHLIB).$(SHLIB_MAJOR) $(MINI_SHLIB) + cd $(shlibdir) && \ + ln -sf $(DVDREAD_SHLIB).$(SHLIB_MAJOR) $(DVDREAD_SHLIB) install-static: $(LIB) install -d $(libdir) install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(LIB) $(libdir)/$(LIB) + install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) $(libdir)/$(DVDREAD_LIB) # Clean targets