svn commit: r400714 - in branches/2015Q4/multimedia/openh264: . files
Jan Beich
jbeich at FreeBSD.org
Tue Nov 3 20:21:03 UTC 2015
Author: jbeich
Date: Tue Nov 3 20:21:02 2015
New Revision: 400714
URL: https://svnweb.freebsd.org/changeset/ports/400714
Log:
MFH: r400578 (slightly reworded), r400697
multimedia/openh264: unbreak build on aarch64
/nxb-bin/usr/bin/cc -O2 -pipe -I/usr/local/include/gmp-api -fno-strict-aliasing -DHAVE_NEON_AARCH64 -fPIC -DGENERATED_VERSION_HEADER -I./codec/common/arm64/ -I./codec/api/svc -I./codec/common/inc -c -o codec/common/arm64/copy_mb_aarch64_neon.o codec/common/arm64/copy_mb_aarch64_neon.S
<instantiation>:4:1: error: unknown directive
.func WelsCopy8x8_AArch64_neon
^
codec/common/arm64/copy_mb_aarch64_neon.S:186:1: note: while in macro instantiation
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy8x8_AArch64_neon
^
<instantiation>:2:1: error: unknown directive
.endfunc
^
codec/common/arm64/copy_mb_aarch64_neon.S:196:1: note: while in macro instantiation
WELS_ASM_AARCH64_FUNC_END
^
[...]
Backout r394430 as armv6 can do NEON on some CPUs but runtime
detection on FreeBSD is unavailable. aarch64 always has NEON.
So, detect NEON via compiler defines:
# make.conf: force NEON for armv6 architecture (newer boards)
CFLAGS+= -march=armv7-a
PR: 201273 (ping)
Approved by: ports-secteam (feld)
Added:
branches/2015Q4/multimedia/openh264/files/patch-codec_common_src_cpu.cpp
- copied unchanged from r400578, head/multimedia/openh264/files/patch-codec_common_src_cpu.cpp
Deleted:
branches/2015Q4/multimedia/openh264/files/patch-build_arch.mk
Modified:
branches/2015Q4/multimedia/openh264/Makefile
Directory Properties:
branches/2015Q4/ (props changed)
Modified: branches/2015Q4/multimedia/openh264/Makefile
==============================================================================
--- branches/2015Q4/multimedia/openh264/Makefile Tue Nov 3 20:02:30 2015 (r400713)
+++ branches/2015Q4/multimedia/openh264/Makefile Tue Nov 3 20:21:02 2015 (r400714)
@@ -3,7 +3,7 @@
PORTNAME= openh264
PORTVERSION= 1.4.0
DISTVERSIONPREFIX=v
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= multimedia
MAINTAINER= gecko at FreeBSD.org
@@ -14,10 +14,14 @@ LICENSE= BSD2CLAUSE
USE_GITHUB= yes
GH_ACCOUNT= cisco
-USES= cpe gmake
+USES= compiler cpe gmake
CPE_VENDOR= cisco
USE_LDCONFIG= yes
+ASFLAGS+= ${ASFLAGS_${MACHINE}_${CHOSEN_COMPILER_TYPE}}
+ASFLAGS_arm_clang= -no-integrated-as
+ASFLAGS_arm64_clang= -no-integrated-as
MAKE_ARGS= OS=freebsd ARCH="${ARCH:S/amd64/x86_64/}" \
+ CCASFLAGS='$$(CFLAGS) ${ASFLAGS}' \
CFLAGS_OPT="" CFLAGS_DEBUG=""
ALL_TARGET= all
Copied: branches/2015Q4/multimedia/openh264/files/patch-codec_common_src_cpu.cpp (from r400578, head/multimedia/openh264/files/patch-codec_common_src_cpu.cpp)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2015Q4/multimedia/openh264/files/patch-codec_common_src_cpu.cpp Tue Nov 3 20:21:02 2015 (r400714, copy of r400578, head/multimedia/openh264/files/patch-codec_common_src_cpu.cpp)
@@ -0,0 +1,23 @@
+--- codec/common/src/cpu.cpp.orig 2015-03-25 07:43:00 UTC
++++ codec/common/src/cpu.cpp
+@@ -276,9 +276,17 @@ uint32_t WelsCPUFeatureDetect (int32_t*
+ * that NEON and all associated features are available. */
+
+ uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
+- return WELS_CPU_ARMv7 |
+- WELS_CPU_VFPv3 |
+- WELS_CPU_NEON;
++ int flags = 0;
++# if __ARM_ARCH == 7
++ flags |= WELS_CPU_ARMv7;
++# endif
++# ifdef __ARM_VFPV3__
++ flags |= WELS_CPU_VFPv3;
++# endif
++# ifdef __ARM_NEON
++ flags |= WELS_CPU_NEON;
++# endif
++ return flags;
+ }
+ #endif
+ #elif defined(HAVE_NEON_AARCH64)
More information about the svn-ports-all
mailing list