| # 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_mac || is_fuchsia) { | |
| sources += [ "ossource_posix.cpp" ] | |
| } else if (is_win) { | |
| sources += [ "ossource_win.cpp" ] | |
| } | |
| configs = [ ":swiftshader_opengl_compiler_private_config" ] | |
| include_dirs = [ | |
| "..", | |
| "../..", | |
| "../../../include", | |
| ] | |
| } |