Home | History | Annotate | Download | only in WebKit2
      1 TEMPLATE = lib
      2 TARGET = dummy
      3 
      4 CONFIG -= debug_and_release
      5 
      6 CONFIG(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 
     14 WEBCORE_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 
     23 QUOTE = ""
     24 DOUBLE_ESCAPED_QUOTE = ""
     25 ESCAPE = ""
     26 win32-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 
     37 SBOX_CHECK = $$(_SBOX_DIR)
     38 !isEmpty(SBOX_CHECK) {
     39     PYTHON = python2.6
     40 } else {
     41     PYTHON = python
     42 }
     43 
     44 SRC_ROOT_DIR = $$replace(PWD, /Source/WebKit2, "")
     45 
     46 defineTest(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 
     66 defineReplace(message_header_generator_output) {
     67   FILENAME=$$basename(1)
     68   return($$WEBKIT2_GENERATED_SOURCES_DIR/$$replace(FILENAME, ".messages.in","Messages.h"))
     69 }
     70 
     71 defineReplace(message_receiver_generator_output) {
     72   FILENAME=$$basename(1)
     73   return($$WEBKIT2_GENERATED_SOURCES_DIR/$$replace(FILENAME, ".messages.in","MessageReceiver.cpp"))
     74 }
     75 
     76 VPATH = \
     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 
     96 MESSAGE_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 
    131 SCRIPTS = \
    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 
    137 message_header_generator.commands = $${PYTHON} $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-messages-header.py ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
    138 message_header_generator.input = MESSAGE_RECEIVERS
    139 message_header_generator.depends = $$SCRIPTS
    140 message_header_generator.output_function = message_header_generator_output
    141 addExtraCompiler(message_header_generator)
    142 
    143 message_receiver_generator.commands = $${PYTHON} $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-message-receiver.py  ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
    144 message_receiver_generator.input = MESSAGE_RECEIVERS
    145 message_receiver_generator.depends = $$SCRIPTS
    146 message_receiver_generator.output_function = message_receiver_generator_output
    147 addExtraCompiler(message_receiver_generator)
    148 
    149 fwheader_generator.commands = perl $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-forwarding-headers.pl $${SRC_ROOT_DIR}/Source/WebKit2 ../include qt
    150 fwheader_generator.depends  = $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-forwarding-headers.pl
    151 generated_files.depends     += fwheader_generator
    152 QMAKE_EXTRA_TARGETS         += fwheader_generator
    153 
    154 for(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 
    169 QMAKE_EXTRA_TARGETS += generated_files
    170