# 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("../../swiftshader.gni") import("//testing/libfuzzer/fuzzer_test.gni") # Need a separate config to ensure the warnings are added to the end. config("swiftshader_opengl_compiler_private_config") { if (is_win) { cflags = [ "/wd4005", # macro redefinition (in autogenerated code) "/wd4201", # nameless struct/union "/wd4267", # conversion from size_t to int/unsigned int "/wd4702", # unreachable code (in autogenerated code) "/wd5030", # attribute is not recognized ] if (!is_debug) { cflags += [ "/wd4189" ] # local variable is initialized but not referenced (variables only used in ASSERTS) } } else { cflags = [ "-Wno-sign-compare" ] if (!is_debug) { cflags += [ "-Wno-unused-variable" ] # local variable is initialized but not referenced (variables only used in ASSERTS) } } } config("swiftshader_translator_disable_pool_alloc") { defines = [ "SWIFTSHADER_TRANSLATOR_DISABLE_POOL_ALLOC" ] } swiftshader_source_set("swiftshader_opengl_compiler") { deps = [ "preprocessor:swiftshader_opengl_preprocessor", ] sources = [ "AnalyzeCallDepth.cpp", "Compiler.cpp", "Diagnostics.cpp", "DirectiveHandler.cpp", "InfoSink.cpp", "Initialize.cpp", "InitializeParseContext.cpp", "IntermTraverse.cpp", "Intermediate.cpp", "OutputASM.cpp", "ParseHelper.cpp", "PoolAlloc.cpp", "SymbolTable.cpp", "TranslatorASM.cpp", "ValidateLimitations.cpp", "ValidateSwitch.cpp", "debug.cpp", "glslang_lex.cpp", "glslang_tab.cpp", "intermOut.cpp", "parseConst.cpp", "util.cpp", ] if (use_fuzzing_engine) { all_dependent_configs = [ ":swiftshader_translator_disable_pool_alloc" ] } if (is_linux || is_chromeos || is_mac || is_fuchsia) { sources += [ "ossource_posix.cpp" ] } else if (is_win) { sources += [ "ossource_win.cpp" ] } configs = [ ":swiftshader_opengl_compiler_private_config" ] include_dirs = [ "..", "../..", "../../../include", ] }