You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
2.5 KiB
113 lines
2.5 KiB
# Copyright 2016 The SwiftShader Authors. All Rights Reserved. |
|
# |
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
|
# you may not use this file except in compliance with the License. |
|
# You may obtain a copy of the License at |
|
# |
|
# http://www.apache.org/licenses/LICENSE-2.0 |
|
# |
|
# Unless required by applicable law or agreed to in writing, software |
|
# distributed under the License is distributed on an "AS IS" BASIS, |
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
# See the License for the specific language governing permissions and |
|
# limitations under the License. |
|
|
|
import("//build/config/compiler/compiler.gni") |
|
|
|
config("swiftshader_config") { |
|
defines = [ "STRICT_CONFORMANCE" ] # Disables OpenGL ES 3.0 |
|
|
|
if (is_win) { |
|
cflags = [ |
|
"/GS", # Detects some buffer overruns |
|
"/Zc:wchar_t", |
|
"/EHsc", |
|
"/nologo", |
|
"/Gd", # Default calling convention |
|
] |
|
|
|
defines += [ |
|
"_CRT_SECURE_NO_DEPRECATE", |
|
"NOMINMAX", |
|
"_WINDLL", |
|
"NO_SANITIZE_FUNCTION=", |
|
] |
|
|
|
if (!is_debug) { |
|
defines += [ "ANGLE_DISABLE_TRACE" ] |
|
} |
|
} else { |
|
cflags = [ |
|
"-std=c++11", |
|
"-fno-exceptions", |
|
"-fno-operator-names", |
|
] |
|
|
|
defines += [ |
|
"__STDC_CONSTANT_MACROS", |
|
"__STDC_LIMIT_MACROS", |
|
"NO_SANITIZE_FUNCTION=__attribute__((no_sanitize(\"function\")))", |
|
] |
|
|
|
if (is_debug) { |
|
cflags += [ |
|
"-g", |
|
"-g3", |
|
] |
|
} else { # Release |
|
# All Release builds use function/data sections to make the shared libraries smaller |
|
cflags += [ |
|
"-ffunction-sections", |
|
"-fdata-sections", |
|
"-fomit-frame-pointer", |
|
"-Os", |
|
] |
|
|
|
defines += [ |
|
"ANGLE_DISABLE_TRACE", |
|
"NDEBUG", |
|
] |
|
} |
|
|
|
if (target_cpu == "x64") { # 64 bit version |
|
cflags += [ |
|
"-m64", |
|
"-fPIC", |
|
"-march=core2", |
|
] |
|
} else { # 32 bit version |
|
cflags += [ |
|
"-m32", |
|
"-msse2", |
|
"-march=i686", |
|
] |
|
} |
|
|
|
if (is_linux) { |
|
ldflags = [ |
|
"-Wl,--hash-style=both", |
|
"-Wl,--gc-sections", |
|
] |
|
|
|
# A bug in the gold linker prevents using ICF on 32-bit (crbug.com/729532) |
|
if (use_gold && target_cpu == "x86") { |
|
ldflags += [ "-Wl,--icf=none" ] |
|
} |
|
} |
|
} |
|
} |
|
|
|
group("swiftshader") { |
|
data_deps = [ |
|
"src/OpenGL/libGLESv2:swiftshader_libGLESv2", |
|
"src/OpenGL/libEGL:swiftshader_libEGL", |
|
] |
|
} |
|
|
|
group("swiftshader_tests") { |
|
testonly = true |
|
|
|
data_deps = [ |
|
"tests/unittests:swiftshader_unittests", |
|
] |
|
}
|
|
|