1HEADERS += $$PWD/assembler/*.h
2SOURCES += $$PWD/assembler/ARMv7Assembler.cpp
3SOURCES += $$PWD/assembler/LinkBuffer.cpp
4
5HEADERS += $$PWD/wtf/*.h
6SOURCES += $$PWD/wtf/PrintStream.cpp
7HEADERS += $$PWD/wtf/PrintStream.h
8
9SOURCES += $$PWD/wtf/FilePrintStream.cpp
10HEADERS += $$PWD/wtf/FilePrintStream.h
11
12HEADERS += $$PWD/wtf/RawPointer.h
13
14winrt: SOURCES += $$PWD/wtf/OSAllocatorWinRT.cpp
15else:win32: SOURCES += $$PWD/wtf/OSAllocatorWin.cpp
16else:integrity: SOURCES += $$PWD/wtf/OSAllocatorIntegrity.cpp
17else: SOURCES += $$PWD/wtf/OSAllocatorPosix.cpp
18HEADERS += $$PWD/wtf/OSAllocator.h
19
20SOURCES += $$PWD/wtf/PageAllocationAligned.cpp
21HEADERS += $$PWD/wtf/PageAllocationAligned.h
22HEADERS += $$PWD/wtf/PageAllocation.h
23
24SOURCES += $$PWD/wtf/PageBlock.cpp
25HEADERS += $$PWD/wtf/PageBlock.h
26
27HEADERS += $$PWD/wtf/PageReservation.h
28
29SOURCES += $$PWD/stubs/WTFStubs.cpp
30HEADERS += $$PWD/stubs/WTFStubs.h
31
32SOURCES += $$PWD/stubs/Options.cpp
33
34HEADERS += $$PWD/stubs/wtf/FastAllocBase.h \
35           $$PWD/stubs/wtf/FastMalloc.h \
36           $$PWD/stubs/wtf/Noncopyable.h \
37           $$PWD/stubs/wtf/OwnPtr.h \
38           $$PWD/stubs/wtf/PassOwnPtr.h \
39           $$PWD/stubs/wtf/PassRefPtr.h \
40           $$PWD/stubs/wtf/RefCounted.h \
41           $$PWD/stubs/wtf/RefPtr.h \
42           $$PWD/stubs/wtf/TypeTraits.h \
43           $$PWD/stubs/wtf/UnusedParam.h \
44           $$PWD/stubs/wtf/Vector.h
45
46SOURCES += $$PWD/disassembler/Disassembler.cpp
47SOURCES += $$PWD/disassembler/UDis86Disassembler.cpp
48contains(DEFINES, WTF_USE_UDIS86=1) {
49    SOURCES += $$PWD/disassembler/udis86/udis86.c
50    SOURCES += $$PWD/disassembler/udis86/udis86_decode.c
51    SOURCES += $$PWD/disassembler/udis86/udis86_input.c
52    SOURCES += $$PWD/disassembler/udis86/udis86_itab_holder.c
53    SOURCES += $$PWD/disassembler/udis86/udis86_syn-att.c
54    SOURCES += $$PWD/disassembler/udis86/udis86_syn.c
55    SOURCES += $$PWD/disassembler/udis86/udis86_syn-intel.c
56
57    ITAB = $$PWD/disassembler/udis86/optable.xml
58    udis86.output = udis86_itab.h
59    udis86.input = ITAB
60    udis86.CONFIG += no_link
61    udis86.commands = $$QMAKE_PYTHON $$PWD/disassembler/udis86/itab.py ${QMAKE_FILE_IN}
62    QMAKE_EXTRA_COMPILERS += udis86
63
64    udis86_tab_cfile.target = $$OUT_PWD/udis86_itab.c
65    udis86_tab_cfile.depends = udis86_itab.h
66    QMAKE_EXTRA_TARGETS += udis86_tab_cfile
67}
68
69# We can always compile these, they have ifdef guards inside
70SOURCES += $$PWD/disassembler/ARMv7Disassembler.cpp
71SOURCES += $$PWD/disassembler/ARMv7/ARMv7DOpcode.cpp
72HEADERS += $$PWD/disassembler/ARMv7/ARMv7DOpcode.h
73SOURCES += $$PWD/disassembler/Mips32Disassembler.cpp
74SOURCES += $$PWD/disassembler/mips32/Mips32Opcode.cpp
75HEADERS += $$PWD/disassembler/mips32/Mips32Opcode.h
76SOURCES += $$PWD/disassembler/ARM64Disassembler.cpp
77SOURCES += $$PWD/disassembler/ARM64/A64DOpcode.cpp
78HEADERS += $$PWD/disassembler/ARM64/A64DOpcode.h
79
80SOURCES += $$PWD/yarr/YarrCanonicalizeUCS2.cpp \
81           $$PWD/yarr/YarrCanonicalizeUnicode.cpp \
82           $$PWD/yarr/YarrInterpreter.cpp \
83           $$PWD/yarr/YarrJIT.cpp \
84           $$PWD/yarr/YarrPattern.cpp \
85           $$PWD/yarr/YarrSyntaxChecker.cpp \
86           $$PWD/stubs/yarr/YarrUnicodeProperties.cpp
87
88HEADERS += $$PWD/yarr/Yarr.h \
89           $$PWD/yarr/YarrCanonicalizeUCS2.h \
90           $$PWD/yarr/YarrInterpreter.h \
91           $$PWD/yarr/YarrJIT.h \
92           $$PWD/yarr/YarrParser.h \
93           $$PWD/yarr/YarrPattern.h \
94           $$PWD/yarr/YarrSyntaxChecker.h \
95           $$PWD/yarr/YarrUnicodeProperties.h
96
97#
98# Generate RegExpJitTables.h
99#
100GENERATEDDIR = .generated
101debug_and_release {
102    CONFIG(debug, debug|release) {
103        GENERATEDDIR = $$GENERATEDDIR/debug
104    } else {
105        GENERATEDDIR = $$GENERATEDDIR/release
106    }
107}
108INCLUDEPATH += $$GENERATEDDIR
109
110retgen.output = $$GENERATEDDIR/RegExpJitTables.h
111retgen.script = $$PWD/yarr/create_regex_tables
112retgen.input = retgen.script
113retgen.CONFIG += no_link
114retgen.commands = $$QMAKE_PYTHON $$retgen.script > ${QMAKE_FILE_OUT}
115QMAKE_EXTRA_COMPILERS += retgen
116
117# Taken from WebKit/Tools/qmake/mkspecs/features/unix/default_post.prf
118!c++11:!intel_icc {
119    # Don't warn about OVERRIDE and FINAL, since they are feature-checked anyways
120    clang {
121        QMAKE_CXXFLAGS += -Wno-c++11-extensions -Wno-c++0x-extensions
122    } else: gcc {
123        greaterThan(QT_GCC_MAJOR_VERSION, 4)|greaterThan(QT_GCC_MINOR_VERSION, 5) {
124            # We need to deactivate those warnings because some names conflicts with upcoming c++0x types (e.g.nullptr).
125            QMAKE_CXXFLAGS += -Wno-c++0x-compat
126        }
127    }
128}
129