Index: head/multimedia/libx264/Makefile =================================================================== --- head/multimedia/libx264/Makefile (revision 445836) +++ head/multimedia/libx264/Makefile (revision 445837) @@ -1,38 +1,40 @@ # Created by: Michael Johnson # $FreeBSD$ # # Updating notes: see multimedia/x264/Makefile. PKGNAMEPREFIX= lib COMMENT= H.264/MPEG-4 AVC Video Encoding (Library) MASTERDIR= ${.CURDIR}/../x264 PLIST= ${.CURDIR}/pkg-plist # Clear dependency on libx264 (itself), see x264/Makefile LIB_DEPENDS= # USES= pathfix -OPTIONS_DEFINE= HI10P OPENCL -OPTIONS_DEFAULT= OPENCL +OPTIONS_DEFINE= ASM HI10P OPENCL +OPTIONS_DEFAULT= ASM OPENCL OPTIONS_EXCLUDE= FFMS GPAC LAVF LSMASH SWSCALE + +ASM_BUILD_DEPENDS= yasm>=1.2.0:devel/yasm HI10P_DESC= Enable High 10 Profile 10-bit encoding HI10P_CONFIGURE_ON= --bit-depth=10 OPENCL_BUILD_DEPENDS= ${LOCALBASE}/include/CL/opencl.h:devel/opencl OPENCL_CONFIGURE_ENABLE=opencl CONFIGURE_ARGS= \ --enable-static \ --enable-shared \ --disable-cli PATHFIX_MAKEFILEIN= Makefile PLIST_FILES= # PLIST_SUB+= X264_BUILD=${X264_BUILD} pre-build: .include "${MASTERDIR}/Makefile" Index: head/multimedia/x264/Makefile =================================================================== --- head/multimedia/x264/Makefile (revision 445836) +++ head/multimedia/x264/Makefile (revision 445837) @@ -1,127 +1,126 @@ # Created by: Michael Johnson # $FreeBSD$ # # NOTES FOR UPDATING PORT: # # We use tarballs from the *stable* branch of the upstream git repository. # # X264_BUILD is the "core" number, and can be found in x264.h. # # X264_COMMIT is the commit number, and can be found here: # http://git.videolan.org/?p=x264.git;a=shortlog;h=refs/heads/stable # # X264_REV requires a checkout the git revision for the version the port # is being updated to. Then run version.sh against it. # # Bumping PORTREVISION for dependent ports? This is useful: # cd $PORTSDIR; for x in $(find . -name "Makefile*" -print); # do str=$(grep -i x264.so $x); if [[ -n $str ]] { echo "$x" }; done PORTNAME= x264 PORTVERSION= 0.${X264_BUILD}.${X264_REV} PORTREVISION?= 0 CATEGORIES= multimedia MASTER_SITES= ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ \ http://samples.mplayerhq.hu/yuv4mpeg2/:pgo DISTNAME= ${PORTNAME}-snapshot-${X264_SNAPSHOT}-2245-stable DISTFILES= ${DISTNAME}${EXTRACT_SUFX} DIST_SUBDIR= x264 EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= koobs@FreeBSD.org COMMENT?= H.264/MPEG-4 AVC Video Encoding (Front End CLI) LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING -BUILD_DEPENDS= yasm>=1.2.0:devel/yasm \ - bash:shells/bash +BUILD_DEPENDS= bash:shells/bash LIB_DEPENDS?= libx264.so:multimedia/libx264 X264_BUILD= 148 X264_REV= 2795 X264_COMMIT= aaa9aa83a111ed6f1db253d5afa91c5fc844583f X264_GITVER= ${X264_COMMIT:C/^(.......).*$/\1/g} X264_SNAPSHOT= 20170626 USES?= pkgconfig USES+= gmake localbase shebangfix tar:bzip2 USE_LDCONFIG= yes HAS_CONFIGURE= yes SHEBANG_FILES= configure PLIST_FILES?= bin/x264 -OPTIONS_DEFINE+= ASM DEBUG FFMS GCC LAVF PGO SWSCALE +OPTIONS_DEFINE+= DEBUG FFMS GCC LAVF PGO SWSCALE OPTIONS_RADIO+= MP4 OPTIONS_RADIO_MP4+= GPAC LSMASH -OPTIONS_DEFAULT+= ASM LSMASH +OPTIONS_DEFAULT+= LSMASH FFMS_DESC= FFmpeg Source input support GPAC_DESC= GPAC library support LAVF_DESC= libav* format input support (requires FFmpeg) LSMASH_DESC= L-SMASH library support MP4_DESC= MPEG-4 output SWSCALE_DESC= Resize video filter ASM_CONFIGURE_ENABLE= asm DEBUG_CONFIGURE_ENABLE= debug DEBUG_CONFIGURE_OFF= --enable-strip FFMS_LIB_DEPENDS= libffms2.so:multimedia/ffms2 FFMS_CONFIGURE_ENABLE= ffms FFMS_IMPLIES= SWSCALE GCC_VARS= USE_GCC=yes GPAC_LIB_DEPENDS= libgpac.so:multimedia/gpac-libgpac GPAC_CONFIGURE_ENABLE= gpac LAVF_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ libavformat.so:multimedia/ffmpeg \ libavutil.so:multimedia/ffmpeg LAVF_CONFIGURE_ENABLE= lavf LAVF_IMPLIES= SWSCALE LSMASH_LIB_DEPENDS= liblsmash.so:multimedia/l-smash LSMASH_CONFIGURE_ENABLE=lsmash PGO_DISTFILES= ${Y4M_VIDEO_DISTFILE}:pgo PGO_MAKE_ENV= VIDS="${WRKDIR}/${Y4M_VIDEO}" PGO_ALL_TARGET= fprofiled # y4m sample video Y4M_VIDEO= example.y4m Y4M_VIDEO_DISTFILE= example.y4m.bz2 PGO_VARS= USE_GCC=any \ RESTRICTED="${Y4M_VIDEO_DISTFILE} file may not be mirrored" \ RESTRICTED_FILES="${Y4M_VIDEO_DISTFILE}" SWSCALE_LIB_DEPENDS= libavutil.so:multimedia/ffmpeg \ libswscale.so:multimedia/ffmpeg SWSCALE_CONFIGURE_ENABLE= swscale CONFIGURE_ARGS?= --system-libx264 CONFIGURE_ARGS+= --prefix="${PREFIX}" \ --extra-cflags="${CPPFLAGS} ${CFLAGS}" \ --extra-ldflags="${LDFLAGS}" post-extract-PGO-on: @${BZIP2_CMD} -dc ${DISTDIR}/${DIST_SUBDIR}/${Y4M_VIDEO_DISTFILE} \ >${WRKDIR}/${Y4M_VIDEO} post-patch: @${REINPLACE_CMD} -e ' \ s|gpac_static|gpac|g' \ ${WRKSRC}/configure @${REINPLACE_CMD} -e ' \ s|bash|sh|; \ s|VER="x"|VER="${X264_REV} ${X264_GITVER}"|; \ s|VERSION=""|VERSION=" r${X264_REV} ${X264_GITVER}"|' \ ${WRKSRC}/version.sh .if !target(pre-build) pre-build: @(${RM} ${WRKSRC}/x264_config.h) .endif .include Index: head/multimedia/x264/files/patch-configure =================================================================== --- head/multimedia/x264/files/patch-configure (revision 445836) +++ head/multimedia/x264/files/patch-configure (revision 445837) @@ -1,88 +1,97 @@ --- configure.orig 2017-06-26 20:45:05 UTC +++ configure @@ -682,12 +682,6 @@ case $host_cpu in 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 @@ -702,7 +696,7 @@ case $host_cpu in ASFLAGS="$ASFLAGS -f elf32" fi ;; - x86_64) + amd64|x86_64) ARCH="X86_64" AS="${AS-yasm}" AS_EXT=".asm" @@ -776,7 +770,7 @@ case $host_cpu in AS="${AS-${CC}}" fi ;; - aarch64) + aarch64|arm64) ARCH="AARCH64" stack_alignment=16 AS="${AS-${CC}}" +@@ -875,7 +869,7 @@ elif [ $compiler = ICC -a $ARCH = X86 ]; then + fi + fi + +-if [ $asm = auto -a \( $ARCH = X86 -o $ARCH = X86_64 \) ] ; then ++if [ $cli_libx264 != system -a $asm = auto -a \( $ARCH = X86 -o $ARCH = X86_64 \) ] ; then + if ! as_check "vpmovzxwd ymm0, xmm0" ; then + VER=`($AS --version || echo no assembler) 2>/dev/null | head -n 1` + echo "Found $VER" @@ -889,9 +883,6 @@ if [ $asm = auto -a \( $ARCH = X86 -o $ARCH = X86_64 \ 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" - cc_check '' '' '__asm__("add r0, r1, r2");' && define HAVE_ARM_INLINE_ASM if [ $compiler = CL ] && cpp_check '' '' 'defined(_M_ARM) && _M_ARM >= 7' ; then define HAVE_ARMV6 @@ -902,9 +893,8 @@ if [ $asm = auto -a $ARCH = ARM ] ; then cc_check '' '' '__asm__("vadd.i16 q0, q0, q0");' && define HAVE_NEON ASFLAGS="$ASFLAGS -c" else - echo "You specified a pre-ARMv6 or Thumb-1 CPU in your CFLAGS." - echo "If you really want to run on such a CPU, configure with --disable-asm." - exit 1 + echo "No usable SIMD found, assuming --disable-asm." + asm="no" fi fi @@ -931,9 +921,8 @@ if [ $asm = auto -a $ARCH = MIPS ] ; then if cc_check '' '' '__asm__("addvi.b $w0, $w1, 1");' ; then define HAVE_MSA else - echo "You specified a pre-MSA CPU in your CFLAGS." - echo "If you really want to run on such a CPU, configure with --disable-asm." - exit 1 + echo "No usable SIMD found, assuming --disable-asm." + asm="no" fi fi @@ -1245,10 +1234,6 @@ if cc_check '' -Wshadow ; then CFLAGS="-Wshadow $CFLAGS" fi -if cc_check '' -Wmaybe-uninitialized ; then - CFLAGS="-Wno-maybe-uninitialized $CFLAGS" -fi - if [ $compiler = ICC -o $compiler = ICL ] ; then if cc_check 'extras/intel_dispatcher.h' '' 'x264_intel_dispatcher_override();' ; then define HAVE_INTEL_DISPATCHER @@ -1284,6 +1269,9 @@ if [ "$opencl" = "yes" ]; then opencl="yes" define HAVE_OPENCL libdl="-ldl" + else + opencl="yes" + define HAVE_OPENCL fi LDFLAGS="$LDFLAGS $libdl" fi