summaryrefslogtreecommitdiffstats
path: root/src/angle/src/compiler/translator_common.pro
blob: b2812158e1b27cc751bfb19bd32ec0e7dc383bf2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
TEMPLATE = lib
CONFIG += static
TARGET = $$qtLibraryTarget(translator_common)

include(../config.pri)

# Mingw 4.7 chokes on implicit move semantics, so disable C++11 here
win32-g++*: CONFIG -= c++11

INCLUDEPATH += \
    $$ANGLE_DIR/src \
    $$ANGLE_DIR/include

DEFINES += _SECURE_SCL=0 _LIB COMPILER_IMPLEMENTATION

FLEX_SOURCES = $$ANGLE_DIR/src/compiler/glslang.l
BISON_SOURCES = $$ANGLE_DIR/src/compiler/glslang.y

HEADERS += \
    $$ANGLE_DIR/src/compiler/BaseTypes.h \
    $$ANGLE_DIR/src/compiler/BuiltInFunctionEmulator.h \
    $$ANGLE_DIR/src/compiler/Common.h \
    $$ANGLE_DIR/src/compiler/ConstantUnion.h \
    $$ANGLE_DIR/src/compiler/debug.h \
    $$ANGLE_DIR/src/compiler/DetectRecursion.h \
    $$ANGLE_DIR/src/compiler/DetectCallDepth.h \
    $$ANGLE_DIR/src/compiler/Diagnostics.h \
    $$ANGLE_DIR/src/compiler/DirectiveHandler.h \
    $$ANGLE_DIR/src/compiler/ForLoopUnroll.h \
    $$ANGLE_DIR/src/compiler/InfoSink.h \
    $$ANGLE_DIR/src/compiler/Initialize.h \
    $$ANGLE_DIR/src/compiler/InitializeDll.h \
    $$ANGLE_DIR/src/compiler/InitializeGlobals.h \
    $$ANGLE_DIR/src/compiler/InitializeGLPosition.h \
    $$ANGLE_DIR/src/compiler/InitializeParseContext.h \
    $$ANGLE_DIR/src/compiler/intermediate.h \
    $$ANGLE_DIR/src/compiler/localintermediate.h \
    $$ANGLE_DIR/src/compiler/MapLongVariableNames.h \
    $$ANGLE_DIR/src/compiler/MMap.h \
    $$ANGLE_DIR/src/compiler/osinclude.h \
    $$ANGLE_DIR/src/compiler/ParseHelper.h \
    $$ANGLE_DIR/src/compiler/PoolAlloc.h \
    $$ANGLE_DIR/src/compiler/QualifierAlive.h \
    $$ANGLE_DIR/src/compiler/RemoveTree.h \
    $$ANGLE_DIR/src/compiler/RenameFunction.h \
    $$ANGLE_DIR/include/GLSLANG/ResourceLimits.h \
    $$ANGLE_DIR/include/GLSLANG/ShaderLang.h \
    $$ANGLE_DIR/src/compiler/ShHandle.h \
    $$ANGLE_DIR/src/compiler/SymbolTable.h \
    $$ANGLE_DIR/src/compiler/Types.h \
    $$ANGLE_DIR/src/compiler/UnfoldShortCircuit.h \
    $$ANGLE_DIR/src/compiler/util.h \
    $$ANGLE_DIR/src/compiler/ValidateLimitations.h \
    $$ANGLE_DIR/src/compiler/VariableInfo.h \
    $$ANGLE_DIR/src/compiler/VariablePacker.h \
    $$ANGLE_DIR/src/compiler/timing/RestrictFragmentShaderTiming.h \
    $$ANGLE_DIR/src/compiler/timing/RestrictVertexShaderTiming.h \
    $$ANGLE_DIR/src/compiler/depgraph/DependencyGraph.h \
    $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphBuilder.h \
    $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphOutput.h \
    $$ANGLE_DIR/src/third_party/compiler/ArrayBoundsClamper.h

SOURCES += \
    $$ANGLE_DIR/src/compiler/BuiltInFunctionEmulator.cpp \
    $$ANGLE_DIR/src/compiler/Compiler.cpp \
    $$ANGLE_DIR/src/compiler/debug.cpp \
    $$ANGLE_DIR/src/compiler/DetectCallDepth.cpp \
    $$ANGLE_DIR/src/compiler/DetectRecursion.cpp \
    $$ANGLE_DIR/src/compiler/Diagnostics.cpp \
    $$ANGLE_DIR/src/compiler/DirectiveHandler.cpp \
    $$ANGLE_DIR/src/compiler/ForLoopUnroll.cpp \
    $$ANGLE_DIR/src/compiler/InfoSink.cpp \
    $$ANGLE_DIR/src/compiler/Initialize.cpp \
    $$ANGLE_DIR/src/compiler/InitializeDll.cpp \
    $$ANGLE_DIR/src/compiler/InitializeGLPosition.cpp \
    $$ANGLE_DIR/src/compiler/InitializeParseContext.cpp \
    $$ANGLE_DIR/src/compiler/Intermediate.cpp \
    $$ANGLE_DIR/src/compiler/intermOut.cpp \
    $$ANGLE_DIR/src/compiler/IntermTraverse.cpp \
    $$ANGLE_DIR/src/compiler/MapLongVariableNames.cpp \
    $$ANGLE_DIR/src/compiler/ossource_win.cpp \
    $$ANGLE_DIR/src/compiler/parseConst.cpp \
    $$ANGLE_DIR/src/compiler/ParseHelper.cpp \
    $$ANGLE_DIR/src/compiler/PoolAlloc.cpp \
    $$ANGLE_DIR/src/compiler/QualifierAlive.cpp \
    $$ANGLE_DIR/src/compiler/RemoveTree.cpp \
    $$ANGLE_DIR/src/compiler/ShaderLang.cpp \
    $$ANGLE_DIR/src/compiler/SymbolTable.cpp \
    $$ANGLE_DIR/src/compiler/util.cpp \
    $$ANGLE_DIR/src/compiler/ValidateLimitations.cpp \
    $$ANGLE_DIR/src/compiler/VariableInfo.cpp \
    $$ANGLE_DIR/src/compiler/VariablePacker.cpp \
    $$ANGLE_DIR/src/compiler/depgraph/DependencyGraph.cpp \
    $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphBuilder.cpp \
    $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphOutput.cpp \
    $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphTraverse.cpp \
    $$ANGLE_DIR/src/compiler/timing/RestrictFragmentShaderTiming.cpp \
    $$ANGLE_DIR/src/compiler/timing/RestrictVertexShaderTiming.cpp \
    $$ANGLE_DIR/src/third_party/compiler/ArrayBoundsClamper.cpp

# NOTE: 'win_flex' and 'bison' can be found in qt5/gnuwin32/bin
flex.commands = $$addGnuPath(win_flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}_lex.cpp ${QMAKE_FILE_NAME}
flex.output = ${QMAKE_FILE_BASE}_lex.cpp
flex.input = FLEX_SOURCES
flex.dependency_type = TYPE_C
flex.variable_out = GENERATED_SOURCES
QMAKE_EXTRA_COMPILERS += flex

bison.commands = $$addGnuPath(bison) --no-lines --skeleton=yacc.c --defines=${QMAKE_FILE_BASE}_tab.h \
                --output=${QMAKE_FILE_BASE}_tab.cpp ${QMAKE_FILE_NAME}
bison.output = ${QMAKE_FILE_BASE}_tab.h
bison.input = BISON_SOURCES
bison.dependency_type = TYPE_C
bison.variable_out = GENERATED_SOURCES
QMAKE_EXTRA_COMPILERS += bison

# This is a dummy compiler to work around the fact that an extra compiler can only
# have one output file even if the command generates two.
MAKEFILE_NOOP_COMMAND = @echo -n
msvc: MAKEFILE_NOOP_COMMAND = @echo >NUL
bison_impl.output = ${QMAKE_FILE_BASE}_tab.cpp
bison_impl.input = BISON_SOURCES
bison_impl.commands = $$MAKEFILE_NOOP_COMMAND
bison_impl.depends = ${QMAKE_FILE_BASE}_tab.h
bison_impl.output = ${QMAKE_FILE_BASE}_tab.cpp
bison_impl.variable_out = GENERATED_SOURCES
QMAKE_EXTRA_COMPILERS += bison_impl