mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
114 lines
2.5 KiB
Plaintext
114 lines
2.5 KiB
Plaintext
|
# 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 = []
|
||
|
|
||
|
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",
|
||
|
]
|
||
|
}
|