]> git.sesse.net Git - vlc/commitdiff
Support for uclibc in contrib.
authorJean-Paul Saman <jpsaman@videolan.org>
Mon, 14 May 2007 14:10:09 +0000 (14:10 +0000)
committerJean-Paul Saman <jpsaman@videolan.org>
Mon, 14 May 2007 14:10:09 +0000 (14:10 +0000)
extras/contrib/bootstrap
extras/contrib/src/Makefile
extras/contrib/src/Patches/ffmpeg-svn-uclibc.patch [new file with mode: 0644]
extras/contrib/src/Patches/libiconv-autoconf-uclibc.patch [new file with mode: 0644]

index 05832b83515ebb53dae157fcf2c5a5b0e6e8495a..a72ce0d37cd56ece0576843439ee0fb0609c87d3 100755 (executable)
@@ -178,6 +178,14 @@ case $HOST in
             EXTRA_CPPFLAGS=" -D_WIN32_WCE"
             cat src/Distributions/wince.mak >> distro.mak
         ;;
+    armeb-linux-uclibc)
+            echo "HAVE_UCLIBC = 1" >> config.mak
+            if test ! -z "${DISTRO}";  then
+                cat src/Distributions/${DISTRO}.mak >> distro.mak
+            else
+                cat src/Distributions/unix.mak >> distro.mak
+            fi
+        ;;
     *)
             if test "$HOST" = "$BUILD"; then
                 if test -d "/usr/lib/pkgconfig"; then
index 40b36ebd126826e62370dc569bc40faaf3f187da..0debc7136ecfd43c6eafb5178193862e8394e3d4 100644 (file)
@@ -101,12 +101,12 @@ ifneq ($(BUILD),$(HOST))
     #
     ifndef HAVE_CYGWIN
         # We are REALLY cross compiling
-        FFMPEGCONF=--cross-prefix=$(HOST)-
+        FFMPEGCONF=--cross-prefix=$(HOST)- --cross-compile
         X264CONF=--crosscompile=$(HOST)
-           PTHREADSCONF="CROSS=$(HOST)-"
+        PTHREADSCONF="CROSS=$(HOST)-"
     else
         # We are compiling for MinGW on Cygwin
-           PTHREADSCONF=$(HOSTCC)
+        PTHREADSCONF=$(HOSTCC)
     endif
 endif
 
@@ -121,8 +121,13 @@ endif
 ifdef HAVE_WINCE
 HOSTCONF+= --without-pic --disable-shared
 FFMPEGCONF+= --enable-mingwce --cpu=armv4l --disable-debug --disable-encoders --disable-muxers --disable-mpegaudio-hp --disable-decoder=snow --disable-decoder=vc9 --disable-decoder=wmv3 --disable-decoder=vorbis --disable-decoder=dvdsub --disable-decoder=dvbsub --disable-protocols
+endif
+
+ifdef HAVE_UCLIBC
+FFMPEGCONF+= --enable-small --arch=armeb --disable-debug --disable-encoders --disable-muxers --disable-mpegaudio-hp --disable-decoder=snow --disable-decoder=vc9 --disable-decoder=wmv3 --disable-decoder=vorbis --disable-decoder=dvdsub --disable-decoder=dvbsub --disable-protocols
+FFMPEG_CFLAGS += --std=c99
 else
-FFMPEGCONF+= --enable-libmp3lame --enable-libfaac
+FFMPEGCONF+= --enable-libmp3lame --enable-libfaac --enable-liba52
 endif
 
 ifdef HAVE_BEOS
@@ -400,6 +405,7 @@ libiconv: libiconv-$(LIBICONV_VERSION).tar.gz
 ifdef HAVE_DARWIN_OS
        patch -p0 < Patches/libiconv.patch
 endif
+       patch -p0 < Patches/libiconv-autoconf-uclibc.patch
 
 ifdef HAVE_DARWIN_OS
 .iconv:
@@ -918,6 +924,9 @@ endif
 ifdef HAVE_BEOS
        (cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch)
 endif
+ifdef HAVE_UCLIBC
+       (cd $@; patch -p1 < ../Patches/ffmpeg-svn-uclibc.patch)
+endif
 
 ffmpeg-$(FFMPEG_VERSION).tar.gz:
        $(WGET) $(FFMPEG_URL)
@@ -929,9 +938,13 @@ ffmpeg-$(FFMPEG_VERSION).tar.gz:
 ifdef HAVE_WINCE
 .ffmpeg: ffmpeg .zlib
 else
+ifdef HAVE_UCLIBC
+.ffmpeg: ffmpeg
+else
 .ffmpeg: ffmpeg .faac .lame
 endif
-       (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-network --enable-liba52 --disable-ffplay && make && make install-libs install-headers)
+endif
+       (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-network --disable-ffplay && make && make install-libs install-headers)
        touch $@
 
 ifdef SVN
diff --git a/extras/contrib/src/Patches/ffmpeg-svn-uclibc.patch b/extras/contrib/src/Patches/ffmpeg-svn-uclibc.patch
new file mode 100644 (file)
index 0000000..1d1bcb9
--- /dev/null
@@ -0,0 +1,22 @@
+--- ffmpeg/configure.orig      2007-05-14 15:08:15.000000000 +0200
++++ ffmpeg/configure   2007-05-14 15:08:55.000000000 +0200
+@@ -1028,6 +1028,10 @@
+   arm|armv[4567]*l)
+     arch="armv4l"
+   ;;
++  armeb)
++    arch="armv4"
++    bigendian="yes"
++  ;;
+   alpha)
+     arch="alpha"
+     enable fast_64bit
+@@ -1567,7 +1567,7 @@
+ EOF
+ else
+     # programs cannot be launched if cross compiling, so make a static guess
+-    if test "$arch" = "powerpc" -o "$arch" = "mips" ; then
++    if test "$arch" = "powerpc" -o "$arch" = "mips" -o "$arch" = "armeb"; then
+         bigendian="yes"
+     fi
+ fi
diff --git a/extras/contrib/src/Patches/libiconv-autoconf-uclibc.patch b/extras/contrib/src/Patches/libiconv-autoconf-uclibc.patch
new file mode 100644 (file)
index 0000000..d6efb2c
--- /dev/null
@@ -0,0 +1,24 @@
+--- libiconv/autoconf/config.sub.orig  2007-05-14 14:14:12.000000000 +0200
++++ libiconv/autoconf/config.sub       2007-05-14 14:17:36.000000000 +0200
+@@ -1102,6 +1102,9 @@
+       -unixware*)
+               os=-sysv4.2uw
+               ;;
++      -uclibc*)
++              os=-linux
++              ;;
+       -gnu/linux*)
+               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+               ;;
+--- libiconv/libcharset/autoconf/config.sub.orig       2007-05-14 14:34:11.000000000 +0200
++++ libiconv/libcharset/autoconf/config.sub    2007-05-14 14:35:09.000000000 +0200
+@@ -1102,6 +1102,9 @@
+       -unixware*)
+               os=-sysv4.2uw
+               ;;
++      -uclibc*)
++              os=-linux
++              ;;
+       -gnu/linux*)
+               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+               ;;