1 # Copyright 2016 The SwiftShader Authors. All Rights Reserved.
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 import("//build/config/compiler/compiler.gni")
17 config("swiftshader_config") {
18 defines = [ "STRICT_CONFORMANCE" ] # Disables OpenGL ES 3.0
22 "/GS", # Detects some buffer overruns
26 "/Gd", # Default calling convention
30 "_CRT_SECURE_NO_DEPRECATE",
33 "NO_SANITIZE_FUNCTION=",
37 cflags += [ "/RTC1" ] # Run-Time Error Checks
39 defines += [ "ANGLE_DISABLE_TRACE" ]
45 "-fno-operator-names",
49 "__STDC_CONSTANT_MACROS",
50 "__STDC_LIMIT_MACROS",
51 "NO_SANITIZE_FUNCTION=__attribute__((no_sanitize(\"function\")))",
60 # All Release builds use function/data sections to make the shared libraries smaller
62 "-ffunction-sections",
64 "-fomit-frame-pointer",
69 "ANGLE_DISABLE_TRACE",
74 if (target_cpu == "x64") { # 64 bit version
80 } else { # 32 bit version
90 "-Wl,--hash-style=both",
94 # A bug in the gold linker prevents using ICF on 32-bit (crbug.com/729532)
95 if (use_gold && target_cpu == "x86") {
96 ldflags += [ "-Wl,--icf=none" ]
102 group("swiftshader") {
104 "src/OpenGL/libGLESv2:swiftshader_libGLESv2",
105 "src/OpenGL/libEGL:swiftshader_libEGL",
109 group("swiftshader_tests") {
113 "tests/unittests:swiftshader_unittests",