]> git.sesse.net Git - vlc/blobdiff - debian/rules
* bootstrap:
[vlc] / debian / rules
index 3ce57c20491a20168b57d3caf7e70f37531f5511..fb7fb381dc57b8d7f8002aed97dbebb9d6907ba0 100755 (executable)
@@ -13,18 +13,56 @@ export DH_COMPAT=3
 #
 
 CONFIG_FLAGS = --enable-release --prefix=/usr
-CONFIG_FLAGS += --enable-gnome --enable-gtk --enable-familiar --enable-fb --enable-ggi --enable-sdl --enable-esd --enable-qt --enable-mad --enable-arts --enable-alsa --enable-lirc --enable-a52 --enable-aa --enable-dvbpsi --enable-xosd --enable-mozilla --enable-kde --enable-mp4 --enable-dvb --enable-dv --enable-svgalib --enable-satellite
+CONFIG_FLAGS += \
+       --enable-gnome \
+       --enable-gtk \
+       --enable-familiar \
+       --enable-fb \
+       --enable-ggi \
+       --enable-sdl \
+       --enable-esd \
+       --enable-qt \
+       --enable-mad \
+       --enable-arts \
+       --enable-alsa \
+       --enable-lirc \
+       --enable-a52 \
+       --enable-aa \
+       --enable-dvbpsi \
+       --enable-xosd \
+       --enable-mozilla \
+       --enable-kde \
+       --enable-mp4 \
+       --enable-dvb \
+       --enable-dv \
+       --enable-satellite \
+       --enable-ogg \
+       --enable-vorbis \
+       --enable-wxwindows \
+       --enable-slp \
+       --enable-flac \
+       --enable-skins \
+       --disable-basic-skins \
+       --disable-freetype \
+       --disable-mkv \
+       --enable-v4l \
+       $(NULL)
+
+# These ones are currently shipped with VLC
 CONFIG_FLAGS += --enable-ffmpeg --with-ffmpeg-tree=extras/ffmpeg
 CONFIG_FLAGS += --enable-faad --with-faad-tree=extras/faad
-ifeq ($(DEB_BUILD_ARCH),i386)
+CONFIG_FLAGS += --enable-libmpeg2 --with-libmpeg2-tree=extras/mpeg2dec
+
+# Glide is only for x86
+ifeq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386)
 CONFIG_FLAGS += --enable-glide
-else
-ARCH_EXCLUDE = -Nvlc-plugin-glide
+CONFIG_FLAGS += --enable-svgalib
 endif
 
-# Remove --without-dvdcss here in non-totalitarian countries
+# Remove --without-dvdcss in non-totalitarian countries
 CONFIG_FLAGS += --enable-dvd --without-dvdcss
 
+# A few shortcuts
 VIDDIR = usr/share/vlc
 PIXDIR = usr/share/pixmaps
 GNOMEDIR = usr/share/gnome/apps/Multimedia
@@ -33,21 +71,95 @@ GNOMEDIR = usr/share/gnome/apps/Multimedia
 # Build rules
 #
 
-build: build-stamp
-build-stamp:
+configure: configure-stamp
+configure-stamp:
        dh_testdir
 
+       # Touch stuff
+       touch configure.ac \
+       && touch aclocal.m4 \
+       && touch configure \
+       && touch config.h.in \
+       && touch `find . -name Makefile.in`
+
        # Check that we have an ffmpeg tree in here (can be a symlink)
        test -d extras/ffmpeg
-       (cd extras/ffmpeg && ./configure && make)
+       if test ! -d CVS; then \
+         cd extras/ffmpeg \
+         && ./configure \
+         && cd libavcodec \
+         && $(MAKE); \
+       fi
 
        # Check that we have an faad tree in here (can be a symlink)
        test -d extras/faad
-       (cd extras/faad && ./configure && cd libfaad && make)
-
+       if test ! -d CVS; then \
+         cd extras/faad \
+         && touch `find . -name configure.in` \
+         && touch `find . -name aclocal.m4` \
+         && touch `find . -name configure` \
+         && touch `find . -name config.h.in` \
+         && touch `find . -name Makefile.in` \
+         && ./configure --disable-shared \
+         && cd libfaad \
+         && $(MAKE); \
+       fi
+
+       # Check that we have an mpeg2dec tree in here (can be a symlink)
+       test -d extras/mpeg2dec
+       if test ! -d CVS; then \
+         cd extras/mpeg2dec \
+         && touch configure.in \
+         && touch aclocal.m4 \
+         && touch acinclude.m4 \
+         && touch configure \
+         && touch `find . -name config.h.in` \
+         && touch `find . -name Makefile.in` \
+         && ./configure --disable-shared \
+         && cd libmpeg2 \
+         && $(MAKE); \
+       fi
+
+       # Configure VLC
        ./configure --mandir=$${prefix}/share/man \
-               --infodir=$${prefix}/share/info $(CONFIG_FLAGS)
+         --infodir=$${prefix}/share/info $(CONFIG_FLAGS)
 
+       touch configure-stamp
+
+build: configure-stamp build-stamp
+build-stamp:
+       dh_testdir
+
+       # Build only VLC, with the non-PIC libs
+       $(MAKE) vlc
+
+ifneq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386)
+       # Hackety hackety hack
+       if test ! -d CVS; then \
+         cd extras/ffmpeg/libavcodec \
+         && $(MAKE) clean \
+         && rm -f Makefile.pic \
+         && sed 's/^CFLAGS *=/&-fPIC -DPIC /' <Makefile >Makefile.pic \
+         && $(MAKE) -f Makefile.pic \
+         && rm -f Makefile.pic; \
+       fi
+
+       # HACKETY HACKETY HACK
+       if test ! -d CVS; then \
+         cd extras/faad/libfaad \
+         && $(MAKE) clean \
+         && $(MAKE) AM_CFLAGS=-fPIC; \
+       fi
+
+       # HACK ME PLENTY MORE!!!
+       if test ! -d CVS; then \
+         cd extras/mpeg2dec/libmpeg2 \
+         && $(MAKE) clean \
+         && $(MAKE) LIBMPEG2_CFLAGS=-fPIC; \
+       fi
+endif
+
+       # Build all the rest, with the PIC libs
        $(MAKE)
 
        touch build-stamp
@@ -55,14 +167,20 @@ build-stamp:
 clean:
        dh_testdir
        dh_testroot
-       rm -f build-stamp
+       rm -f configure-stamp build-stamp
 
        # Check that we have an ffmpeg tree in here (can be a symlink)
        test -d extras/ffmpeg
-       -(cd extras/ffmpeg && make distclean)
+       -if test ! -d CVS; then cd extras/ffmpeg && $(MAKE) distclean; fi
        # Check that we have an faad tree in here (can be a symlink)
        test -d extras/faad
-       -(cd extras/faad && make distclean)
+       -if test ! -d CVS; then cd extras/faad && $(MAKE) distclean; fi
+       # Check that we have an mpeg2dec tree in here (can be a symlink)
+       test -d extras/mpeg2dec
+       -if test ! -d CVS; then cd extras/mpeg2dec && $(MAKE) distclean; fi
+
+       # Remove spurious autotools stuff
+       rm -f config.log confdefs.h
 
        -$(MAKE) distclean
 
@@ -78,10 +196,13 @@ install: build
 
        # Package: vlc
        mv debian/vlc/$(VIDDIR)/vlc48x48.png debian/vlc/$(PIXDIR)/vlc.png
-       cp debian/vlc.desktop debian/vlc/$(GNOMEDIR)
+       mv debian/vlc/$(VIDDIR)/vlc32x32.xpm debian/vlc/$(VIDDIR)/vlc.xpm
        cp debian/gvlc.desktop debian/gvlc/$(GNOMEDIR)
        cp debian/gnome-vlc.desktop debian/gnome-vlc/$(GNOMEDIR)
 
+       cp doc/fortunes.txt debian/vlc/usr/share/games/fortunes/vlc
+       strfile doc/fortunes.txt debian/vlc/usr/share/games/fortunes/vlc.dat
+
        # Package: libvlc0-dev
        mv debian/vlc/usr/bin/vlc-config debian/libvlc0-dev/usr/bin/
        mv debian/vlc/usr/lib/*.a debian/libvlc0-dev/usr/lib/
@@ -93,85 +214,101 @@ install: build
        # Package: gnome-vlc
        mv debian/vlc/usr/bin/gnome-vlc debian/gnome-vlc/usr/bin/
        ln -s vlc debian/gnome-vlc/usr/share/doc/gnome-vlc
+       mv debian/vlc/usr/lib/vlc/misc/libgnome_main_plugin.so \
+         debian/gnome-vlc/usr/lib/vlc/gui/
        mv debian/vlc/usr/lib/vlc/gui/libgnome_plugin.so \
-               debian/gnome-vlc/usr/lib/vlc/gui/
+         debian/gnome-vlc/usr/lib/vlc/gui/
        ln -s vlc.1.gz debian/gnome-vlc/usr/share/man/man1/gnome-vlc.1.gz
        mv debian/vlc/$(VIDDIR)/gnome-vlc32x32.xpm debian/gnome-vlc/$(VIDDIR)/gnome-vlc.xpm
        mv debian/vlc/$(VIDDIR)/gnome-vlc48x48.png debian/gnome-vlc/$(PIXDIR)/gnome-vlc.png
 
+       # Package: vlc-gnome
+       mkdir -p debian/vlc-gnome/usr/share/doc/
+       ln -s vlc debian/vlc-gnome/usr/share/doc/vlc-gnome
+
        # Package: gvlc
        mv debian/vlc/usr/bin/gvlc debian/gvlc/usr/bin/
        ln -s vlc debian/gvlc/usr/share/doc/gvlc
+       mv debian/vlc/usr/lib/vlc/misc/libgtk_main_plugin.so \
+         debian/gvlc/usr/lib/vlc/gui/
        mv debian/vlc/usr/lib/vlc/gui/libgtk_plugin.so \
-               debian/gvlc/usr/lib/vlc/gui/
+         debian/gvlc/usr/lib/vlc/gui/
        mv debian/vlc/usr/lib/vlc/gui/libfamiliar_plugin.so \
-               debian/gvlc/usr/lib/vlc/gui/
+         debian/gvlc/usr/lib/vlc/gui/
        ln -s vlc.1.gz debian/gvlc/usr/share/man/man1/gvlc.1.gz
        mv debian/vlc/$(VIDDIR)/gvlc32x32.xpm debian/gvlc/$(VIDDIR)/gvlc.xpm
        mv debian/vlc/$(VIDDIR)/gvlc48x48.png debian/gvlc/$(PIXDIR)/gvlc.png
 
+       # Package: vlc-gtk
+       mkdir -p debian/vlc-gtk/usr/share/doc/
+       ln -s vlc debian/vlc-gtk/usr/share/doc/vlc-gtk
+
        # Package: vlc-plugin-esd
        ln -s vlc debian/vlc-plugin-esd/usr/share/doc/vlc-plugin-esd
        mv debian/vlc/usr/lib/vlc/audio_output/libesd_plugin.so \
-               debian/vlc-plugin-esd/usr/lib/vlc/audio_output/
+         debian/vlc-plugin-esd/usr/lib/vlc/audio_output/
+
+       # Package: vlc-esd
+       mkdir -p debian/vlc-esd/usr/share/doc/
+       ln -s vlc debian/vlc-esd/usr/share/doc/vlc-esd
 
        # Package: vlc-plugin-alsa
        ln -s vlc debian/vlc-plugin-alsa/usr/share/doc/vlc-plugin-alsa
        mv debian/vlc/usr/lib/vlc/audio_output/libalsa_plugin.so \
-               debian/vlc-plugin-alsa/usr/lib/vlc/audio_output/
+         debian/vlc-plugin-alsa/usr/lib/vlc/audio_output/
+
+       # Package: vlc-alsa
+       mkdir -p debian/vlc-alsa/usr/share/doc/
+       ln -s vlc debian/vlc-alsa/usr/share/doc/vlc-alsa
 
        # Package: vlc-plugin-sdl
        ln -s vlc debian/vlc-plugin-sdl/usr/share/doc/vlc-plugin-sdl
        mv debian/vlc/usr/lib/vlc/audio_output/libaout_sdl_plugin.so \
-               debian/vlc-plugin-sdl/usr/lib/vlc/audio_output/
+         debian/vlc-plugin-sdl/usr/lib/vlc/audio_output/
        mv debian/vlc/usr/lib/vlc/video_output/libvout_sdl_plugin.so \
-               debian/vlc-plugin-sdl/usr/lib/vlc/video_output/
+         debian/vlc-plugin-sdl/usr/lib/vlc/video_output/
+
+       # Package: vlc-sdl
+       mkdir -p debian/vlc-sdl/usr/share/doc/
+       ln -s vlc debian/vlc-sdl/usr/share/doc/vlc-sdl
 
        # Package: vlc-plugin-ggi
        ln -s vlc debian/vlc-plugin-ggi/usr/share/doc/vlc-plugin-ggi
        mv debian/vlc/usr/lib/vlc/video_output/libggi_plugin.so \
-               debian/vlc-plugin-ggi/usr/lib/vlc/video_output/
+         debian/vlc-plugin-ggi/usr/lib/vlc/video_output/
+
+       # Package: vlc-ggi
+       mkdir -p debian/vlc-ggi/usr/share/doc/
+       ln -s vlc debian/vlc-ggi/usr/share/doc/vlc-ggi
 
        # Package: vlc-plugin-glide
-ifeq ($(DEB_BUILD_ARCH),i386)
+ifeq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386)
        ln -s vlc debian/vlc-plugin-glide/usr/share/doc/vlc-plugin-glide
        mv debian/vlc/usr/lib/vlc/video_output/libglide_plugin.so \
-               debian/vlc-plugin-glide/usr/lib/vlc/video_output/
+         debian/vlc-plugin-glide/usr/lib/vlc/video_output/
+
+       # Package: vlc-glide
+       mkdir -p debian/vlc-glide/usr/share/doc/
+       ln -s vlc debian/vlc-glide/usr/share/doc/vlc-glide
 endif
 
        # Package: qvlc
        mv debian/vlc/usr/bin/qvlc debian/qvlc/usr/bin/
        ln -s vlc debian/qvlc/usr/share/doc/qvlc
        mv debian/vlc/usr/lib/vlc/gui/libqt_plugin.so \
-               debian/qvlc/usr/lib/vlc/gui/
+         debian/qvlc/usr/lib/vlc/gui/
        ln -s vlc.1.gz debian/qvlc/usr/share/man/man1/qvlc.1.gz
        mv debian/vlc/$(VIDDIR)/qvlc32x32.xpm debian/qvlc/$(VIDDIR)/qvlc.xpm
        mv debian/vlc/$(VIDDIR)/qvlc48x48.png debian/qvlc/$(PIXDIR)/qvlc.png
 
-       # Package: vlc-plugin-mad
-       ln -s vlc debian/vlc-plugin-mad/usr/share/doc/vlc-plugin-mad
-       mv debian/vlc/usr/lib/vlc/codec/libmad_plugin.so \
-               debian/vlc-plugin-mad/usr/lib/vlc/codec/
+       # Package: vlc-qt
+       mkdir -p debian/vlc-qt/usr/share/doc/
+       ln -s vlc debian/vlc-qt/usr/share/doc/vlc-qt
 
        # Package: vlc-plugin-arts
        ln -s vlc debian/vlc-plugin-arts/usr/share/doc/vlc-plugin-arts
        mv debian/vlc/usr/lib/vlc/audio_output/libarts_plugin.so \
-               debian/vlc-plugin-arts/usr/lib/vlc/audio_output/
-
-       # Package: vlc-plugin-lirc
-       ln -s vlc debian/vlc-plugin-lirc/usr/share/doc/vlc-plugin-lirc
-       mv debian/vlc/usr/lib/vlc/control/liblirc_plugin.so \
-               debian/vlc-plugin-lirc/usr/lib/vlc/control/
-
-       # Package: vlc-plugin-aa
-       ln -s vlc debian/vlc-plugin-aa/usr/share/doc/vlc-plugin-aa
-       mv debian/vlc/usr/lib/vlc/video_output/libaa_plugin.so \
-               debian/vlc-plugin-aa/usr/lib/vlc/video_output/
-
-       # Package: vlc-plugin-xosd
-       ln -s vlc debian/vlc-plugin-xosd/usr/share/doc/vlc-plugin-xosd
-       mv debian/vlc/usr/lib/vlc/visualization/libxosd_plugin.so \
-               debian/vlc-plugin-xosd/usr/lib/vlc/visualization/
+         debian/vlc-plugin-arts/usr/lib/vlc/audio_output/
 
        # Package: mozilla-plugin-vlc
        ln -s vlc debian/mozilla-plugin-vlc/usr/share/doc/mozilla-plugin-vlc
@@ -181,30 +318,30 @@ endif
        mv debian/vlc/usr/bin/kvlc debian/kvlc/usr/bin/
        ln -s vlc debian/kvlc/usr/share/doc/kvlc
        mv debian/vlc/usr/lib/vlc/gui/libkde_plugin.so \
-               debian/kvlc/usr/lib/vlc/gui/
+         debian/kvlc/usr/lib/vlc/gui/
+       mv debian/vlc/usr/share/vlc/ui.rc \
+         debian/kvlc/usr/share/vlc
        ln -s vlc.1.gz debian/kvlc/usr/share/man/man1/kvlc.1.gz
        mv debian/vlc/$(VIDDIR)/kvlc32x32.xpm debian/kvlc/$(VIDDIR)/kvlc.xpm
        mv debian/vlc/$(VIDDIR)/kvlc48x48.png debian/kvlc/$(PIXDIR)/kvlc.png
 
        # Package: vlc-plugin-svgalib
+ifeq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386)
        ln -s vlc debian/vlc-plugin-svgalib/usr/share/doc/vlc-plugin-svgalib
        mv debian/vlc/usr/lib/vlc/video_output/libsvgalib_plugin.so \
-               debian/vlc-plugin-svgalib/usr/lib/vlc/video_output
-
-       # Package: vlc-plugin-dv
-       ln -s vlc debian/vlc-plugin-dv/usr/share/doc/vlc-plugin-dv
-       mv debian/vlc/usr/lib/vlc/codec/libdv_plugin.so \
-               debian/vlc-plugin-dv/usr/lib/vlc/codec
-
-       # Package: vlc-plugin-a52
-       ln -s vlc debian/vlc-plugin-a52/usr/share/doc/vlc-plugin-a52
-       mv debian/vlc/usr/lib/vlc/codec/liba52_plugin.so \
-               debian/vlc-plugin-a52/usr/lib/vlc/codec
+         debian/vlc-plugin-svgalib/usr/lib/vlc/video_output
+endif
 
-       # Package: vlc-plugin-dvb
-       ln -s vlc debian/vlc-plugin-dvb/usr/share/doc/vlc-plugin-dvb
-       mv debian/vlc/usr/lib/vlc/access/libsatellite_plugin.so \
-               debian/vlc-plugin-dvb/usr/lib/vlc/access
+       # Package: wxvlc
+       mv debian/vlc/usr/bin/wxvlc debian/wxvlc/usr/bin/
+       ln -s vlc debian/wxvlc/usr/share/doc/wxvlc
+       mv debian/vlc/usr/lib/vlc/gui/libwxwindows_plugin.so \
+         debian/wxvlc/usr/lib/vlc/gui/
+       mv debian/vlc/usr/lib/vlc/gui/libskins_plugin.so \
+         debian/wxvlc/usr/lib/vlc/gui/
+       mv debian/vlc/usr/share/vlc/skins \
+         debian/wxvlc/usr/share/vlc/
+       ln -s vlc.1.gz debian/wxvlc/usr/share/man/man1/wxvlc.1.gz
 
        # Clean up
        rm -f debian/vlc/$(VIDDIR)/*.png
@@ -223,21 +360,25 @@ binary-arch: build install
 #      dh_installdebconf       
        dh_installdocs -p vlc
 #      dh_installexamples
-       dh_installmenu
+       dh_installmenu -s
+       dh_installmime -s
        dh_installman doc/vlc.1 -p vlc
        dh_installman doc/vlc-config.1 -p libvlc0-dev
-       dh_installchangelogs ChangeLog -p vlc
-       dh_link
-       dh_strip
-       dh_compress
-       dh_fixperms
-       dh_makeshlibs
-       dh_installdeb
+#      dh_installchangelogs ChangeLog -p vlc
+       cp ChangeLog debian/vlc/usr/share/doc/vlc/changelog
+       for x in doc/ChangeLog-* ; do cp "doc/ChangeLog-$${x\#*/\#*-}" "debian/vlc/usr/share/doc/vlc/changelog-$${x\#*/\#*-}" ; done
+       cp debian/changelog debian/vlc/usr/share/doc/vlc/changelog.Debian
+       dh_link -s
+       dh_strip -s
+       dh_compress -s
+       dh_fixperms -s
+       dh_makeshlibs -s
+       dh_installdeb -s
 #      dh_perl
-       dh_shlibdeps $(ARCH_EXCLUDE)
-       dh_gencontrol $(ARCH_EXCLUDE)
-       dh_md5sums $(ARCH_EXCLUDE)
-       dh_builddeb $(ARCH_EXCLUDE)
+       dh_shlibdeps -s
+       dh_gencontrol -s
+       dh_md5sums -s
+       dh_builddeb -s
 
 binary: binary-indep binary-arch
 .PHONY: build clean binary-indep binary-arch binary install