OSDN Git Service

Disable surface and swapchain support for Android
[android-x86/external-swiftshader.git] / BUILD.gn
index 7af9f6a..56c78ce 100644 (file)
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -14,6 +14,7 @@
 
 import("//build/config/c++/c++.gni")
 import("//build/config/compiler/compiler.gni")
+import("//build/config/mips.gni")
 
 config("swiftshader_config") {
   defines = []
@@ -88,7 +89,7 @@ config("swiftshader_config") {
         "-march=x86-64",
         "-mtune=generic",
       ]
-    } else {  # 32 bit version
+    } else if (target_cpu == "x86") {  # 32 bit version
       cflags += [
         "-m32",
         "-msse2",
@@ -96,16 +97,58 @@ config("swiftshader_config") {
         "-march=pentium4",
         "-mtune=generic",
       ]
+    } else if (target_cpu == "mipsel" && current_cpu == target_cpu) {
+      cflags += [
+        "-march=mipsel",
+        "-fPIC",
+        "-mhard-float",
+        "-mfp32",
+      ]
+      if (mips_arch_variant == "r1") {
+        cflags += [
+          "-mcpu=mips32",
+        ]
+      } else {
+        cflags += [
+          "-mcpu=mips32r2",
+        ]
+      }
+    } else if (target_cpu == "mips64el" && current_cpu == target_cpu) {
+      cflags += [
+        "-march=mips64el",
+        "-mcpu=mips64r2",
+        "-mabi=64",
+        "-fPIC",
+      ]
     }
 
     if (is_linux) {
-      ldflags = [
-        "-Wl,--hash-style=both",
-        "-Wl,--gc-sections",
-      ]
+      ldflags = [ "-Wl,--gc-sections" ]
+
+      if (target_cpu == "mipsel") {
+        ldflags += [
+          "-Wl,--hash-style=sysv",
+        ]
+        if (mips_arch_variant == "r1") {
+          ldflags += [
+            "-mips32",
+          ]
+        } else {
+          ldflags += [
+            "-mips32r2",
+          ]
+        }
+      } else if (target_cpu == "mips64el") {
+        ldflags += [
+          "-Wl,--hash-style=sysv",
+          "-mips64r2",
+        ]
+      } else {
+        ldflags += [ "-Wl,--hash-style=both" ]
+      }
 
       # A bug in the gold linker prevents using ICF on 32-bit (crbug.com/729532)
-      if (use_gold && target_cpu == "x86") {
+      if (use_gold && (target_cpu == "x86" || target_cpu == "mipsel")) {
         ldflags += [ "-Wl,--icf=none" ]
       }
     }
@@ -142,6 +185,6 @@ group("swiftshader_tests") {
   testonly = true
 
   data_deps = [
-    "tests/unittests:swiftshader_unittests",
+    "tests/GLESUnitTests:swiftshader_unittests",
   ]
 }