fix build with internal libdvdread

This commit is contained in:
Dominik Mierzejewski 2007-11-22 19:08:40 +00:00
parent bc19abc705
commit 40ac42ba36
3 changed files with 135 additions and 17 deletions

View File

@ -1,18 +1,20 @@
diff -up libdvdnav-4.1.1/Makefile.destdir libdvdnav-4.1.1/Makefile
--- libdvdnav-4.1.1/Makefile.destdir 2007-11-21 21:00:45.000000000 +0100
+++ libdvdnav-4.1.1/Makefile 2007-11-21 21:01:59.000000000 +0100
@@ -112,39 +112,39 @@ ${DVDREAD_SHLIB}: version.h $(.OBJDIR) $
--- libdvdnav-4.1.1/Makefile.destdir 2007-11-21 19:18:49.000000000 +0100
+++ libdvdnav-4.1.1/Makefile 2007-11-21 19:19:10.000000000 +0100
@@ -115,45 +115,45 @@ endif
# Install targets
install-headers:
- install -d $(incdir)
- install -m 644 $(HEADERS) $(incdir)
- install -d $(dvdread_incdir)
- install -m 644 $(DVDREAD_HEADERS) $(dvdread_incdir)
+ install -d $(DESTDIR)$(incdir)
+ install -m 644 $(HEADERS) $(DESTDIR)$(incdir)
ifeq ($(DVDREAD),internal)
- install -d $(dvdread_incdir)
- install -m 644 $(DVDREAD_HEADERS) $(dvdread_incdir)
+ install -d $(DESTDIR)$(dvdread_incdir)
+ install -m 644 $(DVDREAD_HEADERS) $(DESTDIR)$(dvdread_incdir)
endif
install-shared: $(SHLIB)
- install -d $(shlibdir)
@ -24,9 +26,6 @@ diff -up libdvdnav-4.1.1/Makefile.destdir libdvdnav-4.1.1/Makefile
install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(MINI_SHLIB) \
- $(shlibdir)/$(MINI_SHLIB).$(SHLIB_VERSION)
+ $(DESTDIR)$(shlibdir)/$(MINI_SHLIB).$(SHLIB_VERSION)
install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \
- $(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION)
+ $(DESTDIR)$(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION)
- cd $(shlibdir) && \
+ cd $(DESTDIR)$(shlibdir) && \
@ -35,30 +34,37 @@ diff -up libdvdnav-4.1.1/Makefile.destdir libdvdnav-4.1.1/Makefile
+ cd $(DESTDIR)$(shlibdir) && \
ln -sf $(MINI_SHLIB).$(SHLIB_VERSION) $(MINI_SHLIB).$(SHLIB_MAJOR)
- cd $(shlibdir) && \
+ cd $(DESTDIR)$(shlibdir) && \
ln -sf $(DVDREAD_SHLIB).$(SHLIB_VERSION) $(DVDREAD_SHLIB).$(SHLIB_MAJOR)
- cd $(shlibdir) && \
+ cd $(DESTDIR)$(shlibdir) && \
ln -sf $(SHLIB).$(SHLIB_MAJOR) $(SHLIB)
- cd $(shlibdir) && \
+ cd $(DESTDIR)$(shlibdir) && \
ln -sf $(MINI_SHLIB).$(SHLIB_MAJOR) $(MINI_SHLIB)
ifeq ($(DVDREAD),internal)
install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \
- $(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION)
- cd $(shlibdir) && \
+ $(DESTDIR)$(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION)
+ cd $(DESTDIR)$(shlibdir) && \
ln -sf $(DVDREAD_SHLIB).$(SHLIB_VERSION) $(DVDREAD_SHLIB).$(SHLIB_MAJOR)
- cd $(shlibdir) && \
+ cd $(DESTDIR)$(shlibdir) && \
ln -sf $(DVDREAD_SHLIB).$(SHLIB_MAJOR) $(DVDREAD_SHLIB)
endif
install-static: $(LIB)
- install -d $(libdir)
+ install -d $(DESTDIR)$(libdir)
- install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(LIB) $(libdir)/$(LIB)
- install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) $(libdir)/$(DVDREAD_LIB)
+ install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(LIB) $(DESTDIR)$(libdir)/$(LIB)
ifeq ($(DVDREAD),internal)
- install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) $(libdir)/$(DVDREAD_LIB)
+ install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) $(DESTDIR)$(libdir)/$(DVDREAD_LIB)
endif
# Clean targets
@@ -168,8 +168,8 @@ dvdnav-config: $(.OBJDIR)
@@ -178,8 +178,8 @@ dvdnav-config: $(.OBJDIR)
chmod 0755 $(SRC_PATH_BARE)/$(.OBJDIR)/dvdnav-config
install-dvdnav-config: dvdnav-config
@ -70,8 +76,8 @@ diff -up libdvdnav-4.1.1/Makefile.destdir libdvdnav-4.1.1/Makefile
vpath %.so ${.OBJDIR}
diff -up libdvdnav-4.1.1/configure2.destdir libdvdnav-4.1.1/configure2
--- libdvdnav-4.1.1/configure2.destdir 2007-11-21 21:00:45.000000000 +0100
+++ libdvdnav-4.1.1/configure2 2007-11-21 21:00:45.000000000 +0100
--- libdvdnav-4.1.1/configure2.destdir 2007-11-21 19:18:49.000000000 +0100
+++ libdvdnav-4.1.1/configure2 2007-11-21 19:18:49.000000000 +0100
@@ -127,11 +127,11 @@ esac
cat > config.mak << EOF
# Automatically generated by configure, do not edit

View File

@ -0,0 +1,107 @@
diff -up libdvdnav-4.1.1/Makefile.dvdread libdvdnav-4.1.1/Makefile
--- libdvdnav-4.1.1/Makefile.dvdread 2007-11-22 20:02:30.000000000 +0100
+++ libdvdnav-4.1.1/Makefile 2007-11-22 20:03:06.000000000 +0100
@@ -21,10 +21,12 @@ CFLAGS += -I$(CURDIR) -I$(SRC_PATH)/src
CFLAGS += -DDVDNAV_COMPILE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
CFLAGS += -DHAVE_CONFIG_H -DHAVE_DLFCN_H
-ifeq ($(DVDREAD),internal)
L=libdvdnav
MINI_L=libdvdnavmini
+ifeq ($(DVDREAD),internal)
DVDREAD_L=libdvdread
+DVDREAD_LIB = $(DVDREAD_L).a
+DVDREAD_SHLIB = $(DVDREAD_L).so
VPATH+= $(SRC_PATH_BARE)/src/dvdread
DVDREAD_HEADERS = src/dvdread/dvd_reader.h \
src/dvdread/ifo_print.h \
@@ -38,15 +40,12 @@ DVDREAD_SRCS = dvd_input.c dvd_reader.c
md5.c nav_print.c nav_read.c
CFLAGS += -I$(SRC_PATH)/src/dvdread
else
-L=libdvdnavmini
CFLAGS += -I$(DVDREAD_DIR)
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
@@ -91,16 +90,25 @@ $(.OBJDIR):
${LIB}: version.h $(.OBJDIR) $(OBJS) $(BUILDDEPS)
cd $(.OBJDIR) && $(AR) rc $@ $(OBJS)
cd $(.OBJDIR) && $(RANLIB) $@
+ifeq ($(DVDREAD),internal)
${DVDREAD_LIB}: version.h $(.OBJDIR) $(DVDREAD_OBJS) $(BUILDDEPS)
cd $(.OBJDIR) && $(AR) rc $@ $(DVDREAD_OBJS)
cd $(.OBJDIR) && $(RANLIB) $@
+endif
+ifeq ($(DVDREAD),internal)
+${SHLIB}: version.h $(.OBJDIR) $(SHOBJS) $(BUILDDEPS) $(DVDREAD_SHLIB)
+ cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -L. -Wl,-soname=$(SHLIB).$(SHLIB_MAJOR) -o $@ $(SHOBJS) -ldvdread $(THREADLIB)
+else
${SHLIB}: version.h $(.OBJDIR) $(SHOBJS) $(BUILDDEPS)
cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -Wl,-soname=$(SHLIB).$(SHLIB_MAJOR) -o $@ $(SHOBJS) -ldvdread $(THREADLIB)
+endif
${MINI_SHLIB}: version.h $(.OBJDIR) $(SHOBJS) $(BUILDDEPS)
cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -Wl,-soname=$(MINI_SHLIB).$(SHLIB_MAJOR) -o $@ $(SHOBJS) $(THREADLIB)
+ifeq ($(DVDREAD),internal)
${DVDREAD_SHLIB}: version.h $(.OBJDIR) $(DVDREAD_SHOBJS) $(BUILDDEPS)
cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) -ldl -Wl,-soname=$(DVDREAD_SHLIB).$(SHLIB_MAJOR) -o $@ $(DVDREAD_SHOBJS)
+endif
.c.so: $(BUILDDEPS)
cd $(.OBJDIR) && $(CC) -fPIC -DPIC -MD $(CFLAGS) -c -o $@ $<
@@ -114,8 +122,10 @@ ${DVDREAD_SHLIB}: version.h $(.OBJDIR) $
install-headers:
install -d $(incdir)
install -m 644 $(HEADERS) $(incdir)
+ifeq ($(DVDREAD),internal)
install -d $(dvdread_incdir)
install -m 644 $(DVDREAD_HEADERS) $(dvdread_incdir)
+endif
install-shared: $(SHLIB)
install -d $(shlibdir)
@@ -124,27 +134,32 @@ install-shared: $(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)
+
+ifeq ($(DVDREAD),internal)
+ install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \
+ $(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION)
+ cd $(shlibdir) && \
+ ln -sf $(DVDREAD_SHLIB).$(SHLIB_VERSION) $(DVDREAD_SHLIB).$(SHLIB_MAJOR)
cd $(shlibdir) && \
ln -sf $(DVDREAD_SHLIB).$(SHLIB_MAJOR) $(DVDREAD_SHLIB)
+endif
install-static: $(LIB)
install -d $(libdir)
install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(LIB) $(libdir)/$(LIB)
+ifeq ($(DVDREAD),internal)
install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) $(libdir)/$(DVDREAD_LIB)
+endif
# Clean targets

View File

@ -1,6 +1,6 @@
Name: libdvdnav
Version: 4.1.1
Release: 2%{?dist}
Release: 3%{?dist}
Summary: A library for reading DVD video discs based on Ogle code
Group: System Environment/Libraries
@ -10,6 +10,7 @@ Patch1: %{name}-svn.patch
Patch2: %{name}-version.patch
Patch3: %{name}-libdir.patch
Patch4: %{name}-soname.patch
Patch5: %{name}-external-dvdread.patch
Patch6: %{name}-destdir.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -54,6 +55,7 @@ This package contains development files for libdvdread.
%patch2 -p1
%patch3 -p0
%patch4 -p0
%patch5 -p1 -b .dvdread
%patch6 -p1 -b .destdir
%build
@ -115,6 +117,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libdvdread.so
%changelog
* Thu Nov 22 2007 Dominik Mierzejewski <rpm[AT]greysector.net> 4.1.1-3
- fix build with internal libdvdread
* Wed Nov 21 2007 Dominik Mierzejewski <rpm[AT]greysector.net> 4.1.1-2
- use upstream non-autotools buildsystem
- build with external libdvdread for older releases