set_config("LINKER_KIND", select_linker.KIND)
-@depends_if(select_linker, target, macos_sdk, sysroot_path, multiarch_dir)
+@depends_if(select_linker, target, macos_sdk, sysroot_path, multiarch_dir, host)
@imports("os")
-def linker_ldflags(linker, target, macos_sdk, sysroot_path, multiarch_dir):
+def linker_ldflags(linker, target, macos_sdk, sysroot_path, multiarch_dir, host):
flags = list((linker and linker.LINKER_FLAG) or [])
if target.kernel == "Darwin":
if linker and linker.KIND == "ld64":
# Non-Debian-patched binutils linkers (both BFD and gold) don't lookup
# in multi-arch directories.
flags.append("-Wl,-rpath-link,%s" % multiarch_lib_dir)
+ elif host.cpu == 'arm':
+ flags.append('-Wl,--no-keep-memory')
return flags
SOURCES += [
'yuv_convert_arm.cpp',
]
+ # The integrated assembler fails to build yuv_convert_arm.cpp because it doesn't have NEON
+ if CONFIG['CC_TYPE'] == 'clang':
+ CXXFLAGS += ['-fno-integrated-as']
LOCAL_INCLUDES += ['/media/libyuv/libyuv/include']
ASFLAGS += ['-I%s/media/libjpeg/simd/nasm/' % TOPSRCDIR]
ASFLAGS += ['-I%s/media/libjpeg/simd/x86_64/' % TOPSRCDIR]
+# The integrated assembler fails to build simd/arm/jsimd_neon.S because it doesn't have NEON
+if CONFIG['CC_TYPE'] == 'clang' and CONFIG['CPU_ARCH'] == 'arm':
+ ASFLAGS += ['-fno-integrated-as']
+
# We allow warnings for third-party code that can be updated from upstream.
AllowCompilerWarnings()