aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Sujak <jakub.sujak@arm.com>2024-03-20 18:18:08 +0000
committerJakub Sujak <jakub.sujak@arm.com>2024-03-21 17:16:31 +0000
commit6a827871d5cc3f3119ffd6c5c78900a1c61971cd (patch)
treec3d8eaf809bbec4b9e9e03c38987aebef4b03e5a
parent8609ca08556d4d928e290b963c71e731ac24bd52 (diff)
downloadComputeLibrary-6a827871d5cc3f3119ffd6c5c78900a1c61971cd.tar.gz
Workaround to enable cross-compiling from macOS® to Android™
Change-Id: I2e64b714b0da39cd39d6d498c69e81ffaa008b1e Signed-off-by: Jakub Sujak <jakub.sujak@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/11329 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Suhail M <MohammedSuhail.Munshi@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com>
-rw-r--r--SConscript8
1 files changed, 8 insertions, 0 deletions
diff --git a/SConscript b/SConscript
index 4c4bcc76f9..f1b81ec2a5 100644
--- a/SConscript
+++ b/SConscript
@@ -30,6 +30,7 @@ import subprocess
import zlib
import json
import codecs
+import platform
VERSION = "v0.0-unreleased"
LIBRARY_VERSION_MAJOR = 35
@@ -41,6 +42,13 @@ Import('env')
Import('vars')
Import('install_lib')
+# Workaround to enable cross-compiling from macOS® to Android™ using the Android NDK.
+if platform.system() == 'Darwin' and env['os'] == 'android':
+ # SCons incorrectly assumes that we always want to build a dynamic library on a macOS host.
+ # When targeting Android, we overwrite the following construction variables to build a shared library instead.
+ env.Replace(SHLIBSUFFIX = '.so') # overwrites .dylib
+ env.Replace(SHLINKFLAGS = ['$LINKFLAGS', '-shared']) # overwrites -dynamiclib
+
def build_bootcode_objs(sources):
arm_compute_env.Append(ASFLAGS = "-I bootcode/")
obj = arm_compute_env.Object(sources)