OSDN Git Service

Fixed default color values for R and RG types
[android-x86/external-swiftshader.git] / BUILD.gn
1 # Copyright 2016 The SwiftShader Authors. All Rights Reserved.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #    http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 import("//build/config/compiler/compiler.gni")
16
17 config("swiftshader_config") {
18   defines = [ "STRICT_CONFORMANCE" ]  # Disables OpenGL ES 3.0
19
20   if (is_win) {
21     cflags = [
22       "/GS",  # Detects some buffer overruns
23       "/Zc:wchar_t",
24       "/EHsc",
25       "/nologo",
26       "/Gd",  # Default calling convention
27     ]
28
29     defines += [
30       "_CRT_SECURE_NO_DEPRECATE",
31       "NOMINMAX",
32       "_WINDLL",
33     ]
34
35     if (is_debug) {
36       cflags += [ "/RTC1" ]  # Run-Time Error Checks
37     } else {
38       defines += [ "ANGLE_DISABLE_TRACE" ]
39     }
40   } else {
41     cflags = [
42       "-std=c++11",
43       "-Wall",
44       "-fno-exceptions",
45       "-fno-operator-names",
46     ]
47
48     defines += [
49       "__STDC_CONSTANT_MACROS",
50       "__STDC_LIMIT_MACROS",
51     ]
52
53     if (is_debug) {
54       cflags += [
55         "-g",
56         "-g3",
57       ]
58     } else {  # Release
59       # All Release builds use function/data sections to make the shared libraries smaller
60       cflags += [
61         "-ffunction-sections",
62         "-fdata-sections",
63         "-fomit-frame-pointer",
64         "-Os",
65       ]
66
67       defines += [
68         "ANGLE_DISABLE_TRACE",
69         "NDEBUG",
70       ]
71     }
72
73     if (target_cpu == "x64") {  # 64 bit version
74       cflags += [
75         "-m64",
76         "-fPIC",
77         "-march=core2",
78       ]
79     } else {  # 32 bit version
80       cflags += [
81         "-m32",
82         "-msse2",
83         "-march=i686",
84       ]
85     }
86
87     if (is_linux) {
88       ldflags = [
89         "-Wl,--hash-style=both",
90         "-Wl,--gc-sections",
91       ]
92       # A bug in the gold linker prevents using ICF on 32-bit (crbug.com/729532)
93       if (use_gold && target_cpu == "x86") {
94         ldflags += [
95           "-Wl,--icf=none",
96         ]
97       }
98     }
99   }
100 }
101
102 group("swiftshader") {
103   data_deps = [
104     "src/OpenGL/libGLESv2:swiftshader_libGLESv2",
105     "src/OpenGL/libEGL:swiftshader_libEGL",
106   ]
107 }
108
109 group("swiftshader_tests") {
110   testonly = true
111
112   data_deps = [
113     "tests/unittests:swiftshader_unittests",
114   ]
115 }