Commit 861453b6 authored by Eric Petit's avatar Eric Petit

contrib/*: enhanced contrib system to support cross-compilations.

   Give an argument to bootstrap to use it (for example
   `./bootstrap i586-pc-beos')
parent a5b222b7
...@@ -5,6 +5,11 @@ other operating systems. ...@@ -5,6 +5,11 @@ other operating systems.
To use it, first in the contrib directory, type : To use it, first in the contrib directory, type :
./bootstrap ./bootstrap
You can specify an argument to cross compile, for example:
./bootstrap i586-pc-beos
This will look for a i586-pc-beos-gcc cross compiler. Default is to
build natively.
Customize config.mak if you need to, then you need to choose between Customize config.mak if you need to, then you need to choose between
building from source (can take a long time but is easily customizable) building from source (can take a long time but is easily customizable)
and fetching a pre-compiled binary package. Either type 'make src' and fetching a pre-compiled binary package. Either type 'make src'
......
...@@ -22,8 +22,8 @@ ...@@ -22,8 +22,8 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
# *************************************************************************** # ***************************************************************************
if test "$#" != "0"; then if test "$#" -gt "1"; then
echo "Usage: $0" >&2 echo "Usage: $0 <host>" >&2
echo " Prepare config.mak file." >&2 echo " Prepare config.mak file." >&2
exit 1 exit 1
fi fi
...@@ -33,18 +33,30 @@ export LANG ...@@ -33,18 +33,30 @@ export LANG
set -e set -e
set -x set -x
echo -e "# Automatically generated by bootstrap.\n# Make changes if you know what you're doing.\n" >| config.mak BUILD=`gcc -dumpmachine`
if test "$#" = "1"; then
if test ".`uname -s`" = ".Darwin"; then HOST="$1"
echo "SYS = DARWIN" >> config.mak
echo "EXTRA_CPPFLAGS = -no-cpp-precomp" >> config.mak
echo "CONTRIB_URL = http://download.videolan.org/pub/videolan/devtools/contrib-macosx.tar.bz2" >> config.mak
elif test ".`uname -s`" = ".BeOS"; then
echo "SYS = BEOS" >> config.mak
else else
echo "SYS = UNKNOWN" >> config.mak HOST="$BUILD"
fi fi
echo -e "# Automatically generated by bootstrap.\n# Make changes if you know what you're doing.\n" >| config.mak
echo "BUILD = $BUILD" >> config.mak
echo "HOST = $HOST" >> config.mak
case $HOST in
ppc-darwin)
echo "EXTRA_CPPFLAGS = -no-cpp-precomp" >> config.mak
echo "CONTRIB_URL = http://download.videolan.org/pub/videolan/devtools/contrib-macosx.tar.bz2" >> config.mak
;;
i586-pc-beos)
echo "EXTRA_LDFLAGS = -lnet" >> config.mak
;;
*)
;;
esac
if which curl >/dev/null; then if which curl >/dev/null; then
echo "WGET = curl -O" >> config.mak echo "WGET = curl -O" >> config.mak
elif wget --version >/dev/null 2>&1; then elif wget --version >/dev/null 2>&1; then
......
...@@ -29,39 +29,74 @@ include ./packages.mak ...@@ -29,39 +29,74 @@ include ./packages.mak
# Set a clean environment # Set a clean environment
# *************************************************************************** # ***************************************************************************
ifeq ($(SYS),DARWIN) ifeq ($(HOST),ppc-darwin)
export PATH = $(PREFIX)/bin:/bin:/usr/bin export PATH = $(PREFIX)/bin:/bin:/usr/bin
export DYLD_LIBRARY_PATH = $(PREFIX)/lib export DYLD_LIBRARY_PATH = $(PREFIX)/lib
export CPPFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
export CFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
export CXXFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
export LDFLAGS = -L$(PREFIX)/lib
endif endif
ifeq ($(SYS),BEOS)
ifeq ($(HOST),i586-pc-beos)
ifeq ($(HOST),$(BUILD))
# Compiling on BeOS
export PATH = $(PREFIX)/bin:.:/boot/home/config/bin:/bin:/boot/apps:/boot/preferences:/boot/beos/apps:/boot/beos/preferences:/boot/develop/tools/gnupro/bin export PATH = $(PREFIX)/bin:.:/boot/home/config/bin:/bin:/boot/apps:/boot/preferences:/boot/beos/apps:/boot/beos/preferences:/boot/develop/tools/gnupro/bin
export LIBRARY_PATH = $(PREFIX)/lib:%A/lib:/boot/home/config/lib:/boot/beos/system/lib export LIBRARY_PATH = $(PREFIX)/lib:%A/lib:/boot/home/config/lib:/boot/beos/system/lib
export BELIBRARIES = $(PREFIX)/lib:/boot/develop/lib/x86 else
export C_INCLUDE_PATH = $(PREFIX)/include # Cross compiling from Linux
export CPLUS_INCLUDE_PATH = $(PREFIX)/include export PATH = $(PREFIX)/bin:/opt/cross-tools/bin:/usr/bin:/bin
export LDFLAGS = -lnet endif
endif
export CPPFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
export CFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
export CXXFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
export LDFLAGS = -L$(PREFIX)/lib $(EXTRA_LDFLAGS)
# ***************************************************************************
# Cross compilation variables
# We'll usually use --host=<platform>, except for a few libraries which
# don't handle it (gotta set CC/CXX/etc), and obviously FFmpeg has its own
# way of doing it... ;)
# ***************************************************************************
ifneq ($(BUILD),$(HOST))
# We are cross compiling
HOSTCONF=--host=$(HOST)
HOSTCC=CC=$(HOST)-gcc CXX=$(HOST)-g++ AR=$(HOST)-ar RANLIB=$(HOST)-ranlib
# For libebml/libmatroska. Grrr.
HOSTCC2=CC=$(HOST)-gcc CXX=$(HOST)-g++ "AR=$(HOST)-ar rcvu" RANLIB=$(HOST)-ranlib
FFMPEGCONF=--cross-prefix=$(HOST)-
RANLIB=$(HOST)-ranlib
else
# Building natively
RANLIB=ranlib
endif endif
# *************************************************************************** # ***************************************************************************
# Standard rules # Standard rules
# *************************************************************************** # ***************************************************************************
ifeq ($(SYS),DARWIN) ifeq ($(HOST),ppc-darwin)
all: .autoconf .libtool .automake .iconv .intl .pkgcfg .freetype .fribidi \ all: .autoconf .libtool .automake .iconv .intl .pkgcfg .freetype .fribidi \
.a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
.FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .openslp \ .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .openslp \
.dvdcss .dvdread .dvdnav .dvbpsi .live .goom2k4 .caca .mod \ .dvdcss .dvdread .dvdnav .dvbpsi .live .goom2k4 .caca .mod \
.png .gpgerror .gcrypt .gnutls .daap .cddb .cdio .vcdimager .aclocal .png .gpgerror .gcrypt .gnutls .daap .cddb .cdio .vcdimager .aclocal
endif endif
ifeq ($(SYS),BEOS)
ifeq ($(HOST),i586-pc-beos)
ifeq ($(HOST),$(BUILD))
# Native build: we need perl, autoconf, etc first
all: .perl .autoconf .libtool .automake .iconv .intl .freetype .fribidi \ all: .perl .autoconf .libtool .automake .iconv .intl .freetype .fribidi \
.a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
.FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \ .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \
.dvdread .dvdnav .dvbpsi .aclocal .dvdread .dvdnav .dvbpsi .aclocal
else
# Cross compiling: we already have the Linux tools, only build the
# libraries now
all: .iconv .intl .freetype .fribidi \
.a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
.FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \
.dvdread .dvdnav .dvbpsi .aclocal
endif
endif endif
FORCE: FORCE:
...@@ -94,7 +129,7 @@ endef ...@@ -94,7 +129,7 @@ endef
# $(INSTALL_NAME) # $(INSTALL_NAME)
# touch $@ # touch $@
ifeq ($(SYS),DARWIN) ifeq ($(HOST),ppc-darwin)
define INSTALL_NAME_LIB define INSTALL_NAME_LIB
install_name_tool \ install_name_tool \
-change $(PREFIX)/lib/$(shell cd $(PREFIX)/lib; ls | grep "lib$(INSTALL_LIB).[0-9]*.dylib") \ -change $(PREFIX)/lib/$(shell cd $(PREFIX)/lib; ls | grep "lib$(INSTALL_LIB).[0-9]*.dylib") \
...@@ -116,7 +151,7 @@ define INSTALL_NAME ...@@ -116,7 +151,7 @@ define INSTALL_NAME
endef endef
endif endif
ifeq ($(SYS),BEOS) ifeq ($(HOST),i586-pc-beos)
# We test if the file actually exists, as sometimes (but not always) # We test if the file actually exists, as sometimes (but not always)
# libtool won't accept to build the shared library # libtool won't accept to build the shared library
define INSTALL_NAME define INSTALL_NAME
...@@ -132,7 +167,7 @@ endif ...@@ -132,7 +167,7 @@ endif
# perl # perl
# *************************************************************************** # ***************************************************************************
ifeq ($(SYS),BEOS) ifeq ($(BUILD),i586-pc-beos)
perl-$(PERL_VERSION).tar.gz: perl-$(PERL_VERSION).tar.gz:
$(WGET) $(PERL_URL) $(WGET) $(PERL_URL)
...@@ -172,7 +207,7 @@ DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.gz ...@@ -172,7 +207,7 @@ DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.gz
# libtool # libtool
# *************************************************************************** # ***************************************************************************
ifeq ($(SYS),DARWIN) ifeq ($(BUILD),ppc-darwin)
.libtool: .libtool:
if test -x /usr/bin/glibtoolize; then \ if test -x /usr/bin/glibtoolize; then \
ln -sf /usr/bin/glibtoolize $(PREFIX)/bin/libtoolize ; \ ln -sf /usr/bin/glibtoolize $(PREFIX)/bin/libtoolize ; \
...@@ -180,7 +215,7 @@ ifeq ($(SYS),DARWIN) ...@@ -180,7 +215,7 @@ ifeq ($(SYS),DARWIN)
touch $@ touch $@
endif endif
ifeq ($(SYS),BEOS) ifeq ($(BUILD),i586-pc-beos)
libtool-$(LIBTOOL_VERSION).tar.gz: libtool-$(LIBTOOL_VERSION).tar.gz:
$(WGET) $(LIBTOOL_URL) $(WGET) $(LIBTOOL_URL)
...@@ -245,13 +280,19 @@ gettext: gettext-$(GETTEXT_VERSION).tar.gz ...@@ -245,13 +280,19 @@ gettext: gettext-$(GETTEXT_VERSION).tar.gz
patch -p 0 < Patches/gettext.patch patch -p 0 < Patches/gettext.patch
.intl: gettext .intl: gettext
( cd $< && ./configure --prefix=$(PREFIX) ) ( cd $< && ./configure $(HOSTCONF) --prefix=$(PREFIX) )
ifeq ($(SYS),BEOS) ifeq ($(BUILD),i586-pc-beos)
# The ugliest kludge ever - so libtool correctly links shared libraries # The ugliest kludge ever - so libtool correctly links shared libraries
# on BeOS. Sorry, I just can't figure out how libtool works # on BeOS. Sorry, I just can't figure out how libtool works
( cd $< && for f in `find . -name libtool`; do mv $$f $$f.orig; sed -e 's/ -shared / -nostart /' -e 's/^predep_objects.*/predep_objects=""/' < $$f.orig > $$f; chmod +x $$f; rm $$f.orig; done ) ( cd $< && for f in `find . -name libtool`; do mv $$f $$f.orig; sed -e 's/ -shared / -nostart /' -e 's/^predep_objects.*/predep_objects=""/' < $$f.orig > $$f; chmod +x $$f; rm $$f.orig; done )
endif endif
ifneq ($(HOST),$(BUILD))
# We'll use the installed gettext and only need to cross-compile libintl
( cd $< && make -C gettext-runtime/intl && make -C gettext-runtime/intl install )
else
# Build and install the whole gettext
( cd $< && make && make install ) ( cd $< && make && make install )
endif
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -270,7 +311,7 @@ libiconv: libiconv-$(LIBICONV_VERSION).tar.gz ...@@ -270,7 +311,7 @@ libiconv: libiconv-$(LIBICONV_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.iconv: libiconv .iconv: libiconv
(cd libiconv; ./configure --prefix=$(PREFIX) --disable-nls && make && make install) (cd libiconv; ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -289,7 +330,7 @@ freetype2: freetype-$(FREETYPE2_VERSION).tar.gz ...@@ -289,7 +330,7 @@ freetype2: freetype-$(FREETYPE2_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.freetype: freetype2 .freetype: freetype2
(cd $<; ./configure --prefix=$(PREFIX) && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -309,7 +350,7 @@ fribidi: fribidi-$(FRIBIDI_VERSION).tar.gz ...@@ -309,7 +350,7 @@ fribidi: fribidi-$(FRIBIDI_VERSION).tar.gz
patch -p 0 < Patches/fribidi.patch.real patch -p 0 < Patches/fribidi.patch.real
.fribidi: fribidi .fribidi: fribidi
(cd $<; ./bootstrap && ./configure --prefix=$(PREFIX) && make && make install) (cd $<; ./bootstrap && ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -328,7 +369,7 @@ a52dec: a52dec-$(A52DEC_VERSION).tar.gz ...@@ -328,7 +369,7 @@ a52dec: a52dec-$(A52DEC_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.a52: a52dec .a52: a52dec
(cd $<; ./configure --prefix=$(PREFIX) && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
touch $@ touch $@
CLEAN_FILE += .a52 CLEAN_FILE += .a52
...@@ -358,7 +399,7 @@ mpeg2dec: mpeg2dec-$(MPEG2DEC_VERSION).tar.gz ...@@ -358,7 +399,7 @@ mpeg2dec: mpeg2dec-$(MPEG2DEC_VERSION).tar.gz
# patch -p 0 < Patches/mpeg2dec.patch # patch -p 0 < Patches/mpeg2dec.patch
.mpeg2: mpeg2dec .mpeg2: mpeg2dec
(cd $<; ./configure --prefix=$(PREFIX) --without-x --disable-dsl && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --without-x --disable-dsl && make && make install)
touch $@ touch $@
CLEAN_FILE += .mpeg2 CLEAN_FILE += .mpeg2
...@@ -377,7 +418,7 @@ libid3tag: libid3tag-$(LIBID3TAG_VERSION).tar.gz ...@@ -377,7 +418,7 @@ libid3tag: libid3tag-$(LIBID3TAG_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.id3tag: libid3tag .id3tag: libid3tag
(cd $<; ./configure --prefix=$(PREFIX) && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -396,7 +437,7 @@ libmad: libmad-$(LIBMAD_VERSION).tar.gz ...@@ -396,7 +437,7 @@ libmad: libmad-$(LIBMAD_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.mad: libmad .mad: libmad
(cd $<; ./configure --prefix=$(PREFIX) CFLAGS="-O3" && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -421,7 +462,7 @@ libogg: libogg-$(OGG_VERSION).tar.gz ...@@ -421,7 +462,7 @@ libogg: libogg-$(OGG_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.ogg: libogg .ogg: libogg
(cd $<; ./configure --prefix=$(PREFIX) && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -447,12 +488,16 @@ libvorbis: libvorbis-$(VORBIS_VERSION).tar.gz ...@@ -447,12 +488,16 @@ libvorbis: libvorbis-$(VORBIS_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.vorbis: libvorbis .ogg .vorbis: libvorbis .ogg
(cd $<; ./configure --prefix=$(PREFIX) && make && make install) # libvorbis' configure doesn't handle --host
$(INSTALL_NAME) # FIXME: shared libs disabled for now because configure thinks we should
# link the .so to -lc when cross-compiling to BeOS (-> fails)
# -- titer 2005/02/12
(cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --disable-shared && make && make install)
# $(INSTALL_NAME)
touch $@ touch $@
.vorbisenc: .vorbis .ogg .vorbisenc: .vorbis .ogg
$(INSTALL_NAME) # $(INSTALL_NAME)
touch $@ touch $@
CLEAN_FILE += .vorbis .vorbisenc CLEAN_FILE += .vorbis .vorbisenc
...@@ -471,7 +516,7 @@ libtheora: libtheora-$(THEORA_VERSION).tar.bz2 ...@@ -471,7 +516,7 @@ libtheora: libtheora-$(THEORA_VERSION).tar.bz2
patch -p 0 < Patches/theora.patch patch -p 0 < Patches/theora.patch
.theora: libtheora .theora: libtheora
(cd $<; CC="gcc $(CFLAGS)" ./configure --prefix=$(PREFIX) && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -490,7 +535,7 @@ flac: flac-$(FLAC_VERSION).tar.gz ...@@ -490,7 +535,7 @@ flac: flac-$(FLAC_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.FLAC: flac .FLAC: flac
(cd $<; ./configure --prefix=$(PREFIX) && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -510,7 +555,7 @@ speex: speex-$(SPEEX_VERSION).tar.gz ...@@ -510,7 +555,7 @@ speex: speex-$(SPEEX_VERSION).tar.gz
patch -p 0 < Patches/speex.patch patch -p 0 < Patches/speex.patch
.speex: speex .speex: speex
(cd $<; ./configure --prefix=$(PREFIX) && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-ogg=no && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -536,7 +581,7 @@ faad2: faad2-$(FAAD2_VERSION).tar.bz2 ...@@ -536,7 +581,7 @@ faad2: faad2-$(FAAD2_VERSION).tar.bz2
$(EXTRACT_BZ2) $(EXTRACT_BZ2)
.faad: faad2 .faad: faad2
(cd $<; ./configure --prefix=$(PREFIX) CFLAGS="-O3" && make -C libfaad && make -C libfaad install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && make -C libfaad && make -C libfaad install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -556,7 +601,7 @@ faac: faac-$(FAAC_VERSION).tar.bz2 ...@@ -556,7 +601,7 @@ faac: faac-$(FAAC_VERSION).tar.bz2
patch -p 0 < Patches/faac.patch patch -p 0 < Patches/faac.patch
.faac: faac .faac: faac
(cd $<; ./bootstrap && ./configure --prefix=$(PREFIX) --disable-shared && make && make install) (cd $<; rm -f install-sh mkinstalldirs missing && ./bootstrap && ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install)
touch $@ touch $@
CLEAN_FILE += .faac CLEAN_FILE += .faac
...@@ -574,7 +619,7 @@ lame: lame-$(LAME_VERSION).tar.gz ...@@ -574,7 +619,7 @@ lame: lame-$(LAME_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.lame: lame .lame: lame
(cd $<; ./configure --prefix=$(PREFIX) --disable-shared && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install)
touch $@ touch $@
CLEAN_FILE += .lame CLEAN_FILE += .lame
...@@ -593,8 +638,8 @@ libebml: libebml-$(LIBEBML_VERSION).tar.bz2 ...@@ -593,8 +638,8 @@ libebml: libebml-$(LIBEBML_VERSION).tar.bz2
-rm -rf $@/CVS -rm -rf $@/CVS
.ebml: libebml .ebml: libebml
(cd $<; make -C make/linux prefix=$(PREFIX) && make -C make/linux install prefix=$(PREFIX)) (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) && make -C make/linux install prefix=$(PREFIX))
ranlib $(PREFIX)/lib/libebml.a $(RANLIB) $(PREFIX)/lib/libebml.a
touch $@ touch $@
CLEAN_FILE += .ebml CLEAN_FILE += .ebml
...@@ -613,8 +658,8 @@ libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 ...@@ -613,8 +658,8 @@ libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
-rm -rf $@/CVS -rm -rf $@/CVS
.matroska: libmatroska .matroska: libmatroska
(cd $<; make -C make/linux prefix=$(PREFIX) && make -C make/linux install prefix=$(PREFIX)) (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) && make -C make/linux install prefix=$(PREFIX))
ranlib $(PREFIX)/lib/libmatroska.a $(RANLIB) $(PREFIX)/lib/libmatroska.a
touch $@ touch $@
CLEAN_FILE += .matroska CLEAN_FILE += .matroska
...@@ -639,7 +684,7 @@ ffmpeg-$(FFMPEG_VERSION).tar.gz: ...@@ -639,7 +684,7 @@ ffmpeg-$(FFMPEG_VERSION).tar.gz:
# patch -p 0 < Patches/ffmpeg.patch # patch -p 0 < Patches/ffmpeg.patch
.ffmpeg: ffmpeg .ffmpeg: ffmpeg
(cd $<; ./configure --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-mp3lame --enable-faac --enable-pp --disable-vhook --disable-audio-beos --disable-ffserver --disable-vorbis --disable-faad --enable-mp3lame --enable-zlib --enable-a52 && make && make -C libavcodec/libpostproc install && make -C libavcodec installlib && make -C libavformat installlib) (cd $<; ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-mp3lame --enable-faac --enable-pp --disable-vhook --disable-audio-beos --disable-ffserver --disable-vorbis --disable-faad --enable-mp3lame --enable-zlib --enable-a52 && make && make -C libavcodec/libpostproc install && make -C libavcodec installlib && make -C libavformat installlib)
touch $@ touch $@
CLEAN_FILE += .ffmpeg CLEAN_FILE += .ffmpeg
...@@ -676,7 +721,7 @@ libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz ...@@ -676,7 +721,7 @@ libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.dvdcss: libdvdcss .dvdcss: libdvdcss
(cd $<; ./configure --prefix=$(PREFIX) && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -696,7 +741,7 @@ libdvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.gz ...@@ -696,7 +741,7 @@ libdvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.gz
patch -p 0 < Patches/libdvdread.patch patch -p 0 < Patches/libdvdread.patch
.dvdread: libdvdread .dvdcss .dvdread: libdvdread .dvdcss
(cd $<; ./configure --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -714,15 +759,14 @@ libdvdnav-$(LIBDVDNAV_VERSION).tar.gz: ...@@ -714,15 +759,14 @@ libdvdnav-$(LIBDVDNAV_VERSION).tar.gz:
libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
patch -p 0 < Patches/dvdnav.patch patch -p 0 < Patches/dvdnav.patch
ifeq ($(SYS),DARWIN) ifeq ($(BUILD),ppc-darwin)
(cd $@; autoconf) (cd $@; autoconf)
endif else
ifeq ($(SYS),BEOS)
(cd $@; ./autogen.sh noconfig) (cd $@; ./autogen.sh noconfig)
endif endif
.dvdnav: libdvdnav .dvdread .dvdnav: libdvdnav .dvdread
(cd $<; ./configure --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install) (cd $<; ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -741,7 +785,7 @@ libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz ...@@ -741,7 +785,7 @@ libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
.dvbpsi: libdvbpsi .dvbpsi: libdvbpsi
(cd $<; ./configure --prefix=$(PREFIX) && make && make install) (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME) $(INSTALL_NAME)
touch $@ touch $@
...@@ -829,16 +873,14 @@ DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz ...@@ -829,16 +873,14 @@ DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz
libdts-$(LIBDTS_VERSION).tar.gz: libdts-$(LIBDTS_VERSION).tar.gz:
$(WGET) $(LIBDTS_URL) $(WGET) $(LIBDTS_URL)
ifeq ($(SYS),DARWIN) ifeq ($(HOST),i586-pc-beos)
# libdts 0.0.2 doesn't compile on BeOS # libdts 0.0.2 doesn't compile on BeOS
libdts: libdts-$(LIBDTS_VERSION).tar.gz
$(EXTRACT_GZ)
endif
ifeq ($(SYS),BEOS)
libdts: libdts:
svn co svn://svn.videolan.org/libdts/trunk libdts svn co svn://svn.videolan.org/libdts/trunk libdts
(cd $@; ./bootstrap) (cd $@; ./bootstrap)
else
libdts: libdts-$(LIBDTS_VERSION).tar.gz
$(EXTRACT_GZ)
endif endif
.dts: libdts .dts: libdts
...@@ -896,13 +938,11 @@ vcdimager-$(VCDIMAGER_VERSION).tar.gz: ...@@ -896,13 +938,11 @@ vcdimager-$(VCDIMAGER_VERSION).tar.gz:
vcdimager: vcdimager-$(VCDIMAGER_VERSION).tar.gz vcdimager: vcdimager-$(VCDIMAGER_VERSION).tar.gz
$(EXTRACT_GZ) $(EXTRACT_GZ)
ifeq ($(SYS),DARWIN) ifeq ($(HOST),ppc-darwin)
.vcdimager: vcdimager .vcdimager: vcdimager
(cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static LDFLAGS="$(LDFLAGS) -framework CoreFoundation -framework IOKit" && make && make install) (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static LDFLAGS="$(LDFLAGS) -framework CoreFoundation -framework IOKit" && make && make install)
touch $@ touch $@
endif else
ifeq ($(SYS),BEOS)
.vcdimager: vcdimager .vcdimager: vcdimager
(cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install) (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
touch $@ touch $@
......
diff -ru ffmpeg.orig/configure ffmpeg/configure diff -ru ffmpeg-orig/configure ffmpeg/configure
--- ffmpeg.orig/configure Tue Nov 23 19:28:23 2004 --- ffmpeg-orig/configure 2005-01-21 23:16:04.000000000 +0100
+++ ffmpeg/configure Sun Nov 28 20:54:48 2004 +++ ffmpeg/configure 2005-02-18 21:43:55.000000000 +0100
@@ -210,7 +210,7 @@ @@ -210,7 +210,7 @@
2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc" 2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc"
mmx="no" mmx="no"
...@@ -19,9 +19,28 @@ diff -ru ffmpeg.orig/configure ffmpeg/configure ...@@ -19,9 +19,28 @@ diff -ru ffmpeg.orig/configure ffmpeg/configure
;; ;;
--cpu=*) cpu=`echo $opt | cut -d '=' -f 2` --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
;; ;;
diff -ru ffmpeg.orig/libavcodec/eval.c ffmpeg/libavcodec/eval.c @@ -709,6 +709,18 @@
--- ffmpeg.orig/libavcodec/eval.c Wed Feb 18 13:49:30 2004 ranlib="${cross_prefix}${ranlib}"
+++ ffmpeg/libavcodec/eval.c Sun Nov 28 20:29:15 2004 strip="${cross_prefix}${strip}"
+if test "${cross_prefix}" = "i586-pc-beos-"; then
+ # Cross-compiling from Linux for BeOS
+ CFLAGS="$CFLAGS -DPIC -fomit-frame-pointer -fno-expensive-optimizations"
+ SHFLAGS=-nostart
+ audio_oss="no"
+ v4l="no"
+ dv1394="no"
+ netserver="yes"
+ need_inet_aton="yes"
+ extralibs="-lnet"
+fi
+
if test -z "$cross_prefix" ; then
# ---
diff -ru ffmpeg-orig/libavcodec/eval.c ffmpeg/libavcodec/eval.c
--- ffmpeg-orig/libavcodec/eval.c 2005-01-17 19:25:32.000000000 +0100
+++ ffmpeg/libavcodec/eval.c 2005-02-18 21:12:57.000000000 +0100
@@ -34,6 +34,8 @@ @@ -34,6 +34,8 @@
#include <string.h> #include <string.h>
#include <math.h> #include <math.h>
...@@ -31,9 +50,9 @@ diff -ru ffmpeg.orig/libavcodec/eval.c ffmpeg/libavcodec/eval.c ...@@ -31,9 +50,9 @@ diff -ru ffmpeg.orig/libavcodec/eval.c ffmpeg/libavcodec/eval.c
#ifndef NAN #ifndef NAN
#define NAN 0 #define NAN 0
#endif #endif
diff -ru ffmpeg.orig/libavformat/tcp.c ffmpeg/libavformat/tcp.c diff -ru ffmpeg-orig/libavformat/tcp.c ffmpeg/libavformat/tcp.c
--- ffmpeg.orig/libavformat/tcp.c Thu Aug 12 02:09:32 2004 --- ffmpeg-orig/libavformat/tcp.c 2004-08-12 02:09:32.000000000 +0200
+++ ffmpeg/libavformat/tcp.c Sun Nov 28 20:29:15 2004 +++ ffmpeg/libavformat/tcp.c 2005-02-18 21:12:57.000000000 +0100
@@ -32,6 +32,7 @@ @@ -32,6 +32,7 @@
#include <netdb.h> #include <netdb.h>
#include <sys/time.h> #include <sys/time.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment