| # 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", |
| ] |
| } |