# 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. config("swiftshader_config") { if (is_win) { cflags = [ "/GS", # Detects some buffer overruns "/Zc:wchar_t", "/D_CRT_SECURE_NO_DEPRECATE", "/DNOMINMAX", "/D_WINDLL", "/EHsc", "/nologo", "/Gd", # Default calling convention ] if (is_debug) { cflags += [ "/RTC1" ] # Run-Time Error Checks } else { cflags += [ "/DANGLE_DISABLE_TRACE" ] } } else { cflags = [ "-std=c++11" ] if (is_debug) { cflags += [ "-g" ] } else { # Release # All Release builds use function/data sections to make the shared libraries smaller cflags += [ "-ffunction-sections", "-fdata-sections", "-fomit-frame-pointer", "-DANGLE_DISABLE_TRACE", ] # Choose the right Release architecture if (target_cpu == "x64") { cflags += [ "-march=core2" ] } else { # 32 cflags += [ "-march=i686" ] } } if (target_cpu == "x64") { # 64 bit version cflags += [ "-m64", "-fPIC", ] } else { # 32 bit version cflags += [ "-m32" ] } } } group("swiftshader") { data_deps = [ "src/OpenGL/libGLESv2:swiftshader_libGLESv2", "src/OpenGL/libEGL:swiftshader_libEGL", ] }