From 14ba0a943b40eb6ee52f9412befb5a850d3df7bd Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Sun, 14 Apr 2013 10:04:22 +0000 Subject: Make it compatible with arm. Fix v4l install paths --- ffmpeg/build/ffmpeg.SlackBuild | 64 ++++++++++++++++++++++++++---------------- 1 file changed, 40 insertions(+), 24 deletions(-) (limited to 'ffmpeg/build/ffmpeg.SlackBuild') diff --git a/ffmpeg/build/ffmpeg.SlackBuild b/ffmpeg/build/ffmpeg.SlackBuild index 7ece6697..07c95a6b 100755 --- a/ffmpeg/build/ffmpeg.SlackBuild +++ b/ffmpeg/build/ffmpeg.SlackBuild @@ -441,12 +441,14 @@ fi ## # Automatically determine the architecture we're building on: +MARCH=$( uname -m ) if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i486 ;; - arm*) export ARCH=arm ;; + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; + *) export ARCH=$MARCH ;; esac fi @@ -457,11 +459,22 @@ case "$ARCH" in x86_64) SLKCFLAGS="-O2 -fPIC" SLKLDFLAGS="-L/usr/lib64 -fPIC"; LIBDIRSUFFIX="64" ;; + arm) SLKCFLAGS="-O2 -march=armv5te" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + armv7hl) SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; *) SLKCFLAGS="-O2" SLKLDFLAGS=""; LIBDIRSUFFIX="" ;; esac +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + # Exit the script on errors: set -e trap 'echo "$0 FAILED at line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR @@ -571,7 +584,7 @@ LDFLAGS="$SLKLDFLAGS" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_lame.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_lame.log # Install lame into a temp location so ffmpeg can pickup the library @@ -604,7 +617,7 @@ CFLAGS="$SLKCFLAGS" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_amr.log make $NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}_amr.log make install DESTDIR=$FFMPEGDEPSDIR PREFIX=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} \ @@ -636,7 +649,7 @@ CFLAGS="$SLKCFLAGS" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_amrwbenc.log make $NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}_amrwbenc.log make install DESTDIR=$FFMPEGDEPSDIR PREFIX=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} \ @@ -666,7 +679,7 @@ LDFLAGS="$SLKLDFLAGS" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_aacenc.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_aacenc.log # Install aacenc into a temp location so ffmpeg can pickup the library @@ -703,7 +716,7 @@ LDFLAGS="$SLKLDFLAGS" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_aacplus.log # Do not use parallel make here: make 2>&1 | tee $OUTPUT/make-${PRGNAM}_aacplus.log @@ -736,7 +749,7 @@ LDFLAGS="$SLKLDFLAGS" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_raw1394.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_raw1394.log # Install libraw1394 into a temp location so ffmpeg can pickup the library @@ -763,7 +776,7 @@ LIBRAW1394_LIBS="-L$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX} -lraw1394" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_avc1394.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_avc1394.log # Install libavc1394 into a temp location so ffmpeg can pickup the library @@ -789,7 +802,7 @@ PKG_CONFIG_PATH="$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \ --disable-examples \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dc1394.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_dc1394.log # Install libdc1394 into a temp location so ffmpeg can pickup the library @@ -830,7 +843,7 @@ LDFLAGS="$SLKLDFLAGS" \ --with-mp4v2 \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_faac.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_faac.log # Install faac into a temp location so ffmpeg can pickup the library @@ -863,7 +876,7 @@ LDFLAGS="$SLKLDFLAGS" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_faad2.log # No longer available: #--with-mp4v2 \ @@ -897,7 +910,7 @@ LDFLAGS="$SLKLDFLAGS" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_speex.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_speex.log # Install speex into a temp location so ffmpeg can pickup the library @@ -989,7 +1002,7 @@ LDFLAGS="$SLKLDFLAGS" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_orc.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_orc.log # Install orc into a temp location so schroedinger can pickup the library @@ -1036,7 +1049,7 @@ PKG_CONFIG_PATH="$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \ --program-prefix= \ --program-suffix= \ $ARCHOPTS \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_schroedinger.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_schroedinger.log # Install schroedinger into a temp location so ffmpeg can pickup the library @@ -1161,7 +1174,7 @@ LDFLAGS="$SLKLDFLAGS" \ --with-drivers-path=/usr/lib${LIBDIRSUFFIX}/va/drivers \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_libva.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_libva.log # Strip the static lib to prevent linking errors in 64-bit, @@ -1205,7 +1218,7 @@ LDFLAGS="$SLKLDFLAGS" \ --program-prefix= \ --program-suffix= \ $ARCHOPTS \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_fribidi.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_fribidi.log # Install fribidi into a temp location so ffmpeg can pickup the library @@ -1236,7 +1249,7 @@ PKG_CONFIG_PATH="$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \ --disable-shared \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_ass.log make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_ass.log # Install libass into a temp location so ffmpeg can pickup the library @@ -1265,7 +1278,8 @@ export LDFLAGS="$SLKLDFLAGS -ljpeg" ./configure \ --prefix=$FFMPEGDEPSDIR/usr \ --libdir=$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=$FFMPEGDEPSDIR/etc \ + --sysconfdir=/etc \ + --udevrulesdir=/lib/udev/rules.d \ --enable-static \ --disable-shared \ --disable-libdvbv5 \ @@ -1274,7 +1288,7 @@ export LDFLAGS="$SLKLDFLAGS -ljpeg" --disable-qv4l2 \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_v4l.log make ${NUMJOBS} LINKTYPE=static 2>&1 | tee $OUTPUT/make-${PRGNAM}_v4l.log @@ -1284,7 +1298,9 @@ find . -name "*.a" | xargs strip --strip-unneeded sed -i "/^Libs: /s/$/ -lv4l2 -lv4lconvert -ljpeg/" lib/libv4l1/libv4l1.pc sed -i "/^Libs: /s/ -lv4l2/ -lv4l2 -lv4lconvert -ljpeg/" lib/libv4l2/libv4l2.pc # Install libv4l into a temp directory so that ffmpeg can pick it up later: -make install LINKTYPE=static 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_v4l.log +make install LINKTYPE=static \ + udevrulesdir=$FFMPEGDEPSDIR/lib/udev/rules.d sysconfdir=$FFMPEGDEPSDIR/etc \ + 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_v4l.log # Add DOCS to the ffmpegdeps to have it added to ffmpeg package later: mkdir -p $FFMPEGDEPSDIR/doc/v4l-utils cp -a $DOCS_V4L2 $FFMPEGDEPSDIR/doc/v4l-utils/ || true @@ -1312,7 +1328,7 @@ LDFLAGS="$SLKLDFLAGS" \ --disable-doc \ --program-prefix= \ --program-suffix= \ - --build=$ARCH-slackware-linux \ + --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_opus.log # Install opus into a temp location so ffmpeg can pickup the library make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_opus.log -- cgit v1.2.3-65-gdbad