Changeset 53187 in webkit


Ignore:
Timestamp:
Jan 13, 2010 8:06:39 AM (14 years ago)
Author:
Simon Hausmann
Message:

[Qt] Split the build process in two different .pro files.
This allows qmake to be run once all source files are available.

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2010-01-13
Reviewed by Simon Hausmann.

.:

  • DerivedSources.pro: Added.
  • WebKit.pri:

JavaScriptCore:

  • DerivedSources.pro: Added.
  • JavaScriptCore.pri: Moved source generation to DerivedSources.pro
  • pcre/pcre.pri: Moved source generation to DerivedSources.pro

WebCore:

  • DerivedSources.pro: Added.
  • WebCore.pri: Added. Contains common logic between source generation and compilation.
  • WebCore.pro: Moved source generation to DerivedSources.pro.

WebKitTools:

  • Scripts/webkitdirs.pm: Add calls to make DerivedSources.pro in JSC and WC.
Location:
trunk
Files:
4 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r52972 r53187  
     12010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        [Qt] Split the build process in two different .pro files.
     6        This allows qmake to be run once all source files are available.
     7
     8        * DerivedSources.pro: Added.
     9        * WebKit.pri:
     10
    1112010-01-07  Daniel Bates  <dbates@rim.com>
    212
  • trunk/JavaScriptCore/ChangeLog

    r53170 r53187  
     12010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        [Qt] Split the build process in two different .pro files.
     6        This allows qmake to be run once all source files are available.
     7
     8        * DerivedSources.pro: Added.
     9        * JavaScriptCore.pri: Moved source generation to DerivedSources.pro
     10        * pcre/pcre.pri: Moved source generation to DerivedSources.pro
     11
    1122010-01-12  Kent Hansen  <kent.hansen@nokia.com>
    213
  • trunk/JavaScriptCore/JavaScriptCore.pri

    r52970 r53187  
    22VPATH += $$PWD
    33
     4CONFIG(standalone_package) {
     5    isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = $$PWD/generated
     6} else {
     7    isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = generated
     8}
     9
    410CONFIG(debug, debug|release) {
    5     isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = generated$${QMAKE_DIR_SEP}debug
    611    OBJECTS_DIR = obj/debug
    712} else { # Release
    8     isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = generated$${QMAKE_DIR_SEP}release
    913    OBJECTS_DIR = obj/release
    1014}
     
    2529    $$PWD/jit \
    2630    $$PWD/parser \
     31    $$PWD/pcre \
    2732    $$PWD/profiler \
    2833    $$PWD/runtime \
     
    3338    $$PWD/API \
    3439    $$PWD/ForwardingHeaders \
    35     $$GENERATED_SOURCES_DIR \
     40    $$JSC_GENERATED_SOURCES_DIR \
    3641    $$INCLUDEPATH
    3742
    3843DEFINES += BUILDING_QT__ BUILDING_JavaScriptCore BUILDING_WTF
    3944
    40 GENERATED_SOURCES_DIR_SLASH = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}
    4145win32-* {
    4246    LIBS += -lwinmm
     
    6872
    6973include(pcre/pcre.pri)
    70 
    71 LUT_FILES += \
    72     runtime/ArrayPrototype.cpp \
    73     runtime/DatePrototype.cpp \
    74     runtime/JSONObject.cpp \
    75     runtime/MathObject.cpp \
    76     runtime/NumberConstructor.cpp \
    77     runtime/RegExpConstructor.cpp \
    78     runtime/RegExpObject.cpp \
    79     runtime/StringPrototype.cpp
    80 
    81 KEYWORDLUT_FILES += \
    82     parser/Keywords.table
    83 
    84 JSCBISON += \
    85     parser/Grammar.y
    86 
    87 RVCT_STUB_FILES += \
    88     jit/JITStubs.cpp
    8974
    9075SOURCES += \
     
    237222    yarr/RegexJIT.cpp
    238223
     224# Generated files, simply list them for JavaScriptCore
     225SOURCES += \
     226    $${JSC_GENERATED_SOURCES_DIR}/Grammar.cpp
     227
    239228!contains(DEFINES, USE_SYSTEM_MALLOC) {
    240229    SOURCES += wtf/TCSystemAlloc.cpp
    241230}
    242231
    243 # GENERATOR 1-A: LUT creator
    244 lut.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.lut.h
    245 lut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
    246 lut.depend = ${QMAKE_FILE_NAME}
    247 lut.input = LUT_FILES
    248 lut.CONFIG += no_link
    249 addExtraCompiler(lut)
    250 
    251 # GENERATOR 1-B: particular LUT creator (for 1 file only)
    252 keywordlut.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Lexer.lut.h
    253 keywordlut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
    254 keywordlut.depend = ${QMAKE_FILE_NAME}
    255 keywordlut.input = KEYWORDLUT_FILES
    256 keywordlut.CONFIG += no_link
    257 addExtraCompiler(keywordlut)
    258 
    259 # GENERATOR 2: bison grammar
    260 jscbison.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp
    261 jscbison.commands = bison -d -p jscyy ${QMAKE_FILE_NAME} -o $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c && $(MOVE) $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && $(MOVE) $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.h $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.h
    262 jscbison.depend = ${QMAKE_FILE_NAME}
    263 jscbison.input = JSCBISON
    264 jscbison.variable_out = GENERATED_SOURCES
    265 jscbison.dependency_type = TYPE_C
    266 jscbison.CONFIG = target_predeps
    267 addExtraCompilerWithHeader(jscbison)
    268 
    269 # GENERATOR 3: JIT Stub functions for RVCT
    270 rvctstubs.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Generated${QMAKE_FILE_BASE}_RVCT.h
    271 rvctstubs.commands = perl $$PWD/create_rvct_stubs ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
    272 rvctstubs.depend = ${QMAKE_FILE_NAME}
    273 rvctstubs.input = RVCT_STUB_FILES
    274 rvctstubs.CONFIG += no_link
    275 addExtraCompiler(rvctstubs)
  • trunk/JavaScriptCore/pcre/pcre.pri

    r52313 r53187  
    33INCLUDEPATH += $$PWD $$OUTPUT_DIR/JavaScriptCore/tmp
    44DEPENDPATH += $$PWD
    5 
    6 isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = tmp
    75
    86SOURCES += \
     
    1311    pcre_xclass.cpp
    1412
    15 !CONFIG(standalone_package) {
    16     defineTest(addExtraCompiler) {
    17         QMAKE_EXTRA_COMPILERS += $$1
    18         generated_files.depends += compiler_$${1}_make_all
    19         export(QMAKE_EXTRA_COMPILERS)
    20         export(generated_files.depends)
    21         return(true)
    22     }
    23 }
    24 
    25 # GENERATOR: "chartables.c": compile and execute the chartables generator (and add it to sources)
    26 win32-msvc*|wince*: PREPROCESSOR = "--preprocessor=\"$$QMAKE_CC /E\""
    27 DFTABLES = $$PWD/dftables
    28 ctgen.input = DFTABLES
    29 ctgen.output = $$GENERATED_SOURCES_DIR/chartables.c
    30 ctgen.commands = perl $$DFTABLES ${QMAKE_FILE_OUT} $$PREPROCESSOR
    31 ctgen.CONFIG += target_predeps no_link
    32 ctgen.variable_out = GENERATED_SOURCES
    33 ctgen.dependency_type = TYPE_C
    34 ctgen.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_GENERATED_SOURCES_DIR}${QMAKE_FILE_BASE}
    35 addExtraCompiler(ctgen)
  • trunk/WebCore/ChangeLog

    r53184 r53187  
     12010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        [Qt] Split the build process in two different .pro files.
     6        This allows qmake to be run once all source files are available.
     7
     8        * DerivedSources.pro: Added.
     9        * WebCore.pri: Added. Contains common logic between source generation and compilation.
     10        * WebCore.pro: Moved source generation to DerivedSources.pro.
     11
    1122010-01-13  Pavel Feldman  <pfeldman@chromium.org>
    213
  • trunk/WebCore/WebCore.pro

    r53183 r53187  
    3737contains(QT_CONFIG, embedded):CONFIG += embedded
    3838
     39isEmpty(OUTPUT_DIR): OUTPUT_DIR = ..
     40
    3941CONFIG(standalone_package) {
    40     GENERATED_SOURCES_DIR = $$PWD/generated
     42    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = $$PWD/generated
     43    isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = $$PWD/../JavaScriptCore/generated
    4144
    4245    CONFIG(QTDIR_build):include($$QT_SOURCE_TREE/src/qbase.pri)
     
    4649    DEFINES *= NDEBUG
    4750} else {
     51    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = generated
     52    isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = ../JavaScriptCore/generated
    4853
    4954    CONFIG(debug, debug|release) {
    50         isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = generated$${QMAKE_DIR_SEP}debug
    5155        OBJECTS_DIR = obj/debug
    5256    } else { # Release
    53         isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = generated$${QMAKE_DIR_SEP}release
    5457        OBJECTS_DIR = obj/release
    5558    }
     
    6164    !static: DEFINES += QT_MAKEDLL
    6265}
    63 
    64 GENERATED_SOURCES_DIR_SLASH = $$GENERATED_SOURCES_DIR${QMAKE_DIR_SEP}
    6566
    6667unix {
     
    108109symbian:!CONFIG(QTDIR_build): CONFIG += system-sqlite
    109110
    110 # Try to locate sqlite3 source
    111 CONFIG(QTDIR_build) {
    112     SQLITE3SRCDIR = $$QT_SOURCE_TREE/src/3rdparty/sqlite/
    113 } else {
    114     SQLITE3SRCDIR = $$(SQLITE3SRCDIR)
    115     isEmpty(SQLITE3SRCDIR) {
    116         SQLITE3SRCDIR = $$[QT_INSTALL_PREFIX]/src/3rdparty/sqlite/
    117     }
    118 }
    119 
    120 # Optional components (look for defs in config.h and included files!)
    121 
    122 contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
    123     DEFINES+=ENABLE_DATABASE=0 ENABLE_DOM_STORAGE=0 ENABLE_ICONDATABASE=0 ENABLE_WORKERS=0 ENABLE_SHARED_WORKERS=0
    124 }
    125 
    126 # turn off SQLITE support if we do not have sqlite3 available
    127 !CONFIG(QTDIR_build):win32-*:!exists( $${SQLITE3SRCDIR}/sqlite3.c ): DEFINES += ENABLE_SQLITE=0 ENABLE_DATABASE=0 ENABLE_ICONDATABASE=0 ENABLE_OFFLINE_WEB_APPLICATIONS=0 ENABLE_DOM_STORAGE=0
    128 
    129 !contains(DEFINES, ENABLE_JAVASCRIPT_DEBUGGER=.): DEFINES += ENABLE_JAVASCRIPT_DEBUGGER=1
    130 !contains(DEFINES, ENABLE_DATABASE=.): DEFINES += ENABLE_DATABASE=1
    131 !contains(DEFINES, ENABLE_EVENTSOURCE=.): DEFINES += ENABLE_EVENTSOURCE=1
    132 !contains(DEFINES, ENABLE_OFFLINE_WEB_APPLICATIONS=.): DEFINES += ENABLE_OFFLINE_WEB_APPLICATIONS=1
    133 !contains(DEFINES, ENABLE_DOM_STORAGE=.): DEFINES += ENABLE_DOM_STORAGE=1
    134 !contains(DEFINES, ENABLE_ICONDATABASE=.): DEFINES += ENABLE_ICONDATABASE=1
    135 !contains(DEFINES, ENABLE_CHANNEL_MESSAGING=.): DEFINES += ENABLE_CHANNEL_MESSAGING=1
    136 !contains(DEFINES, ENABLE_ORIENTATION_EVENTS=.): DEFINES += ENABLE_ORIENTATION_EVENTS=0
    137 
    138 # turn on SQLITE support if any of the dependent features are turned on
    139 !contains(DEFINES, ENABLE_SQLITE=.) {
    140   contains(DEFINES, ENABLE_DATABASE=1)|contains(DEFINES, ENABLE_ICONDATABASE=1)|contains(DEFINES, ENABLE_DOM_STORAGE=1)|contains(DEFINES, ENABLE_OFFLINE_WEB_APPLICATIONS=1) {
    141     DEFINES += ENABLE_SQLITE=1
    142   } else {
    143     DEFINES += ENABLE_SQLITE=0
    144   }
    145 }
    146 
    147 !contains(DEFINES, ENABLE_DASHBOARD_SUPPORT=.): DEFINES += ENABLE_DASHBOARD_SUPPORT=0
    148 !contains(DEFINES, ENABLE_FILTERS=.): DEFINES += ENABLE_FILTERS=1
    149 !contains(DEFINES, ENABLE_XPATH=.): DEFINES += ENABLE_XPATH=1
    150 #!contains(DEFINES, ENABLE_XBL=.): DEFINES += ENABLE_XBL=1
    151 !contains(DEFINES, ENABLE_WCSS=.): DEFINES += ENABLE_WCSS=0
    152 !contains(DEFINES, ENABLE_WML=.): DEFINES += ENABLE_WML=0
    153 !contains(DEFINES, ENABLE_SHARED_WORKERS=.): DEFINES += ENABLE_SHARED_WORKERS=1
    154 !contains(DEFINES, ENABLE_WORKERS=.): DEFINES += ENABLE_WORKERS=1
    155 !contains(DEFINES, ENABLE_XHTMLMP=.): DEFINES += ENABLE_XHTMLMP=0
    156 !contains(DEFINES, ENABLE_DATAGRID=.): DEFINES += ENABLE_DATAGRID=0
    157 
    158 # SVG support
    159 !contains(DEFINES, ENABLE_SVG=0) {
    160     !contains(DEFINES, ENABLE_SVG=.): DEFINES += ENABLE_SVG=1
    161     !contains(DEFINES, ENABLE_SVG_FONTS=.): DEFINES += ENABLE_SVG_FONTS=1
    162     !contains(DEFINES, ENABLE_SVG_FOREIGN_OBJECT=.): DEFINES += ENABLE_SVG_FOREIGN_OBJECT=1
    163     !contains(DEFINES, ENABLE_SVG_ANIMATION=.): DEFINES += ENABLE_SVG_ANIMATION=1
    164     !contains(DEFINES, ENABLE_SVG_AS_IMAGE=.): DEFINES += ENABLE_SVG_AS_IMAGE=1
    165     !contains(DEFINES, ENABLE_SVG_USE=.): DEFINES += ENABLE_SVG_USE=1
    166 } else {
    167     DEFINES += ENABLE_SVG_FONTS=0 ENABLE_SVG_FOREIGN_OBJECT=0 ENABLE_SVG_ANIMATION=0 ENABLE_SVG_AS_IMAGE=0 ENABLE_SVG_USE=0
    168 }
    169 
    170 # HTML5 media support
    171 !contains(DEFINES, ENABLE_VIDEO=.) {
    172     contains(QT_CONFIG, phonon):DEFINES += ENABLE_VIDEO=1
    173     else:DEFINES += ENABLE_VIDEO=0
    174 }
    175 
    176 # HTML5 datalist support
    177 !contains(DEFINES, ENABLE_DATALIST=.): DEFINES += ENABLE_DATALIST=1
    178 
    179 # Nescape plugins support (NPAPI)
    180 !contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=.) {
    181     unix|win32-*:!embedded:!wince*: {
    182         DEFINES += ENABLE_NETSCAPE_PLUGIN_API=1
    183     } else {
    184         DEFINES += ENABLE_NETSCAPE_PLUGIN_API=0
    185     }
    186 }
    187 
    188 # Web Socket support.
    189 !contains(DEFINES, ENABLE_WEB_SOCKETS=.): DEFINES += ENABLE_WEB_SOCKETS=1
    190 
    191 # XSLT support with QtXmlPatterns
    192 !contains(DEFINES, ENABLE_XSLT=.) {
    193     contains(QT_CONFIG, xmlpatterns):!lessThan(QT_MINOR_VERSION, 5):DEFINES += ENABLE_XSLT=1
    194     else:DEFINES += ENABLE_XSLT=0
    195 }
    196 
    197 
    198 !CONFIG(QTDIR_build):!contains(DEFINES, ENABLE_QT_BEARER=.) {
    199     symbian: {
    200         exists($${EPOCROOT}epoc32/release/winscw/udeb/QtBearer.lib)| \
    201         exists($${EPOCROOT}epoc32/release/armv5/lib/QtBearer.lib) {
    202             DEFINES += ENABLE_QT_BEARER=1
    203         }
    204     }
    205 }
    206 
    207 DEFINES += WTF_CHANGES=1
    208 
    209 # Enable touch event support with Qt 4.6
    210 !lessThan(QT_MINOR_VERSION, 6): DEFINES += ENABLE_TOUCH_EVENTS=1
    211 
    212 # Used to compute defaults for the build-webkit script
    213 CONFIG(compute_defaults) {
    214     message($$DEFINES)
    215     error("Done computing defaults")
    216 }
     111
    217112
    218113RESOURCES += \
     
    224119
    225120include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
     121
     122# Disable HTML5 media compilation if phonon is unavailable
     123!contains(DEFINES, ENABLE_VIDEO=1) {
     124    !contains(QT_CONFIG, phonon) {
     125        DEFINES -= ENABLE_VIDEO=1
     126        DEFINES += ENABLE_VIDEO=0
     127    }
     128}
     129
     130# Extract sources to build from the generator definitions
     131defineTest(addExtraCompiler) {
     132    isEqual($${1}.wkAddOutputToSources, false): return(true)
     133
     134    outputRule = $$eval($${1}.output)
     135    input = $$eval($${1}.input)
     136    input = $$eval($$input)
     137
     138    for(file,input) {
     139        base = $$basename(file)
     140        base ~= s/\..+//
     141        newfile=$$replace(outputRule,\\$\\{QMAKE_FILE_BASE\\},$$base)
     142        SOURCES += $$newfile
     143    }
     144    SOURCES += $$eval($${1}.wkExtraSources)
     145    export(SOURCES)
     146
     147    return(true)
     148}
     149include(WebCore.pri)
    226150
    227151INCLUDEPATH = \
     
    268192    $$PWD/workers \
    269193    $$PWD/xml \
    270     $$GENERATED_SOURCES_DIR \
     194    $$WC_GENERATED_SOURCES_DIR \
    271195    $$INCLUDEPATH
    272196
     
    282206QT += network
    283207
    284 QMAKE_EXTRA_TARGETS += generated_files
    285 
    286 FEATURE_DEFINES_JAVASCRIPT = LANGUAGE_JAVASCRIPT=1
    287 
    288 TOKENIZER = $$PWD/css/tokenizer.flex
    289 
    290 DOCTYPESTRINGS = $$PWD/html/DocTypeStrings.gperf
    291 
    292 CSSBISON = $$PWD/css/CSSGrammar.y
    293 
    294 HTML_NAMES = $$PWD/html/HTMLTagNames.in
    295 
    296 XML_NAMES = $$PWD/xml/xmlattrs.in
    297 
    298 ENTITIES_GPERF = $$PWD/html/HTMLEntityNames.gperf
    299 
    300 COLORDAT_GPERF = $$PWD/platform/ColorData.gperf
    301 
    302 WALDOCSSPROPS = $$PWD/css/CSSPropertyNames.in
    303 
    304 WALDOCSSVALUES = $$PWD/css/CSSValueKeywords.in
    305208
    306209DASHBOARDSUPPORTCSSPROPERTIES = $$PWD/css/DashboardSupportCSSPropertyNames.in
     
    315218    EXTRACSSPROPERTIES += $$PWD/css/WCSSPropertyNames.in
    316219    EXTRACSSVALUES += $$PWD/css/WCSSValueKeywords.in
    317 }
    318 
    319 STYLESHEETS_EMBED = \
    320     $$PWD/css/html.css \
    321     $$PWD/css/quirks.css \
    322     $$PWD/css/svg.css \
    323     $$PWD/css/view-source.css \
    324     $$PWD/css/wml.css \
    325     $$PWD/css/mediaControls.css \
    326     $$PWD/css/mediaControlsQt.css
    327 
    328 IDL_BINDINGS += \
    329     css/Counter.idl \
    330     css/CSSCharsetRule.idl \
    331     css/CSSFontFaceRule.idl \
    332     css/CSSImportRule.idl \
    333     css/CSSMediaRule.idl \
    334     css/CSSPageRule.idl \
    335     css/CSSPrimitiveValue.idl \
    336     css/CSSRule.idl \
    337     css/CSSRuleList.idl \
    338     css/CSSStyleDeclaration.idl \
    339     css/CSSStyleRule.idl \
    340     css/CSSStyleSheet.idl \
    341     css/CSSValue.idl \
    342     css/CSSValueList.idl \
    343     css/CSSVariablesDeclaration.idl \
    344     css/CSSVariablesRule.idl \
    345     css/Media.idl \
    346     css/MediaList.idl \
    347     css/RGBColor.idl \
    348     css/Rect.idl \
    349     css/StyleSheet.idl \
    350     css/StyleSheetList.idl \
    351     css/WebKitCSSKeyframeRule.idl \
    352     css/WebKitCSSKeyframesRule.idl \
    353     css/WebKitCSSMatrix.idl \
    354     css/WebKitCSSTransformValue.idl \
    355     dom/Attr.idl \
    356     dom/BeforeLoadEvent.idl \
    357     dom/CharacterData.idl \
    358     dom/ClientRect.idl \
    359     dom/ClientRectList.idl \
    360     dom/Clipboard.idl \
    361     dom/CDATASection.idl \
    362     dom/Comment.idl \
    363     dom/CompositionEvent.idl \
    364     dom/DocumentFragment.idl \
    365     dom/Document.idl \
    366     dom/DocumentType.idl \
    367     dom/DOMCoreException.idl \
    368     dom/DOMImplementation.idl \
    369     dom/Element.idl \
    370     dom/Entity.idl \
    371     dom/EntityReference.idl \
    372     dom/ErrorEvent.idl \
    373     dom/Event.idl \
    374     dom/EventException.idl \
    375 #    dom/EventListener.idl \
    376 #    dom/EventTarget.idl \
    377     dom/KeyboardEvent.idl \
    378     dom/MouseEvent.idl \
    379     dom/MessageChannel.idl \
    380     dom/MessageEvent.idl \
    381     dom/MessagePort.idl \
    382     dom/MutationEvent.idl \
    383     dom/NamedNodeMap.idl \
    384     dom/Node.idl \
    385     dom/NodeFilter.idl \
    386     dom/NodeIterator.idl \
    387     dom/NodeList.idl \
    388     dom/Notation.idl \
    389     dom/OverflowEvent.idl \
    390     dom/PageTransitionEvent.idl \
    391     dom/PopStateEvent.idl \
    392     dom/ProcessingInstruction.idl \
    393     dom/ProgressEvent.idl \
    394     dom/RangeException.idl \
    395     dom/Range.idl \
    396     dom/Text.idl \
    397     dom/TextEvent.idl \
    398     dom/Touch.idl \
    399     dom/TouchEvent.idl \
    400     dom/TouchList.idl \
    401     dom/TreeWalker.idl \
    402     dom/UIEvent.idl \
    403     dom/WebKitAnimationEvent.idl \
    404     dom/WebKitTransitionEvent.idl \
    405     dom/WheelEvent.idl \
    406     html/canvas/WebGLArray.idl \
    407     html/canvas/WebGLArrayBuffer.idl \
    408     html/canvas/WebGLByteArray.idl \
    409     html/canvas/WebGLFloatArray.idl \
    410     html/canvas/CanvasGradient.idl \
    411     html/canvas/WebGLIntArray.idl \
    412     html/canvas/CanvasPattern.idl \
    413     html/canvas/CanvasRenderingContext.idl \
    414     html/canvas/CanvasRenderingContext2D.idl \
    415     html/canvas/WebGLRenderingContext.idl \
    416     html/canvas/WebGLShortArray.idl \
    417     html/canvas/WebGLUnsignedByteArray.idl \
    418     html/canvas/WebGLUnsignedIntArray.idl \
    419     html/canvas/WebGLUnsignedShortArray.idl \
    420     html/DataGridColumn.idl \
    421     html/DataGridColumnList.idl \
    422     html/File.idl \
    423     html/FileList.idl \
    424     html/HTMLAllCollection.idl \
    425     html/HTMLAudioElement.idl \
    426     html/HTMLAnchorElement.idl \
    427     html/HTMLAppletElement.idl \
    428     html/HTMLAreaElement.idl \
    429     html/HTMLBaseElement.idl \
    430     html/HTMLBaseFontElement.idl \
    431     html/HTMLBlockquoteElement.idl \
    432     html/HTMLBodyElement.idl \
    433     html/HTMLBRElement.idl \
    434     html/HTMLButtonElement.idl \
    435     html/HTMLCanvasElement.idl \
    436     html/HTMLCollection.idl \
    437     html/HTMLDataGridElement.idl \
    438     html/HTMLDataGridCellElement.idl \
    439     html/HTMLDataGridColElement.idl \
    440     html/HTMLDataGridRowElement.idl \
    441     html/HTMLDataListElement.idl \
    442     html/HTMLDirectoryElement.idl \
    443     html/HTMLDivElement.idl \
    444     html/HTMLDListElement.idl \
    445     html/HTMLDocument.idl \
    446     html/HTMLElement.idl \
    447     html/HTMLEmbedElement.idl \
    448     html/HTMLFieldSetElement.idl \
    449     html/HTMLFontElement.idl \
    450     html/HTMLFormElement.idl \
    451     html/HTMLFrameElement.idl \
    452     html/HTMLFrameSetElement.idl \
    453     html/HTMLHeadElement.idl \
    454     html/HTMLHeadingElement.idl \
    455     html/HTMLHRElement.idl \
    456     html/HTMLHtmlElement.idl \
    457     html/HTMLIFrameElement.idl \
    458     html/HTMLImageElement.idl \
    459     html/HTMLInputElement.idl \
    460     html/HTMLIsIndexElement.idl \
    461     html/HTMLLabelElement.idl \
    462     html/HTMLLegendElement.idl \
    463     html/HTMLLIElement.idl \
    464     html/HTMLLinkElement.idl \
    465     html/HTMLMapElement.idl \
    466     html/HTMLMarqueeElement.idl \
    467     html/HTMLMediaElement.idl \
    468     html/HTMLMenuElement.idl \
    469     html/HTMLMetaElement.idl \
    470     html/HTMLModElement.idl \
    471     html/HTMLObjectElement.idl \
    472     html/HTMLOListElement.idl \
    473     html/HTMLOptGroupElement.idl \
    474     html/HTMLOptionElement.idl \
    475     html/HTMLOptionsCollection.idl \
    476     html/HTMLParagraphElement.idl \
    477     html/HTMLParamElement.idl \
    478     html/HTMLPreElement.idl \
    479     html/HTMLQuoteElement.idl \
    480     html/HTMLScriptElement.idl \
    481     html/HTMLSelectElement.idl \
    482     html/HTMLSourceElement.idl \
    483     html/HTMLStyleElement.idl \
    484     html/HTMLTableCaptionElement.idl \
    485     html/HTMLTableCellElement.idl \
    486     html/HTMLTableColElement.idl \
    487     html/HTMLTableElement.idl \
    488     html/HTMLTableRowElement.idl \
    489     html/HTMLTableSectionElement.idl \
    490     html/HTMLTextAreaElement.idl \
    491     html/HTMLTitleElement.idl \
    492     html/HTMLUListElement.idl \
    493     html/HTMLVideoElement.idl \
    494     html/ImageData.idl \
    495     html/MediaError.idl \
    496     html/TextMetrics.idl \
    497     html/TimeRanges.idl \
    498     html/ValidityState.idl \
    499     html/VoidCallback.idl \
    500     inspector/InjectedScriptHost.idl \
    501     inspector/InspectorBackend.idl \
    502     inspector/InspectorFrontendHost.idl \
    503     inspector/JavaScriptCallFrame.idl \
    504     loader/appcache/DOMApplicationCache.idl \
    505     page/BarInfo.idl \
    506     page/Console.idl \
    507     page/Coordinates.idl \
    508     page/DOMSelection.idl \
    509     page/DOMWindow.idl \
    510     page/EventSource.idl \
    511     page/Geolocation.idl \
    512     page/Geoposition.idl \
    513     page/History.idl \
    514     page/Location.idl \
    515     page/Navigator.idl \
    516     page/PositionError.idl \
    517     page/Screen.idl \
    518     page/WebKitPoint.idl \
    519     page/WorkerNavigator.idl \
    520     plugins/Plugin.idl \
    521     plugins/MimeType.idl \
    522     plugins/PluginArray.idl \
    523     plugins/MimeTypeArray.idl \
    524     storage/Database.idl \
    525     storage/Storage.idl \
    526     storage/StorageEvent.idl \
    527     storage/SQLError.idl \
    528     storage/SQLResultSet.idl \
    529     storage/SQLResultSetRowList.idl \
    530     storage/SQLTransaction.idl \
    531     websockets/WebSocket.idl \
    532     workers/AbstractWorker.idl \
    533     workers/DedicatedWorkerContext.idl \
    534     workers/SharedWorker.idl \
    535     workers/SharedWorkerContext.idl \
    536     workers/Worker.idl \
    537     workers/WorkerContext.idl \
    538     workers/WorkerLocation.idl \
    539     xml/DOMParser.idl \
    540     xml/XMLHttpRequest.idl \
    541     xml/XMLHttpRequestException.idl \
    542     xml/XMLHttpRequestProgressEvent.idl \
    543     xml/XMLHttpRequestUpload.idl \
    544     xml/XMLSerializer.idl \
    545     xml/XPathNSResolver.idl \
    546     xml/XPathException.idl \
    547     xml/XPathExpression.idl \
    548     xml/XPathResult.idl \
    549     xml/XPathEvaluator.idl \
    550     xml/XSLTProcessor.idl
    551 
    552 contains(DEFINES, ENABLE_SVG=1) {
    553 
    554   IDL_BINDINGS += \
    555     svg/SVGZoomEvent.idl \
    556     svg/SVGAElement.idl \
    557     svg/SVGAltGlyphElement.idl \
    558     svg/SVGAngle.idl \
    559     svg/SVGAnimateColorElement.idl \
    560     svg/SVGAnimatedAngle.idl \
    561     svg/SVGAnimatedBoolean.idl \
    562     svg/SVGAnimatedEnumeration.idl \
    563     svg/SVGAnimatedInteger.idl \
    564     svg/SVGAnimatedLength.idl \
    565     svg/SVGAnimatedLengthList.idl \
    566     svg/SVGAnimatedNumber.idl \
    567     svg/SVGAnimatedNumberList.idl \
    568     svg/SVGAnimatedPreserveAspectRatio.idl \
    569     svg/SVGAnimatedRect.idl \
    570     svg/SVGAnimatedString.idl \
    571     svg/SVGAnimatedTransformList.idl \
    572     svg/SVGAnimateElement.idl \
    573     svg/SVGAnimateTransformElement.idl \
    574     svg/SVGAnimationElement.idl \
    575     svg/SVGCircleElement.idl \
    576     svg/SVGClipPathElement.idl \
    577     svg/SVGColor.idl \
    578     svg/SVGComponentTransferFunctionElement.idl \
    579     svg/SVGCursorElement.idl \
    580     svg/SVGDefsElement.idl \
    581     svg/SVGDescElement.idl \
    582     svg/SVGDocument.idl \
    583     svg/SVGElement.idl \
    584     svg/SVGElementInstance.idl \
    585     svg/SVGElementInstanceList.idl \
    586     svg/SVGEllipseElement.idl \
    587     svg/SVGException.idl \
    588     svg/SVGFEBlendElement.idl \
    589     svg/SVGFEColorMatrixElement.idl \
    590     svg/SVGFEComponentTransferElement.idl \
    591     svg/SVGFECompositeElement.idl \
    592     svg/SVGFEDiffuseLightingElement.idl \
    593     svg/SVGFEDisplacementMapElement.idl \
    594     svg/SVGFEDistantLightElement.idl \
    595     svg/SVGFEFloodElement.idl \
    596     svg/SVGFEFuncAElement.idl \
    597     svg/SVGFEFuncBElement.idl \
    598     svg/SVGFEFuncGElement.idl \
    599     svg/SVGFEFuncRElement.idl \
    600     svg/SVGFEGaussianBlurElement.idl \
    601     svg/SVGFEImageElement.idl \
    602     svg/SVGFEMergeElement.idl \
    603     svg/SVGFEMergeNodeElement.idl \
    604     svg/SVGFEMorphologyElement.idl \
    605     svg/SVGFEOffsetElement.idl \
    606     svg/SVGFEPointLightElement.idl \
    607     svg/SVGFESpecularLightingElement.idl \
    608     svg/SVGFESpotLightElement.idl \
    609     svg/SVGFETileElement.idl \
    610     svg/SVGFETurbulenceElement.idl \
    611     svg/SVGFilterElement.idl \
    612     svg/SVGFontElement.idl \
    613     svg/SVGFontFaceElement.idl \
    614     svg/SVGFontFaceFormatElement.idl \
    615     svg/SVGFontFaceNameElement.idl \
    616     svg/SVGFontFaceSrcElement.idl \
    617     svg/SVGFontFaceUriElement.idl \
    618     svg/SVGForeignObjectElement.idl \
    619     svg/SVGGElement.idl \
    620     svg/SVGGlyphElement.idl \
    621     svg/SVGGradientElement.idl \
    622     svg/SVGHKernElement.idl \
    623     svg/SVGImageElement.idl \
    624     svg/SVGLength.idl \
    625     svg/SVGLengthList.idl \
    626     svg/SVGLinearGradientElement.idl \
    627     svg/SVGLineElement.idl \
    628     svg/SVGMarkerElement.idl \
    629     svg/SVGMaskElement.idl \
    630     svg/SVGMatrix.idl \
    631     svg/SVGMetadataElement.idl \
    632     svg/SVGMissingGlyphElement.idl \
    633     svg/SVGNumber.idl \
    634     svg/SVGNumberList.idl \
    635     svg/SVGPaint.idl \
    636     svg/SVGPathElement.idl \
    637     svg/SVGPathSegArcAbs.idl \
    638     svg/SVGPathSegArcRel.idl \
    639     svg/SVGPathSegClosePath.idl \
    640     svg/SVGPathSegCurvetoCubicAbs.idl \
    641     svg/SVGPathSegCurvetoCubicRel.idl \
    642     svg/SVGPathSegCurvetoCubicSmoothAbs.idl \
    643     svg/SVGPathSegCurvetoCubicSmoothRel.idl \
    644     svg/SVGPathSegCurvetoQuadraticAbs.idl \
    645     svg/SVGPathSegCurvetoQuadraticRel.idl \
    646     svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl \
    647     svg/SVGPathSegCurvetoQuadraticSmoothRel.idl \
    648     svg/SVGPathSeg.idl \
    649     svg/SVGPathSegLinetoAbs.idl \
    650     svg/SVGPathSegLinetoHorizontalAbs.idl \
    651     svg/SVGPathSegLinetoHorizontalRel.idl \
    652     svg/SVGPathSegLinetoRel.idl \
    653     svg/SVGPathSegLinetoVerticalAbs.idl \
    654     svg/SVGPathSegLinetoVerticalRel.idl \
    655     svg/SVGPathSegList.idl \
    656     svg/SVGPathSegMovetoAbs.idl \
    657     svg/SVGPathSegMovetoRel.idl \
    658     svg/SVGPatternElement.idl \
    659     svg/SVGPoint.idl \
    660     svg/SVGPointList.idl \
    661     svg/SVGPolygonElement.idl \
    662     svg/SVGPolylineElement.idl \
    663     svg/SVGPreserveAspectRatio.idl \
    664     svg/SVGRadialGradientElement.idl \
    665     svg/SVGRectElement.idl \
    666     svg/SVGRect.idl \
    667     svg/SVGRenderingIntent.idl \
    668     svg/SVGScriptElement.idl \
    669     svg/SVGSetElement.idl \
    670     svg/SVGStopElement.idl \
    671     svg/SVGStringList.idl \
    672     svg/SVGStyleElement.idl \
    673     svg/SVGSVGElement.idl \
    674     svg/SVGSwitchElement.idl \
    675     svg/SVGSymbolElement.idl \
    676     svg/SVGTextContentElement.idl \
    677     svg/SVGTextElement.idl \
    678     svg/SVGTextPathElement.idl \
    679     svg/SVGTextPositioningElement.idl \
    680     svg/SVGTitleElement.idl \
    681     svg/SVGTransform.idl \
    682     svg/SVGTransformList.idl \
    683     svg/SVGTRefElement.idl \
    684     svg/SVGTSpanElement.idl \
    685     svg/SVGUnitTypes.idl \
    686     svg/SVGUseElement.idl \
    687     svg/SVGViewElement.idl
    688 
    689220}
    690221
     
    25842115}
    25852116
    2586 contains(DEFINES, ENABLE_CHANNEL_MESSAGING=1) {
    2587     FEATURE_DEFINES_JAVASCRIPT += ENABLE_CHANNEL_MESSAGING=1
    2588 }
    2589 
    2590 contains(DEFINES, ENABLE_ORIENTATION_EVENTS=1) {
    2591     FEATURE_DEFINES_JAVASCRIPT += ENABLE_ORIENTATION_EVENTS=1
    2592 }
    2593 
    2594 contains(DEFINES, ENABLE_DASHBOARD_SUPPORT=0) {
    2595     DASHBOARDSUPPORTCSSPROPERTIES -= $$PWD/css/DashboardSupportCSSPropertyNames.in
    2596 }
    2597 
    2598 contains(DEFINES, ENABLE_DATAGRID=1) {
    2599     FEATURE_DEFINES_JAVASCRIPT += ENABLE_DATAGRID=1
    2600 }
    2601 
    2602 contains(DEFINES, ENABLE_EVENTSOURCE=1) {
    2603     FEATURE_DEFINES_JAVASCRIPT += ENABLE_EVENTSOURCE=1
    2604 }
    2605 
    2606 contains(DEFINES, ENABLE_TOUCH_EVENTS=1) {
    2607     FEATURE_DEFINES_JAVASCRIPT += ENABLE_TOUCH_EVENTS=1
    2608 }
    2609 
    26102117contains(DEFINES, ENABLE_SQLITE=1) {
    26112118    !system-sqlite:exists( $${SQLITE3SRCDIR}/sqlite3.c ) {
     
    26412148
    26422149contains(DEFINES, ENABLE_DATABASE=1) {
    2643     FEATURE_DEFINES_JAVASCRIPT += ENABLE_DATABASE=1
    2644 
    26452150    SOURCES += \
    26462151        storage/ChangeVersionWrapper.cpp \
     
    26662171
    26672172contains(DEFINES, ENABLE_DOM_STORAGE=1) {
    2668     FEATURE_DEFINES_JAVASCRIPT += ENABLE_DOM_STORAGE=1
    2669 
    26702173    HEADERS += \
    26712174        storage/ChangeVersionWrapper.h \
     
    27222225
    27232226contains(DEFINES, ENABLE_WORKERS=1) {
    2724     FEATURE_DEFINES_JAVASCRIPT += ENABLE_WORKERS=1
    2725 
    27262227    SOURCES += \
    27272228        bindings/js/JSAbstractWorkerCustom.cpp \
     
    27472248
    27482249contains(DEFINES, ENABLE_SHARED_WORKERS=1) {
    2749     FEATURE_DEFINES_JAVASCRIPT += ENABLE_SHARED_WORKERS=1
    2750 
    27512250    SOURCES += \
    27522251        bindings/js/JSSharedWorkerConstructor.cpp \
     
    27592258
    27602259contains(DEFINES, ENABLE_VIDEO=1) {
    2761     FEATURE_DEFINES_JAVASCRIPT += ENABLE_VIDEO=1
    2762 
    27632260    SOURCES += \
    27642261        html/HTMLAudioElement.cpp \
     
    27932290
    27942291contains(DEFINES, ENABLE_XPATH=1) {
    2795     FEATURE_DEFINES_JAVASCRIPT += ENABLE_XPATH=1
    2796 
    2797     XPATHBISON = $$PWD/xml/XPathGrammar.y
    2798 
    27992292    SOURCES += \
    28002293        xml/NativeXPathNSResolver.cpp \
     
    28192312
    28202313contains(DEFINES, ENABLE_XSLT=1) {
    2821     FEATURE_DEFINES_JAVASCRIPT += ENABLE_XSLT=1
    2822 
    28232314    QT += xmlpatterns
    28242315
     
    28302321        xml/XSLTProcessor.cpp \
    28312322        xml/XSLTProcessorQt.cpp
    2832 }
    2833 
    2834 contains(DEFINES, ENABLE_XBL=1) {
    2835     FEATURE_DEFINES_JAVASCRIPT += ENABLE_XBL=1
    28362323}
    28372324
     
    28462333        platform/graphics/filters/SourceAlpha.cpp \
    28472334        platform/graphics/filters/SourceGraphic.cpp
    2848 
    2849     FEATURE_DEFINES_JAVASCRIPT += ENABLE_FILTERS=1
    2850 }
    2851 
    2852 contains(DEFINES, ENABLE_WCSS=1) {
    2853     FEATURE_DEFINES_JAVASCRIPT += ENABLE_WCSS=1
    2854     contains(DEFINES, ENABLE_XHTMLMP=0) {
    2855         DEFINES -= ENABLE_XHTMLMP=0
    2856         DEFINES += ENABLE_XHTMLMP=1
    2857     }
    28582335}
    28592336
     
    28962373        wml/WMLTimerElement.cpp \
    28972374        wml/WMLVariables.cpp
    2898 
    2899     FEATURE_DEFINES_JAVASCRIPT += ENABLE_WML=1
    2900 
    2901     WML_NAMES = $$PWD/wml/WMLTagNames.in
    2902 
    2903     wmlnames_a.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}WMLNames.cpp
    2904     wmlnames_a.commands = perl -I$$PWD/bindings/scripts $$PWD/dom/make_names.pl --tags $$PWD/wml/WMLTagNames.in --attrs $$PWD/wml/WMLAttributeNames.in --extraDefines \"$${DEFINES}\" --preprocessor \"$${QMAKE_MOC} -E\" --factory --wrapperFactory --outputDir $$GENERATED_SOURCES_DIR
    2905     wmlnames_a.input = WML_NAMES
    2906     wmlnames_a.dependency_type = TYPE_C
    2907     wmlnames_a.CONFIG = target_predeps
    2908     wmlnames_a.variable_out = GENERATED_SOURCES
    2909     addExtraCompilerWithHeader(wmlnames_a)
    2910     wmlnames_b.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}WMLElementFactory.cpp
    2911     wmlnames_b.commands = @echo -n ''
    2912     wmlnames_b.input = SVG_NAMES
    2913     wmlnames_b.depends = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}WMLNames.cpp
    2914     wmlnames_b.CONFIG = target_predeps
    2915     wmlnames_b.variable_out = GENERATED_SOURCES
    2916     addExtraCompilerWithHeader(wmlnames_b)
    29172375}
    29182376
    29192377contains(DEFINES, ENABLE_XHTMLMP=1) {
    2920     FEATURE_DEFINES_JAVASCRIPT += ENABLE_XHTMLMP=1
    2921    
    29222378    SOURCES += \
    29232379        html/HTMLNoScriptElement.cpp
     
    29362392
    29372393contains(DEFINES, ENABLE_SVG=1) {
    2938     FEATURE_DEFINES_JAVASCRIPT += ENABLE_SVG=1
    2939 
    2940     SVG_NAMES = $$PWD/svg/svgtags.in
    2941 
    2942     XLINK_NAMES = $$PWD/svg/xlinkattrs.in
    2943 
    29442394    SOURCES += \
    29452395# TODO: this-one-is-not-auto-added! FIXME! tmp/SVGElementFactory.cpp \
     
    31382588        rendering/SVGRenderSupport.cpp \
    31392589        rendering/SVGRootInlineBox.cpp
    3140 
    3141 
    3142         # GENERATOR 5-C:
    3143         svgnames_a.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}SVGNames.cpp
    3144         svgnames_a.commands = perl -I$$PWD/bindings/scripts $$PWD/dom/make_names.pl --tags $$PWD/svg/svgtags.in --attrs $$PWD/svg/svgattrs.in --extraDefines \"$${DEFINES}\" --preprocessor \"$${QMAKE_MOC} -E\" --factory --wrapperFactory --outputDir $$GENERATED_SOURCES_DIR
    3145         svgnames_a.input = SVG_NAMES
    3146         svgnames_a.dependency_type = TYPE_C
    3147         svgnames_a.CONFIG = target_predeps
    3148         svgnames_a.variable_out = GENERATED_SOURCES
    3149         addExtraCompilerWithHeader(svgnames_a)
    3150         svgnames_b.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}SVGElementFactory.cpp
    3151         svgnames_b.commands = @echo -n ''
    3152         svgnames_b.input = SVG_NAMES
    3153         svgnames_b.depends = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}SVGNames.cpp
    3154         svgnames_b.CONFIG = target_predeps
    3155         svgnames_b.variable_out = GENERATED_SOURCES
    3156         addExtraCompilerWithHeader(svgnames_b)
    3157         svgelementwrapper.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}JSSVGElementWrapperFactory.cpp
    3158         svgelementwrapper.commands = @echo -n ''
    3159         svgelementwrapper.input = SVG_NAMES
    3160         svgelementwrapper.depends = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}SVGNames.cpp
    3161         svgelementwrapper.CONFIG = target_predeps
    3162         svgelementwrapper.variable_out = GENERATED_SOURCES
    3163         addExtraCompiler(svgelementwrapper)
    3164         svgelementwrapper_header.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}JSSVGElementWrapperFactory.h
    3165         svgelementwrapper_header.commands = @echo -n ''
    3166         svgelementwrapper_header.input = SVG_NAMES
    3167         svgelementwrapper_header.depends = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}SVGNames.cpp
    3168         svgelementwrapper_header.CONFIG = target_predeps
    3169         svgelementwrapper_header.variable_out = GENERATED_FILES
    3170         addExtraCompiler(svgelementwrapper_header)
    3171 
    3172         # GENERATOR 5-D:
    3173         xlinknames.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}XLinkNames.cpp
    3174         xlinknames.commands = perl -I$$PWD/bindings/scripts $$PWD/dom/make_names.pl --attrs $$PWD/svg/xlinkattrs.in --preprocessor \"$${QMAKE_MOC} -E\" --outputDir $$GENERATED_SOURCES_DIR
    3175         xlinknames.input = XLINK_NAMES
    3176         xlinknames.dependency_type = TYPE_C
    3177         xlinknames.CONFIG = target_predeps
    3178         xlinknames.variable_out = GENERATED_SOURCES
    3179         addExtraCompilerWithHeader(xlinknames)
    3180 
    3181 }
    3182 # GENERATOR 6-A:
    3183 cssprops.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp
    3184 cssprops.input = WALDOCSSPROPS
    3185 cssprops.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$DASHBOARDSUPPORTCSSPROPERTIES $$EXTRACSSPROPERTIES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makeprop.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf
    3186 cssprops.CONFIG = target_predeps no_link
    3187 cssprops.variable_out =
    3188 cssprops.depend = ${QMAKE_FILE_NAME} DASHBOARDSUPPORTCSSPROPERTIES EXTRACSSPROPERTIES
    3189 addExtraCompilerWithHeader(cssprops)
    3190 
    3191 # GENERATOR 6-B:
    3192 cssvalues.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.c
    3193 cssvalues.input = WALDOCSSVALUES
    3194 cssvalues.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$EXTRACSSVALUES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makevalues.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.gperf
    3195 cssvalues.CONFIG = target_predeps no_link
    3196 cssvalues.variable_out =
    3197 cssvalues.depend = ${QMAKE_FILE_NAME} EXTRACSSVALUES
    3198 cssvalues.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_GENERATED_SOURCES_DIR_SLASH}${QMAKE_FILE_BASE}.h
    3199 addExtraCompiler(cssvalues)
     2590}
    32002591
    32012592contains(DEFINES, ENABLE_JAVASCRIPT_DEBUGGER=1) {
    3202     FEATURE_DEFINES_JAVASCRIPT += ENABLE_JAVASCRIPT_DEBUGGER=1
    3203 
    32042593    SOURCES += \
    32052594        bindings/js/JSJavaScriptCallFrameCustom.cpp \
     
    32112600
    32122601contains(DEFINES, ENABLE_OFFLINE_WEB_APPLICATIONS=1) {
    3213     FEATURE_DEFINES_JAVASCRIPT += ENABLE_OFFLINE_WEB_APPLICATIONS=1
    3214 
    32152602SOURCES += \
    32162603    loader/appcache/ApplicationCache.cpp \
     
    32252612
    32262613contains(DEFINES, ENABLE_WEB_SOCKETS=1) {
    3227     FEATURE_DEFINES_JAVASCRIPT += ENABLE_WEB_SOCKETS=1
    3228 
    32292614SOURCES += \
    32302615    websockets/WebSocket.cpp \
     
    32442629}
    32452630
    3246 # GENERATOR 1: IDL compiler
    3247 idl.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}JS${QMAKE_FILE_BASE}.cpp
    3248 idl.variable_out = GENERATED_SOURCES
    3249 idl.input = IDL_BINDINGS
    3250 idl.commands = perl -I$$PWD/bindings/scripts $$PWD/bindings/scripts/generate-bindings.pl --defines \"$${FEATURE_DEFINES_JAVASCRIPT}\" --generator JS --include $$PWD/dom --include $$PWD/html --include $$PWD/xml --include $$PWD/svg --outputDir $$GENERATED_SOURCES_DIR --preprocessor \"$${QMAKE_MOC} -E\" ${QMAKE_FILE_NAME}
    3251 idl.depends = $$PWD/bindings/scripts/generate-bindings.pl \
    3252               $$PWD/bindings/scripts/CodeGenerator.pm \
    3253               $$PWD/bindings/scripts/CodeGeneratorJS.pm \
    3254               $$PWD/bindings/scripts/IDLParser.pm \
    3255               $$PWD/bindings/scripts/IDLStructure.pm \
    3256               $$PWD/bindings/scripts/InFilesParser.pm
    3257 idl.CONFIG += target_predeps
    3258 addExtraCompilerWithHeader(idl)
    3259 
    3260 # GENERATOR 3: tokenizer (flex)
    3261 tokenizer.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp
    3262 tokenizer.commands = flex -t < ${QMAKE_FILE_NAME} | perl $$PWD/css/maketokenizer > ${QMAKE_FILE_OUT}
    3263 tokenizer.dependency_type = TYPE_C
    3264 tokenizer.input = TOKENIZER
    3265 tokenizer.CONFIG += target_predeps no_link
    3266 tokenizer.variable_out =
    3267 addExtraCompiler(tokenizer)
    3268 
    3269 # GENERATOR 4: CSS grammar
    3270 cssbison.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp
    3271 cssbison.commands = perl $$PWD/css/makegrammar.pl ${QMAKE_FILE_NAME} $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}
    3272 cssbison.depend = ${QMAKE_FILE_NAME}
    3273 cssbison.input = CSSBISON
    3274 cssbison.CONFIG = target_predeps
    3275 cssbison.dependency_type = TYPE_C
    3276 cssbison.variable_out = GENERATED_SOURCES
    3277 addExtraCompilerWithHeader(cssbison)
    3278 
    3279 # GENERATOR 5-A:
    3280 htmlnames.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}HTMLNames.cpp
    3281 htmlnames.commands = perl -I$$PWD/bindings/scripts $$PWD/dom/make_names.pl --tags $$PWD/html/HTMLTagNames.in --attrs $$PWD/html/HTMLAttributeNames.in --extraDefines \"$${DEFINES}\" --preprocessor \"$${QMAKE_MOC} -E\"  --factory --wrapperFactory --outputDir $$GENERATED_SOURCES_DIR
    3282 htmlnames.input = HTML_NAMES
    3283 htmlnames.dependency_type = TYPE_C
    3284 htmlnames.CONFIG = target_predeps
    3285 htmlnames.variable_out = GENERATED_SOURCES
    3286 htmlnames.depends = $$PWD/html/HTMLAttributeNames.in
    3287 addExtraCompilerWithHeader(htmlnames)
    3288 
    3289 htmlelementfactory.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}HTMLElementFactory.cpp
    3290 htmlelementfactory.commands = @echo -n ''
    3291 htmlelementfactory.input = HTML_NAMES
    3292 htmlelementfactory.depends = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}HTMLNames.cpp
    3293 htmlelementfactory.CONFIG = target_predeps
    3294 htmlelementfactory.variable_out = GENERATED_SOURCES
    3295 htmlelementfactory.clean += ${QMAKE_FILE_OUT}
    3296 addExtraCompilerWithHeader(htmlelementfactory)
    3297 
    3298 elementwrapperfactory.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}JSHTMLElementWrapperFactory.cpp
    3299 elementwrapperfactory.commands = @echo -n ''
    3300 elementwrapperfactory.input = HTML_NAMES
    3301 elementwrapperfactory.depends = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}HTMLNames.cpp
    3302 elementwrapperfactory.CONFIG = target_predeps
    3303 elementwrapperfactory.variable_out = GENERATED_SOURCES
    3304 elementwrapperfactory.clean += ${QMAKE_FILE_OUT}
    3305 addExtraCompilerWithHeader(elementwrapperfactory)
    3306 
    3307 # GENERATOR 5-B:
    3308 xmlnames.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}XMLNames.cpp
    3309 xmlnames.commands = perl -I$$PWD/bindings/scripts $$PWD/dom/make_names.pl --attrs $$PWD/xml/xmlattrs.in --preprocessor \"$${QMAKE_MOC} -E\" --outputDir $$GENERATED_SOURCES_DIR
    3310 xmlnames.input = XML_NAMES
    3311 xmlnames.dependency_type = TYPE_C
    3312 xmlnames.CONFIG = target_predeps
    3313 xmlnames.variable_out = GENERATED_SOURCES
    3314 addExtraCompilerWithHeader(xmlnames)
    3315 
    3316 # GENERATOR 8-A:
    3317 entities.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}HTMLEntityNames.c
    3318 entities.commands = gperf -a -L ANSI-C -C -G -c -o -t --includes --key-positions="*" -N findEntity -D -s 2 < $$PWD/html/HTMLEntityNames.gperf > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}HTMLEntityNames.c
    3319 entities.input = ENTITIES_GPERF
    3320 entities.dependency_type = TYPE_C
    3321 entities.CONFIG = target_predeps no_link
    3322 entities.variable_out =
    3323 entities.clean = ${QMAKE_FILE_OUT}
    3324 addExtraCompiler(entities)
    3325 
    3326 # GENERATOR 8-B:
    3327 doctypestrings.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp
    3328 doctypestrings.input = DOCTYPESTRINGS
    3329 doctypestrings.commands = gperf -CEot -L ANSI-C --includes --key-positions="*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards < ${QMAKE_FILE_NAME} >> ${QMAKE_FILE_OUT}
    3330 doctypestrings.dependency_type = TYPE_C
    3331 doctypestrings.CONFIG += target_predeps no_link
    3332 doctypestrings.variable_out =
    3333 doctypestrings.clean = ${QMAKE_FILE_OUT}
    3334 addExtraCompiler(doctypestrings)
    3335 
    3336 # GENERATOR 8-C:
    3337 colordata.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}ColorData.c
    3338 colordata.commands = gperf -CDEot -L ANSI-C --includes --key-positions="*" -N findColor -D -s 2 < ${QMAKE_FILE_NAME} >> ${QMAKE_FILE_OUT}
    3339 colordata.input = COLORDAT_GPERF
    3340 colordata.CONFIG = target_predeps no_link
    3341 colordata.variable_out =
    3342 addExtraCompiler(colordata)
    3343 
    3344 # GENERATOR 9:
    3345 stylesheets.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}UserAgentStyleSheetsData.cpp
    3346 stylesheets.commands = perl $$PWD/css/make-css-file-arrays.pl --preprocessor \"$${QMAKE_MOC} -E\" ${QMAKE_VAR_GENERATED_SOURCES_DIR_SLASH}UserAgentStyleSheets.h ${QMAKE_FILE_OUT} $$STYLESHEETS_EMBED
    3347 STYLESHEETS_EMBED_GENERATOR_SCRIPT = $$PWD/css/make-css-file-arrays.pl
    3348 stylesheets.input = STYLESHEETS_EMBED_GENERATOR_SCRIPT
    3349 stylesheets.depends = $$STYLESHEETS_EMBED
    3350 stylesheets.CONFIG = target_predeps
    3351 stylesheets.variable_out = GENERATED_SOURCES
    3352 stylesheets.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_GENERATED_SOURCES_DIR_SLASH}UserAgentStyleSheets.h
    3353 addExtraCompilerWithHeader(stylesheets, $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}UserAgentStyleSheets.h)
    3354 
    3355 # GENERATOR 10: XPATH grammar
    3356 xpathbison.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp
    3357 xpathbison.commands = bison -d -p xpathyy ${QMAKE_FILE_NAME} -o $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c && $(MOVE) $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp && $(MOVE) $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.h $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.h
    3358 xpathbison.depend = ${QMAKE_FILE_NAME}
    3359 xpathbison.input = XPATHBISON
    3360 xpathbison.CONFIG = target_predeps
    3361 xpathbison.dependency_type = TYPE_C
    3362 xpathbison.variable_out = GENERATED_SOURCES
    3363 addExtraCompilerWithHeader(xpathbison)
    3364 
    3365 # GENERATOR 11: WebKit Version
    3366 # The appropriate Apple-maintained Version.xcconfig file for WebKit version information is in WebKit/mac/Configurations/.
    3367 webkitversion.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}WebKitVersion.h
    3368 webkitversion.commands = perl $$PWD/../WebKit/scripts/generate-webkitversion.pl --config $$PWD/../WebKit/mac/Configurations/Version.xcconfig --outputDir $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}
    3369 WEBKITVERSION_SCRIPT = $$PWD/../WebKit/scripts/generate-webkitversion.pl
    3370 webkitversion.input = WEBKITVERSION_SCRIPT
    3371 webkitversion.CONFIG = target_predeps
    3372 webkitversion.depend = $$PWD/../WebKit/scripts/generate-webkitversion.pl
    3373 webkitversion.variable_out = GENERATED_SOURCES
    3374 webkitversion.clean = ${QMAKE_VAR_GENERATED_SOURCES_DIR_SLASH}WebKitVersion.h
    3375 addExtraCompiler(webkitversion)
    3376 
    3377 
    33782631include($$PWD/../WebKit/qt/Api/headers.pri)
    33792632HEADERS += $$WEBKIT_API_HEADERS
  • trunk/WebKit.pri

    r52734 r53187  
    8181win32-msvc*: QMAKE_CXXFLAGS += -wd4291 -wd4344 -wd4396 -wd4503 -wd4800 -wd4819 -wd4996
    8282
    83 #
    84 # For builds inside Qt we interpret the output rule and the input of each extra compiler manually
    85 # and add the resulting sources to the SOURCES variable, because the build inside Qt contains already
    86 # all the generated files. We do not need to generate any extra compiler rules in that case.
    87 #
    88 # In addition this function adds a new target called 'generated_files' that allows manually calling
    89 # all the extra compilers to generate all the necessary files for the build using 'make generated_files'
    90 #
    91 defineTest(addExtraCompiler) {
    92     CONFIG(standalone_package) {
    93         outputRule = $$eval($${1}.output)
    94         outVariable = $$eval($${1}.variable_out)
    95         !isEqual(outVariable,GENERATED_SOURCES):return(true)
    96 
    97         input = $$eval($${1}.input)
    98         input = $$eval($$input)
    99 
    100         for(file,input) {
    101             base = $$basename(file)
    102             base ~= s/\..+//
    103             newfile=$$replace(outputRule,\\$\\{QMAKE_FILE_BASE\\},$$base)
    104             SOURCES += $$newfile
    105         }
    106 
    107         export(SOURCES)
    108     } else {
    109         QMAKE_EXTRA_COMPILERS += $$1
    110         generated_files.depends += compiler_$${1}_make_all
    111         export(QMAKE_EXTRA_COMPILERS)
    112         export(generated_files.depends)
    113     }
    114     return(true)
    115 }
    116 
    117 defineTest(addExtraCompilerWithHeader) {
    118     addExtraCompiler($$1)
    119 
    120     eval(headerFile = $${2})
    121     isEmpty(headerFile) {
    122         eval($${1}_header.output = $$eval($${1}.output))
    123         eval($${1}_header.output ~= s/\.cpp/.h/)
    124         eval($${1}_header.output ~= s/\.c/.h/)
    125     } else {
    126         eval($${1}_header.output = $$headerFile)
    127     }
    128 
    129     eval($${1}_header.input = $$eval($${1}.input))
    130     eval($${1}_header.commands = @echo -n '')
    131     eval($${1}_header.depends = compiler_$${1}_make_all)
    132     eval($${1}_header.variable_out = GENERATED_FILES)
    133 
    134     export($${1}_header.output)
    135     export($${1}_header.input)
    136     export($${1}_header.commands)
    137     export($${1}_header.depends)
    138     export($${1}_header.variable_out)
    139 
    140     !CONFIG(standalone_package): QMAKE_EXTRA_COMPILERS += $${1}_header
    141 
    142     export(QMAKE_EXTRA_COMPILERS)
    143     export(generated_files.depends)
    144     export(SOURCES)
    145 
    146     return(true)
    147 }
    148 
  • trunk/WebKitTools/ChangeLog

    r53186 r53187  
     12010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        [Qt] Split the build process in two different .pro files.
     6        This allows qmake to be run once all source files are available.
     7
     8        * Scripts/webkitdirs.pm: Add calls to make DerivedSources.pro in JSC and WC.
     9
    1102010-01-13  Shinichiro Hamaji  <hamaji@chromium.org>
    211
  • trunk/WebKitTools/Scripts/webkitdirs.pm

    r53145 r53187  
    3333use FindBin;
    3434use File::Basename;
     35use File::Path;
    3536use File::Spec;
    3637use POSIX;
     
    14501451    my $config = configuration();
    14511452    my $prefix = $ENV{"WebKitInstallationPrefix"};
     1453    my $dir = File::Spec->canonpath(baseProductDir());
     1454    File::Path::mkpath($dir);
     1455    $dir = File::Spec->catfile($dir, $config);
     1456    File::Path::mkpath($dir);
     1457    chdir $dir or die "Failed to cd into " . $dir . "\n";
     1458
     1459    print "Generating derived sources\n\n";
     1460
     1461    my @dsQmakeArgs = @buildArgs;
     1462    push @dsQmakeArgs, "-r";
     1463    push @dsQmakeArgs, sourceDir() . "/DerivedSources.pro";
     1464    push @dsQmakeArgs, "CONFIG-=release";
     1465    push @dsQmakeArgs, "CONFIG+=debug";
     1466    print "Calling '$qmakebin @dsQmakeArgs' in " . $dir . "\n\n";
     1467    my $result = system "$qmakebin @dsQmakeArgs";
     1468    if ($result ne 0) {
     1469        die "Failed while running $qmakebin to generate derived sources!\n";
     1470    }
     1471
     1472    my $dsMakefile = "Makefile.DerivedSources";
     1473    # This is to overcome a problem of qmake when generating Makefiles with extra targets for windows.
     1474    # The configuration doesn't matter for source generation, just use debug.
     1475    $dsMakefile .= ".Debug" if (isCygwin() || isWindows());
     1476
     1477    print "Calling '$make $makeargs -f $dsMakefile generated_files' in " . $dir . "/JavaScriptCore\n\n";
     1478    $result = system "pushd JavaScriptCore && $make $makeargs -f $dsMakefile generated_files && popd";
     1479    if ($result ne 0) {
     1480        die "Failed to generate JavaScriptCore's derived sources!\n";
     1481    }
     1482    print "Calling '$make $makeargs -f $dsMakefile generated_files' in " . $dir . "/WebCore\n\n";
     1483    $result = system "pushd WebCore && $make $makeargs -f $dsMakefile generated_files && popd";
     1484    if ($result ne 0) {
     1485        die "Failed to generate WebCore's derived sources!\n";
     1486    }
     1487
    14521488
    14531489    push @buildArgs, "OUTPUT_DIR=" . baseProductDir() . "/$config";
     
    14671503    }
    14681504
    1469     my $dir = File::Spec->canonpath(baseProductDir());
    1470     my @mkdirArgs;
    1471     push @mkdirArgs, "-p" if !isWindows();
    1472     if (! -d $dir) {
    1473         system "mkdir", @mkdirArgs, "$dir";
    1474         if (! -d $dir) {
    1475             die "Failed to create product directory " . $dir;
    1476         }
    1477     }
    1478     $dir = File::Spec->catfile($dir, $config);
    1479     if (! -d $dir) {
    1480         system "mkdir", @mkdirArgs, "$dir";
    1481         if (! -d $dir) {
    1482             die "Failed to create build directory " . $dir;
    1483         }
    1484     }
    1485 
    1486     chdir $dir or die "Failed to cd into " . $dir . "\n";
    1487 
    14881505    print "Calling '$qmakebin @buildArgs' in " . $dir . "\n\n";
    14891506    print "Installation directory: $prefix\n" if(defined($prefix));
    14901507
    1491     my $result = system "$qmakebin @buildArgs";
     1508    $result = system "$qmakebin @buildArgs";
    14921509    if ($result ne 0) {
    14931510       die "Failed to setup build environment using $qmakebin!\n";
     
    14951512
    14961513    if ($clean) {
     1514      print "Calling '$make $makeargs distclean' in " . $dir . "\n\n";
    14971515      $result = system "$make $makeargs distclean";
    14981516    } else {
     1517      print "Calling '$make $makeargs' in " . $dir . "\n\n";
    14991518      $result = system "$make $makeargs";
    15001519    }
Note: See TracChangeset for help on using the changeset viewer.