• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1TEMPLATE = lib
2TARGET = dummy
3
4CONFIG -= debug_and_release
5
6CONFIG(standalone_package) {
7    isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = $$PWD/generated
8    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = $$PWD/../WebCore/generated
9} else {
10    isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = generated
11    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = ../WebCore/generated
12}
13
14WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2 += \
15    $$WC_GENERATED_SOURCES_DIR/HTMLNames.h \
16    $$WC_GENERATED_SOURCES_DIR/JSCSSStyleDeclaration.h \
17    $$WC_GENERATED_SOURCES_DIR/JSDOMWindow.h \
18    $$WC_GENERATED_SOURCES_DIR/JSElement.h \
19    $$WC_GENERATED_SOURCES_DIR/JSHTMLElement.h \
20    $$WC_GENERATED_SOURCES_DIR/JSNode.h \
21    $$WC_GENERATED_SOURCES_DIR/JSRange.h \
22
23QUOTE = ""
24DOUBLE_ESCAPED_QUOTE = ""
25ESCAPE = ""
26win32-msvc*|symbian {
27    ESCAPE = "^"
28} else:win32-g++*:isEmpty(QMAKE_SH) {
29    # MinGW's make will run makefile commands using sh, even if make
30    #  was run from the Windows shell, if it finds sh in the path.
31    ESCAPE = "^"
32} else {
33    QUOTE = "\'"
34    DOUBLE_ESCAPED_QUOTE = "\\\'"
35}
36
37SBOX_CHECK = $$(_SBOX_DIR)
38!isEmpty(SBOX_CHECK) {
39    PYTHON = python2.6
40} else {
41    PYTHON = python
42}
43
44SRC_ROOT_DIR = $$replace(PWD, /Source/WebKit2, "")
45
46defineTest(addExtraCompiler) {
47    eval($${1}.CONFIG = target_predeps no_link)
48    eval($${1}.variable_out =)
49    eval($${1}.dependency_type = TYPE_C)
50
51    wkScript = $$eval($${1}.wkScript)
52    eval($${1}.depends += $$wkScript)
53
54    export($${1}.CONFIG)
55    export($${1}.variable_out)
56    export($${1}.dependency_type)
57    export($${1}.depends)
58
59    QMAKE_EXTRA_COMPILERS += $$1
60    generated_files.depends += compiler_$${1}_make_all
61    export(QMAKE_EXTRA_COMPILERS)
62    export(generated_files.depends)
63    return(true)
64}
65
66defineReplace(message_header_generator_output) {
67  FILENAME=$$basename(1)
68  return($$WEBKIT2_GENERATED_SOURCES_DIR/$$replace(FILENAME, ".messages.in","Messages.h"))
69}
70
71defineReplace(message_receiver_generator_output) {
72  FILENAME=$$basename(1)
73  return($$WEBKIT2_GENERATED_SOURCES_DIR/$$replace(FILENAME, ".messages.in","MessageReceiver.cpp"))
74}
75
76VPATH = \
77    PluginProcess \
78    WebProcess/ApplicationCache \
79    WebProcess/Authentication \
80    WebProcess/Cookies \
81    WebProcess/FullScreen \
82    WebProcess/Geolocation \
83    WebProcess/IconDatabase \
84    WebProcess/KeyValueStorage \
85    WebProcess/MediaCache \
86    WebProcess/Plugins \
87    WebProcess/ResourceCache \
88    WebProcess/WebCoreSupport \
89    WebProcess/WebPage \
90    WebProcess \
91    UIProcess \
92    UIProcess/Downloads \
93    UIProcess/Plugins \
94    Shared/Plugins
95
96MESSAGE_RECEIVERS = \
97    AuthenticationManager.messages.in \
98    DownloadProxy.messages.in \
99    PluginControllerProxy.messages.in \
100    PluginProcess.messages.in \
101    PluginProcessProxy.messages.in \
102    PluginProxy.messages.in \
103    WebApplicationCacheManager.messages.in \
104    WebApplicationCacheManagerProxy.messages.in \
105    WebContext.messages.in \
106    WebCookieManager.messages.in \
107    WebCookieManagerProxy.messages.in \
108    WebDatabaseManager.messages.in \
109    WebDatabaseManagerProxy.messages.in \
110    WebGeolocationManager.messages.in \
111    WebGeolocationManagerProxy.messages.in \
112    WebIconDatabase.messages.in \
113    WebIconDatabaseProxy.messages.in \
114    WebInspectorProxy.messages.in \
115    WebKeyValueStorageManager.messages.in \
116    WebKeyValueStorageManagerProxy.messages.in \
117    WebMediaCacheManager.messages.in \
118    WebMediaCacheManagerProxy.messages.in \
119    WebFullScreenManager.messages.in \
120    WebFullScreenManagerProxy.messages.in \
121    WebPage/WebInspector.messages.in \
122    WebPage/WebPage.messages.in \
123    WebPageProxy.messages.in \
124    WebProcess.messages.in \
125    WebProcessConnection.messages.in \
126    WebProcessProxy.messages.in \
127    WebResourceCacheManager.messages.in \
128    WebResourceCacheManagerProxy.messages.in \
129    NPObjectMessageReceiver.messages.in
130
131SCRIPTS = \
132    $$PWD/Scripts/generate-message-receiver.py \
133    $$PWD/Scripts/generate-messages-header.py \
134    $$PWD/Scripts/webkit2/__init__.py \
135    $$PWD/Scripts/webkit2/messages.py
136
137message_header_generator.commands = $${PYTHON} $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-messages-header.py ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
138message_header_generator.input = MESSAGE_RECEIVERS
139message_header_generator.depends = $$SCRIPTS
140message_header_generator.output_function = message_header_generator_output
141addExtraCompiler(message_header_generator)
142
143message_receiver_generator.commands = $${PYTHON} $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-message-receiver.py  ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
144message_receiver_generator.input = MESSAGE_RECEIVERS
145message_receiver_generator.depends = $$SCRIPTS
146message_receiver_generator.output_function = message_receiver_generator_output
147addExtraCompiler(message_receiver_generator)
148
149fwheader_generator.commands = perl $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-forwarding-headers.pl $${SRC_ROOT_DIR}/Source/WebKit2 ../include qt
150fwheader_generator.depends  = $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-forwarding-headers.pl
151generated_files.depends     += fwheader_generator
152QMAKE_EXTRA_TARGETS         += fwheader_generator
153
154for(HEADER, WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2) {
155    HEADER_NAME = $$basename(HEADER)
156    HEADER_PATH = $$HEADER
157    HEADER_TARGET = $$replace(HEADER_PATH, [^a-zA-Z0-9_], -)
158    HEADER_TARGET = "qtheader-$${HEADER_TARGET}"
159    DESTDIR = $$OUTPUT_DIR/include/"WebCore"
160
161    eval($${HEADER_TARGET}.target = $$DESTDIR/$$HEADER_NAME)
162    eval($${HEADER_TARGET}.depends = $$HEADER_PATH)
163    eval($${HEADER_TARGET}.commands = echo $${DOUBLE_ESCAPED_QUOTE}\$${LITERAL_HASH}include \\\"$$HEADER_PATH\\\"$${DOUBLE_ESCAPED_QUOTE} > $$eval($${HEADER_TARGET}.target))
164
165    QMAKE_EXTRA_TARGETS += $$HEADER_TARGET
166    generated_files.depends += $$eval($${HEADER_TARGET}.target)
167}
168
169QMAKE_EXTRA_TARGETS += generated_files
170