# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # libEGL depends on (links against!) libGLESv2! if CONFIG['MOZ_ANGLE_RENDERER']: DIRS += ['src/libGLESv2', 'src/libEGL'] EXPORTS.angle += [ 'include/GLSLANG/ShaderLang.h', 'include/KHR/khrplatform.h', ] # WARNING: CPP_SOURCES seems very dependent on ordering. Grouping all of these # CPP_SOURCES lines into one list may break webgl tests. # Target: 'preprocessor' # src/compiler/preprocessor: UNIFIED_SOURCES += ['src/compiler/preprocessor/' + src for src in [ 'DiagnosticsBase.cpp', 'DirectiveHandlerBase.cpp', 'DirectiveParser.cpp', 'ExpressionParser.cpp', 'Input.cpp', 'Lexer.cpp', 'Macro.cpp', 'MacroExpander.cpp', 'Preprocessor.cpp', 'Token.cpp', 'Tokenizer.cpp', ]] # Target: 'translator_common' # Requires: 'preprocessor' # src/compiler: UNIFIED_SOURCES += ['src/compiler/' + src for src in [ 'BuiltInFunctionEmulator.cpp', 'Compiler.cpp', 'compiler_debug.cpp', 'CompilerUniform.cpp', 'DetectCallDepth.cpp', 'Diagnostics.cpp', 'DirectiveHandler.cpp', 'ForLoopUnroll.cpp', 'InfoSink.cpp', 'Initialize.cpp', 'InitializeDll.cpp', 'InitializeParseContext.cpp', 'Intermediate.cpp', 'intermOut.cpp', 'IntermTraverse.cpp', 'MapLongVariableNames.cpp', 'parseConst.cpp', 'ParseHelper.cpp', 'PoolAlloc.cpp', 'QualifierAlive.cpp', 'RemoveTree.cpp', 'SymbolTable.cpp', 'util.cpp', 'ValidateLimitations.cpp', 'VariableInfo.cpp', 'VariablePacker.cpp', ]] # The yacc source files need to be built separately. SOURCES += ['src/compiler/' + src for src in [ 'glslang_lex.cpp', 'glslang_tab.cpp', ]] # src/compiler/depgraph: UNIFIED_SOURCES += ['src/compiler/depgraph/' + src for src in [ 'DependencyGraph.cpp', 'DependencyGraphBuilder.cpp', 'DependencyGraphOutput.cpp', 'DependencyGraphTraverse.cpp', ]] # src/compiler/timing: UNIFIED_SOURCES += ['src/compiler/timing/' + src for src in [ 'RestrictFragmentShaderTiming.cpp', 'RestrictVertexShaderTiming.cpp', ]] # src/third_party/compiler: UNIFIED_SOURCES += ['src/third_party/compiler/' + src for src in [ 'ArrayBoundsClamper.cpp', ]] # src/third_party/murmurhash: UNIFIED_SOURCES += ['src/third_party/murmurhash/' + src for src in [ 'MurmurHash3.cpp', ]] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': UNIFIED_SOURCES += [ 'src/compiler/ossource_win.cpp', ] else: UNIFIED_SOURCES += [ 'src/compiler/ossource_posix.cpp', ] # Target: 'translator_glsl' # Requires: 'translator_common' # src/compiler: UNIFIED_SOURCES += ['src/compiler/' + src for src in [ 'CodeGenGLSL.cpp', 'OutputESSL.cpp', 'OutputGLSL.cpp', 'OutputGLSLBase.cpp', 'ShaderLang.cpp', 'TranslatorESSL.cpp', 'TranslatorGLSL.cpp', 'VersionGLSL.cpp', ]] MSVC_ENABLE_PGO = True LOCAL_INCLUDES += [ 'include', 'include/KHR', 'src', ] if CONFIG['GKMEDIAS_SHARED_LIBRARY']: NO_VISIBILITY_FLAGS = True FINAL_LIBRARY = 'gkmedias' DEFINES['ANGLE_DISABLE_TRACE'] = True DEFINES['ANGLE_COMPILE_OPTIMIZATION_LEVEL'] = 'D3DCOMPILE_OPTIMIZATION_LEVEL1' DEFINES['COMPILER_IMPLEMENTATION'] = True # Suppress warnings in third-party code. if CONFIG['GNU_CXX']: CXXFLAGS += [ '-Wno-attributes', '-Wno-sign-compare', '-Wno-unknown-pragmas', ] if CONFIG['CLANG_CXX']: CXXFLAGS += ['-Wno-unused-private-field']