diff options
Diffstat (limited to 'extra/x264')
-rwxr-xr-x | extra/x264/build | 13 | ||||
-rw-r--r-- | extra/x264/checksums | 2 | ||||
-rw-r--r-- | extra/x264/depends | 2 | ||||
-rw-r--r-- | extra/x264/patches/x264-no-bash.patch | 222 | ||||
-rw-r--r-- | extra/x264/sources | 2 | ||||
-rw-r--r-- | extra/x264/version | 1 |
6 files changed, 242 insertions, 0 deletions
diff --git a/extra/x264/build b/extra/x264/build new file mode 100755 index 00000000..73cc54a0 --- /dev/null +++ b/extra/x264/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +patch -p1 < x264-no-bash.patch + +./configure \ + --prefix=/usr \ + --disable-swscale \ + --enable-static \ + --enable-pic \ + --enable-shared + +make +make DESTDIR="$1" install diff --git a/extra/x264/checksums b/extra/x264/checksums new file mode 100644 index 00000000..2243eefc --- /dev/null +++ b/extra/x264/checksums @@ -0,0 +1,2 @@ +404e7ba61123720a7b2cc45356ace6859860ef4ce3503758465e92c1ce11995e x264-snapshot-20190812-2245-stable.tar.bz2 +a78a518c3685813fdfdc8813acd48e292968892e6ff5ea60d91f5c514c35acee x264-no-bash.patch diff --git a/extra/x264/depends b/extra/x264/depends new file mode 100644 index 00000000..f56f4f37 --- /dev/null +++ b/extra/x264/depends @@ -0,0 +1,2 @@ +nasm make +perl make diff --git a/extra/x264/patches/x264-no-bash.patch b/extra/x264/patches/x264-no-bash.patch new file mode 100644 index 00000000..07e8dd2b --- /dev/null +++ b/extra/x264/patches/x264-no-bash.patch @@ -0,0 +1,222 @@ +diff --git a/configure b/configure-posix +index 3cf63e0..1e1fce5 100755 +--- a/configure-posix ++++ b/configure +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + if test x"$1" = x"-h" -o x"$1" = x"--help" ; then + cat <<EOF +@@ -59,7 +59,7 @@ exit 1 + fi + + log_check() { +- echo -n "checking $1... " >> config.log ++ echo "checking $1... " >> config.log + } + + log_ok() { +@@ -78,13 +78,12 @@ cc_cflags() { + # several non gcc compilers issue an incredibly large number of warnings on high warning levels, + # suppress them by reducing the warning level rather than having to use #pragmas + for arg in $*; do +- [[ "$arg" = -falign-loops* ]] && arg= ++ case $arg in ++ -falign-loops*|-mpreferred-stack-boundary*|-l*|-L*) arg= ++ esac + [ "$arg" = -fno-tree-vectorize ] && arg= + [ "$arg" = -Wshadow ] && arg= + [ "$arg" = -Wno-maybe-uninitialized ] && arg= +- [[ "$arg" = -mpreferred-stack-boundary* ]] && arg= +- [[ "$arg" = -l* ]] && arg= +- [[ "$arg" = -L* ]] && arg= + if [ $compiler_style = MS ]; then + [ "$arg" = -ffast-math ] && arg="-fp:fast" + [ "$arg" = -Wall ] && arg= +@@ -100,14 +99,14 @@ cc_cflags() { + fi + [ $compiler = CL -a "$arg" = -O3 ] && arg=-O2 + +- [ -n "$arg" ] && echo -n "$arg " ++ [ -n "$arg" ] && printf %s "$arg " + done + } + + cl_ldflags() { + for arg in $*; do +- arg=${arg/LIBPATH/libpath} +- [ "${arg#-libpath:}" == "$arg" -a "${arg#-l}" != "$arg" ] && arg=${arg#-l}.lib ++ arg=$(echo "$arg" | sed -e 's/LIBPATH/libpath/') ++ [ "${arg#-libpath:}" = "$arg" -a "${arg#-l}" != "$arg" ] && arg=${arg#-l}.lib + [ "${arg#-L}" != "$arg" ] && arg=-libpath:${arg#-L} + [ "$arg" = -Wl,--large-address-aware ] && arg=-largeaddressaware + [ "$arg" = -s ] && arg= +@@ -116,14 +115,17 @@ cl_ldflags() { + [ "$arg" = -Werror ] && arg= + [ "$arg" = -Wshadow ] && arg= + [ "$arg" = -Wmaybe-uninitialized ] && arg= +- [[ "$arg" = -Qdiag-error* ]] && arg= + +- arg=${arg/pthreadGC/pthreadVC} ++ case $arg in ++ -Qdiag-error*) arg= ++ esac ++ ++ arg=$(echo "$arg" | sed -e 's/pthreadGC/pthreadVC/') + [ "$arg" = avifil32.lib ] && arg=vfw32.lib + [ "$arg" = gpac_static.lib ] && arg=libgpac_static.lib + [ "$arg" = x264.lib ] && arg=libx264.lib + +- [ -n "$arg" ] && echo -n "$arg " ++ [ -n "$arg" ] && printf %s "$arg " + done + } + +@@ -180,7 +182,7 @@ cpp_check() { + for arg in $1; do + echo "#include <$arg>" >> conftest.c + done +- echo -e "#if !($3) \n#error $4 \n#endif " >> conftest.c ++ printf '%b\n' "#if !($3) \n#error $4 \n#endif " >> conftest.c + if [ $compiler_style = MS ]; then + cpp_cmd="$CC conftest.c $(cc_cflags $CFLAGS $2) -P" + else +@@ -329,11 +331,15 @@ rm -rf conftest* + + # Construct a path to the specified directory relative to the working directory + relative_path() { +- local base="${PWD%/}" +- local path="$(cd "$1" >/dev/null; printf '%s/.' "${PWD%/}")" +- local up='' ++ base="${PWD%/}" ++ path="$(cd "$1" >/dev/null; printf '%s/.' "${PWD%/}")" ++ up='' ++ ++ while :; do ++ case $path in ++ "$base/"*) break ;; ++ esac + +- while [[ $path != "$base/"* ]]; do + base="${base%/*}" + up="../$up" + done +@@ -564,48 +570,6 @@ trap 'rm -rf conftest*' EXIT + # test for use of compilers that require specific handling + cc_base="$(basename "$CC")" + QPRE="-" +-if [[ $host_os = mingw* || $host_os = cygwin* ]]; then +- if [[ "$cc_base" = icl || "$cc_base" = icl[\ .]* ]]; then +- # Windows Intel Compiler creates dependency generation with absolute Windows paths, Cygwin's make does not support Windows paths. +- [[ $host_os = cygwin* ]] && die "Windows Intel Compiler support requires MSYS" +- compiler=ICL +- compiler_style=MS +- CFLAGS="$CFLAGS -Qstd=c99 -nologo -Qms0 -DHAVE_STRING_H -I\$(SRCPATH)/extras" +- QPRE="-Q" +- cpp_check '' '' '_MSC_VER >= 1400' || die "Windows Intel Compiler support requires Visual Studio 2005 or newer" +- if cpp_check '' '' 'defined(_M_AMD64) || defined(_M_X64)' ; then +- host_cpu=x86_64 +- elif cpp_check '' '' 'defined(_M_IX86)' ; then +- host_cpu=i486 +- fi +- if cc_check '' -Qdiag-error:10006,10157 ; then +- CHECK_CFLAGS="$CHECK_CFLAGS -Qdiag-error:10006,10157" +- fi +- elif [[ "$cc_base" = cl || "$cc_base" = cl[\ .]* ]]; then +- # Standard Microsoft Visual Studio +- compiler=CL +- compiler_style=MS +- CFLAGS="$CFLAGS -nologo -GS- -DHAVE_STRING_H -I\$(SRCPATH)/extras" +- cpp_check '' '' '_MSC_VER > 1800 || (_MSC_VER == 1800 && _MSC_FULL_VER >= 180030324)' || die "Microsoft Visual Studio support requires Visual Studio 2013 Update 2 or newer" +- if cpp_check '' '' 'defined(_M_AMD64) || defined(_M_X64)' ; then +- host_cpu=x86_64 +- elif cpp_check '' '' 'defined(_M_IX86)' ; then +- host_cpu=i486 +- elif cpp_check '' '' 'defined(_M_ARM64)' ; then +- host_cpu=aarch64 +- elif cpp_check '' '' 'defined(_M_ARM)' ; then +- host_cpu=arm +- fi +- else +- # MinGW uses broken pre-VS2015 Microsoft printf functions unless it's told to use the POSIX ones. +- CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=200112L" +- fi +-else +- if [[ "$cc_base" = icc || "$cc_base" = icc[\ .]* ]]; then +- AR="xiar" +- compiler=ICC +- fi +-fi + + if [ $compiler = GNU ]; then + if cc_check '' -Werror=unknown-warning-option ; then +@@ -653,18 +617,6 @@ case $host_os in + define HAVE_MALLOC_H + libm="-lm" + ;; +- cygwin*|mingw*|msys*) +- EXE=".exe" +- if [[ $host_os = cygwin* ]] && cpp_check "" "" "defined(__CYGWIN__)" ; then +- SYS="CYGWIN" +- define HAVE_MALLOC_H +- else +- SYS="WINDOWS" +- DEVNULL="NUL" +- cc_check '' -lshell32 && LDFLAGSCLI="$LDFLAGSCLI -lshell32" +- [ $compiler = GNU ] && RC="${RC-${cross_prefix}windres}" || RC="${RC-rc.exe}" +- fi +- ;; + sunos*|solaris*) + SYS="SunOS" + define HAVE_MALLOC_H +@@ -705,30 +657,6 @@ LDFLAGS="$LDFLAGS $libm" + stack_alignment=4 + case $host_cpu in + i*86) +- ARCH="X86" +- AS="${AS-nasm}" +- AS_EXT=".asm" +- ASFLAGS="$ASFLAGS -DARCH_X86_64=0 -I\$(SRCPATH)/common/x86/" +- if [ $compiler = GNU ]; then +- if [[ "$asm" == auto && "$CFLAGS" != *-march* ]]; then +- CFLAGS="$CFLAGS -march=i686" +- fi +- if [[ "$asm" == auto && "$CFLAGS" != *-mfpmath* ]]; then +- CFLAGS="$CFLAGS -mfpmath=sse -msse -msse2" +- fi +- CFLAGS="-m32 $CFLAGS" +- LDFLAGS="-m32 $LDFLAGS" +- fi +- if [ "$SYS" = MACOSX ]; then +- ASFLAGS="$ASFLAGS -f macho32 -DPREFIX" +- elif [ "$SYS" = WINDOWS -o "$SYS" = CYGWIN ]; then +- ASFLAGS="$ASFLAGS -f win32 -DPREFIX" +- LDFLAGS="$LDFLAGS -Wl,--large-address-aware" +- [ $compiler = GNU ] && LDFLAGS="$LDFLAGS -Wl,--dynamicbase,--nxcompat,--tsaware" +- [ $compiler = GNU ] && RCFLAGS="--target=pe-i386 $RCFLAGS" +- else +- ASFLAGS="$ASFLAGS -f elf32" +- fi + ;; + x86_64) + ARCH="X86_64" +@@ -931,7 +859,7 @@ fi + + if [ $asm = auto -a $ARCH = ARM ] ; then + # set flags so neon is built by default +- [ $compiler == CL ] || echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon" ++ [ $compiler = CL ] || echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon" + + cc_check '' '' '__asm__("add r0, r1, r2");' && define HAVE_ARM_INLINE_ASM + if [ $compiler = CL ] && cpp_check '' '' 'defined(_M_ARM) && _M_ARM >= 7' ; then +@@ -1576,7 +1504,8 @@ cat conftest.log >> config.log + cat conftest.log + + [ "$SRCPATH" != "." ] && ln -sf ${SRCPATH}/Makefile ./Makefile +-mkdir -p common/{aarch64,arm,mips,ppc,x86} encoder extras filters/video input output tools ++mkdir -p common/aarch64 common/arm common/mips common/ppc common/x86 ++mkdir -p encoder extras filters/video input output tools + + echo + echo "You can run 'make' or 'make fprofiled' now." diff --git a/extra/x264/sources b/extra/x264/sources new file mode 100644 index 00000000..ec3be5cb --- /dev/null +++ b/extra/x264/sources @@ -0,0 +1,2 @@ +https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20190812-2245-stable.tar.bz2 +patches/x264-no-bash.patch diff --git a/extra/x264/version b/extra/x264/version new file mode 100644 index 00000000..c416a334 --- /dev/null +++ b/extra/x264/version @@ -0,0 +1 @@ +20190812-2245 4 |