packaging: add Tizen platform support 50/228150/1 accepted/tizen/unified/20200320.074759 submit/tizen/20200319.234951
authorInki Dae <inki.dae@samsung.com>
Thu, 19 Mar 2020 07:44:32 +0000 (16:44 +0900)
committerInki Dae <inki.dae@samsung.com>
Thu, 19 Mar 2020 08:25:23 +0000 (17:25 +0900)
This patch adds toolchain support for Tizen.

Change-Id: Ieb72a2995592aa13bb7fe6621b3db4ecf2b10931
Signed-off-by: Inki Dae <inki.dae@samsung.com>
SConstruct
packaging/libarmcl.spec

index c0cf6d6393810bfd5f995dadfd7f36200949cae7..8bbe7a597da7c83e785870a78ffcdf4a4081987e 100644 (file)
@@ -41,7 +41,7 @@ vars.AddVariables(
     BoolVariable("asserts", "Enable asserts (this flag is forced to 1 for debug=1)", False),
     BoolVariable("logging", "Logging (this flag is forced to 1 for debug=1)", False),
     EnumVariable("arch", "Target Architecture", "armv7a", allowed_values=("armv7a", "arm64-v8a", "arm64-v8.2-a", "arm64-v8.2-a-sve", "x86_32", "x86_64")),
-    EnumVariable("os", "Target OS", "linux", allowed_values=("linux", "android", "bare_metal")),
+    EnumVariable("os", "Target OS", "linux", allowed_values=("linux", "android", "tizen", "bare_metal")),
     EnumVariable("build", "Build type", "cross_compile", allowed_values=("native", "cross_compile", "embed_only")),
     BoolVariable("examples", "Build example programs", True),
     BoolVariable("gemm_tuner", "Build gemm_tuner programs", True),
@@ -176,6 +176,9 @@ if env['arch'] == 'armv7a':
     elif env['os'] == 'android':
         prefix = "arm-linux-androideabi-"
         env.Append(CXXFLAGS = ['-mfloat-abi=softfp'])
+    elif env['os'] == 'tizen':
+        prefix = "armv7l-tizen-linux-gnueabi-"
+        env.Append(CXXFLAGS = ['-mfloat-abi=softfp'])
 elif env['arch'] == 'arm64-v8a':
     env.Append(CXXFLAGS = ['-march=armv8-a'])
     env.Append(CPPDEFINES = ['ARM_COMPUTE_AARCH64_V8A'])
@@ -185,6 +188,8 @@ elif env['arch'] == 'arm64-v8a':
         prefix = "aarch64-elf-"
     elif env['os'] == 'android':
         prefix = "aarch64-linux-android-"
+    elif env['os'] == 'tizen':
+        prefix = "aarch64-tizen-linux-gnu-"
 elif 'arm64-v8.2-a' in env['arch']:
     if env['arch'] == 'arm64-v8.2-a-sve':
         env.Append(CXXFLAGS = ['-march=armv8.2-a+sve+fp16+dotprod'])
@@ -196,6 +201,8 @@ elif 'arm64-v8.2-a' in env['arch']:
         prefix = "aarch64-elf-"
     elif env['os'] == 'android':
         prefix = "aarch64-linux-android-"
+    elif env['os'] == 'tizen':
+        prefix = "aarch64-tizen-linux-gnu-"
     env.Append(CPPDEFINES = ['ARM_COMPUTE_AARCH64_V8_2'])
 elif env['arch'] == 'x86_32':
     env.Append(CCFLAGS = ['-m32'])
index 864f8006562e1a3c51d94de685ca84613dee13a3..0b99503e348e35f553c9dd964ca1a90c3a15af81 100644 (file)
@@ -40,6 +40,10 @@ cp %{SOURCE1001} .
 
 %build
 echo %{_builddir}
+
+# Ps. Tizen toolchain doesn't have generic name of ar and ranlib so
+# 'build=native' is needed not to attach Tizen toolchain prefix
+# but to use native 'ar' and 'ranlib' without any prefix.
 scons -j8              \
        Werror=0        \
        debug=0         \
@@ -49,7 +53,8 @@ scons -j8             \
 %if 0%{?OPEN_CL_SUPPORT} == 1
        opencl=1        \
 %endif  # OPEN_CL_SUPPORT
-       os=linux        \
+       os=tizen        \
+       build=native    \
 %ifarch aarch64
        arch=arm64-v8.2-a       \
 %else