1# Copyright 2016 The SwiftShader Authors. All Rights Reserved. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15import("../../swiftshader.gni") 16import("//testing/libfuzzer/fuzzer_test.gni") 17 18# Need a separate config to ensure the warnings are added to the end. 19config("swiftshader_opengl_compiler_private_config") { 20 if (is_win) { 21 cflags = [ 22 "/wd4005", # macro redefinition (in autogenerated code) 23 "/wd4201", # nameless struct/union 24 "/wd4267", # conversion from size_t to int/unsigned int 25 "/wd4702", # unreachable code (in autogenerated code) 26 "/wd5030", # attribute is not recognized 27 ] 28 29 if (!is_debug) { 30 cflags += [ "/wd4189" ] # local variable is initialized but not referenced (variables only used in ASSERTS) 31 } 32 } else { 33 cflags = [ "-Wno-sign-compare" ] 34 35 if (!is_debug) { 36 cflags += [ "-Wno-unused-variable" ] # local variable is initialized but not referenced (variables only used in ASSERTS) 37 } 38 } 39} 40 41config("swiftshader_translator_disable_pool_alloc") { 42 defines = [ "SWIFTSHADER_TRANSLATOR_DISABLE_POOL_ALLOC" ] 43} 44 45swiftshader_source_set("swiftshader_opengl_compiler") { 46 deps = [ 47 "preprocessor:swiftshader_opengl_preprocessor", 48 ] 49 50 sources = [ 51 "AnalyzeCallDepth.cpp", 52 "Compiler.cpp", 53 "Diagnostics.cpp", 54 "DirectiveHandler.cpp", 55 "InfoSink.cpp", 56 "Initialize.cpp", 57 "InitializeParseContext.cpp", 58 "IntermTraverse.cpp", 59 "Intermediate.cpp", 60 "OutputASM.cpp", 61 "ParseHelper.cpp", 62 "PoolAlloc.cpp", 63 "SymbolTable.cpp", 64 "TranslatorASM.cpp", 65 "ValidateLimitations.cpp", 66 "ValidateSwitch.cpp", 67 "debug.cpp", 68 "glslang_lex.cpp", 69 "glslang_tab.cpp", 70 "intermOut.cpp", 71 "parseConst.cpp", 72 "util.cpp", 73 ] 74 75 if (use_fuzzing_engine) { 76 all_dependent_configs = [ ":swiftshader_translator_disable_pool_alloc" ] 77 } 78 79 if (is_linux || is_chromeos || is_mac || is_fuchsia) { 80 sources += [ "ossource_posix.cpp" ] 81 } else if (is_win) { 82 sources += [ "ossource_win.cpp" ] 83 } 84 85 configs = [ ":swiftshader_opengl_compiler_private_config" ] 86 87 include_dirs = [ 88 "..", 89 "../..", 90 "../../../include", 91 ] 92} 93