yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
13625556
main
1# Copyright (C) 2020-2023 The Khronos Group Inc. 2# 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 9# Redistributions of source code must retain the above copyright 10# notice, this list of conditions and the following disclaimer. 11# 12# Redistributions in binary form must reproduce the above 13# copyright notice, this list of conditions and the following 14# disclaimer in the documentation and/or other materials provided 15# with the distribution. 16# 17# Neither the name of The Khronos Group Inc. nor the names of its 18# contributors may be used to endorse or promote products derived 19# from this software without specific prior written permission. 20# 21# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 24# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 25# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 27# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32# POSSIBILITY OF SUCH DAMAGE. 33 34LOCAL_PATH := $( call my-dir) 35 36# Generate glslang/build_info.h 37GLSLANG_GENERATED_INCLUDEDIR :=$( TARGET_OUT ) /include 38GLSLANG_BUILD_INFO_H :=$( GLSLANG_GENERATED_INCLUDEDIR ) /glslang/build_info.h 39 40define gen_glslang_build_info_h 41$(call generate-file-dir,$(GLSLANG_GENERATED_INCLUDEDIR)/dummy_filename) 42$(GLSLANG_BUILD_INFO_H): \ 43 $(LOCAL_PATH)/build_info.py \ 44 $(LOCAL_PATH)/build_info.h.tmpl \ 45 $(LOCAL_PATH)/CHANGES.md 46 @$(HOST_PYTHON) $(LOCAL_PATH)/build_info.py \ 47 $(LOCAL_PATH) \ 48 -i $(LOCAL_PATH)/build_info.h.tmpl \ 49 -o $(GLSLANG_BUILD_INFO_H) 50 @echo "[$(TARGET_ARCH_ABI)] Generate : $(GLSLANG_BUILD_INFO_H) <= CHANGES.md" 51endef 52$( eval $( call gen_glslang_build_info_h)) 53 54# AMD and NV extensions are turned on by default in upstream Glslang. 55GLSLANG_DEFINES := -DGLSLANG_OSINCLUDE_UNIX 56ifneq ($( GLSLANG_ENABLE_HLSL ) ,0) 57GLSLANG_DEFINES+ = -DENABLE_HLSL 58endif 59 60include$( CLEAR_VARS ) 61LOCAL_MODULE := OSDependent 62LOCAL_CXXFLAGS := -std=c++17 -fno-exceptions -fno-rtti$( GLSLANG_DEFINES ) 63LOCAL_EXPORT_C_INCLUDES :=$( LOCAL_PATH ) 64LOCAL_SRC_FILES := glslang/stub.cpp 65LOCAL_C_INCLUDES :=$( LOCAL_PATH ) 66include$( BUILD_STATIC_LIBRARY ) 67 68include$( CLEAR_VARS ) 69GLSLANG_OUT_PATH =$( if $( call host-path-is-absolute,$( TARGET_OUT )) ,$( TARGET_OUT ) ,$( abspath $( TARGET_OUT ))) 70 71# ShaderLang.cpp depends on the generated build_info.h 72$( LOCAL_PATH ) /glslang/MachineIndependent/ShaderLang.cpp: \ 73$( GLSLANG_BUILD_INFO_H ) 74 75LOCAL_MODULE := glslang 76LOCAL_CXXFLAGS := -std=c++17 -fno-exceptions -fno-rtti$( GLSLANG_DEFINES ) 77LOCAL_EXPORT_C_INCLUDES :=$( LOCAL_PATH ) \ 78$( LOCAL_PATH ) /glslang/OSDependent/Unix 79 80LOCAL_SRC_FILES := \ 81 glslang/CInterface/glslang_c_interface.cpp \ 82 glslang/GenericCodeGen/CodeGen.cpp \ 83 glslang/GenericCodeGen/Link.cpp \ 84 glslang/MachineIndependent/attribute.cpp \ 85 glslang/MachineIndependent/Constant.cpp \ 86 glslang/MachineIndependent/glslang_tab.cpp \ 87 glslang/MachineIndependent/InfoSink.cpp \ 88 glslang/MachineIndependent/Initialize.cpp \ 89 glslang/MachineIndependent/Intermediate.cpp \ 90 glslang/MachineIndependent/intermOut.cpp \ 91 glslang/MachineIndependent/IntermTraverse.cpp \ 92 glslang/MachineIndependent/iomapper.cpp \ 93 glslang/MachineIndependent/limits.cpp \ 94 glslang/MachineIndependent/linkValidate.cpp \ 95 glslang/MachineIndependent/parseConst.cpp \ 96 glslang/MachineIndependent/ParseContextBase.cpp \ 97 glslang/MachineIndependent/ParseHelper.cpp \ 98 glslang/MachineIndependent/PoolAlloc.cpp \ 99 glslang/MachineIndependent/propagateNoContraction.cpp \ 100 glslang/MachineIndependent/reflection.cpp \ 101 glslang/MachineIndependent/RemoveTree.cpp \ 102 glslang/MachineIndependent/Scan.cpp \ 103 glslang/MachineIndependent/ShaderLang.cpp \ 104 glslang/MachineIndependent/SpirvIntrinsics.cpp \ 105 glslang/MachineIndependent/SymbolTable.cpp \ 106 glslang/MachineIndependent/Versions.cpp \ 107 glslang/MachineIndependent/preprocessor/PpAtom.cpp \ 108 glslang/MachineIndependent/preprocessor/PpContext.cpp \ 109 glslang/MachineIndependent/preprocessor/Pp.cpp \ 110 glslang/MachineIndependent/preprocessor/PpScanner.cpp \ 111 glslang/MachineIndependent/preprocessor/PpTokens.cpp \ 112 glslang/OSDependent/Unix/ossource.cpp \ 113 SPIRV/CInterface/spirv_c_interface.cpp \ 114 SPIRV/GlslangToSpv.cpp \ 115 SPIRV/InReadableOrder.cpp \ 116 SPIRV/Logger.cpp \ 117 SPIRV/SpvBuilder.cpp \ 118 SPIRV/SpvPostProcess.cpp \ 119 SPIRV/SpvTools.cpp \ 120 SPIRV/disassemble.cpp \ 121 SPIRV/doc.cpp 122 123ifneq ($( GLSLANG_ENABLE_HLSL ) ,0) 124LOCAL_SRC_FILES+ = \ 125 glslang/HLSL/hlslAttributes.cpp \ 126 glslang/HLSL/hlslGrammar.cpp \ 127 glslang/HLSL/hlslOpMap.cpp \ 128 glslang/HLSL/hlslParseables.cpp \ 129 glslang/HLSL/hlslParseHelper.cpp \ 130 glslang/HLSL/hlslScanContext.cpp \ 131 glslang/HLSL/hlslTokenStream.cpp 132endif 133 134LOCAL_C_INCLUDES :=$( LOCAL_PATH ) \ 135$( LOCAL_PATH ) /glslang/MachineIndependent \ 136$( LOCAL_PATH ) /glslang/OSDependent/Unix \ 137$( LOCAL_PATH ) /SPIRV \ 138$( GLSLANG_GENERATED_INCLUDEDIR ) \ 139$( GLSLANG_OUT_PATH ) 140include$( BUILD_STATIC_LIBRARY ) 141 142include$( CLEAR_VARS ) 143 144# GlslangToSpv.cpp depends on the generated build_info.h 145$( LOCAL_PATH ) /SPIRV/GlslangToSpv.cpp: \ 146$( GLSLANG_BUILD_INFO_H ) 147 148LOCAL_MODULE := SPIRV 149LOCAL_CXXFLAGS := -std=c++17 -fno-exceptions -fno-rtti -Werror$( GLSLANG_DEFINES ) 150LOCAL_SRC_FILES := glslang/stub.cpp 151LOCAL_C_INCLUDES :=$( LOCAL_PATH ) 152LOCAL_EXPORT_C_INCLUDES :=$( LOCAL_PATH ) 153include$( BUILD_STATIC_LIBRARY )