Changeset 27958 in webkit


Ignore:
Timestamp:
Nov 22, 2007 2:10:07 AM (16 years ago)
Author:
Simon Hausmann
Message:

Centralize the setup for all the extra compilers in a addExtraCompiler function.

This allows adding a "generated_files" target that builds all generated files
using "make generated_files". For the build inside Qt we do not generate
actual rules for the extra compilers but instead do the variable substitution
of compiler.output manually and add the generated sources to SOURCES.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r27954 r27958  
     12007-11-22  Simon Hausmann  <hausmann@kde.org>
     2
     3        Reviewed by George.
     4
     5        Centralize the setup for all the extra compilers in a addExtraCompiler function.
     6       
     7        This allows adding a "generated_files" target that builds all generated files using "make generated_files".
     8        For the build inside Qt we do not generate actual rules for the extra compilers but instead
     9        do the variable substitution of compiler.output manually and add the generated sources to SOURCES.
     10
     11        * JavaScriptCore.pri:
     12        * pcre/pcre.pri:
     13
    1142007-11-20  Mark Rowe  <mrowe@apple.com>
    215
  • trunk/JavaScriptCore/JavaScriptCore.pri

    r27746 r27958  
    101101    bindings/qt/qt_runtime.cpp
    102102
     103!CONFIG(QTDIR_build) {
     104    defineTest(addExtraCompiler) {
     105        QMAKE_EXTRA_COMPILERS += $$1
     106        generated_files.depends += compiler_$${1}_make_all
     107        export(QMAKE_EXTRA_COMPILERS)
     108        export(generated_files.depends)
     109        return(true)
     110    }
     111}
    103112
    104113# GENERATOR 1-A: LUT creator
     
    108117lut.input = LUT_FILES
    109118lut.CONFIG += no_link
    110 QMAKE_EXTRA_COMPILERS += lut
     119addExtraCompiler(lut)
    111120
    112121# GENERATOR 1-B: particular LUT creator (for 1 file only)
     
    116125keywordlut.input = KEYWORDLUT_FILES
    117126keywordlut.CONFIG += no_link
    118 QMAKE_EXTRA_COMPILERS += keywordlut
     127addExtraCompiler(keywordlut)
    119128
    120129# GENERATOR 2: bison grammar
     
    127136kjsbison.CONFIG = target_predeps
    128137kjsbison.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
    129 QMAKE_EXTRA_COMPILERS += kjsbison
     138addExtraCompiler(kjsbison)
  • trunk/JavaScriptCore/pcre/pcre.pri

    r27686 r27958  
    1515    dftables.cpp
    1616
     17!CONFIG(QTDIR_build) {
     18    defineTest(addExtraCompiler) {
     19        QMAKE_EXTRA_COMPILERS += $$1
     20        generated_files.depends += compiler_$${1}_make_all
     21        export(QMAKE_EXTRA_COMPILERS)
     22        export(generated_files.depends)
     23        return(true)
     24    }
     25}
     26
    1727# GENERATOR: "chartables.c": compile and execute the chartables generator (and add it to sources)
    1828ctgen.output = tmp/chartables.c
     
    2333ctgen.dependency_type = TYPE_C
    2434ctgen.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}
    25 QMAKE_EXTRA_COMPILERS += ctgen
     35addExtraCompiler(ctgen)
  • trunk/WebCore/ChangeLog

    r27953 r27958  
     12007-11-22  Simon Hausmann  <hausmann@kde.org>
     2
     3        Reviewed by George.
     4
     5        Centralize the setup for all the extra compilers in a addExtraCompiler function.
     6       
     7        This allows adding a "generated_files" target that builds all generated files using "make generated_files".
     8        For the build inside Qt we do not generate actual rules for the extra compilers but instead
     9        do the variable substitution of compiler.output manually and add the generated sources to SOURCES.
     10
     11        WARNING: NO TEST CASES ADDED OR CHANGED
     12
     13        * WebCore.pro:
     14
    1152007-11-21  Timothy Hatcher  <timothy@apple.com>
    216
  • trunk/WebCore/WebCore.pro

    r27925 r27958  
    6363
    6464DEFINES += WTF_CHANGES=1
     65
     66#
     67# For builds inside Qt we interpret the output rule and the input of each extra compiler manually
     68# and add the resulting sources to the SOURCES variable, because the build inside Qt contains already
     69# all the generated files. We do not need to generate any extra compiler rules in that case.
     70#
     71# In addition this function adds a new target called 'generated_files' that allows manually calling
     72# all the extra compilers to generate all the necessary files for the build using 'make generated_files'
     73#
     74defineTest(addExtraCompiler) {
     75    CONFIG(QTDIR_build) {
     76        outputRule = $$eval($${1}.output)
     77
     78        input = $$eval($${1}.input)
     79        input = $$eval($$input)
     80
     81        for(file,input) {
     82            base = $$basename(file)
     83            base ~= s/\..+//
     84            newfile=$$replace(outputRule,\\$\\{QMAKE_FILE_BASE\\},$$base)
     85            SOURCES += $$newfile
     86        }
     87
     88        export(SOURCES)
     89    } else {
     90        QMAKE_EXTRA_COMPILERS += $$1
     91        generated_files.depends += compiler_$${1}_make_all
     92        export(QMAKE_EXTRA_COMPILERS)
     93        export(generated_files.depends)
     94    }
     95    return(true)
     96}
    6597
    6698include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
     
    151183
    152184QT += network xml
     185
     186QMAKE_EXTRA_TARGETS += generated_files
    153187
    154188FEATURE_DEFINES_JAVASCRIPT = LANGUAGE_JAVASCRIPT=1
     
    14241458        svgnames_a.variable_out = GENERATED_SOURCES
    14251459        svgnames_a.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}SVGNames.h
    1426         QMAKE_EXTRA_COMPILERS += svgnames_a
     1460        addExtraCompiler(svgnames_a)
    14271461        svgnames_b.output = tmp/SVGElementFactory.cpp
    14281462        svgnames_b.commands = @echo -n ''
     
    14321466        svgnames_b.variable_out = GENERATED_SOURCES
    14331467        svgnames_b.clean += ${QMAKE_VAR_OBJECTS_DIR_WTR}SVGElementFactory.h ${QMAKE_FILE_OUT}
    1434         QMAKE_EXTRA_COMPILERS += svgnames_b
     1468        addExtraCompiler(svgnames_b)
    14351469
    14361470        # GENERATOR 5-D:
     
    14421476        xlinknames.variable_out = GENERATED_SOURCES
    14431477        xlinknames.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}XLinkNames.h
    1444         QMAKE_EXTRA_COMPILERS += xlinknames
     1478        addExtraCompiler(xlinknames)
    14451479
    14461480    # GENERATOR 6-A:
     
    14511485    cssprops.depend = ${QMAKE_FILE_NAME} SVGCSSPROPERTIES
    14521486    cssprops.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
    1453     QMAKE_EXTRA_COMPILERS += cssprops
     1487    addExtraCompiler(cssprops)
    14541488
    14551489    # GENERATOR 6-B:
     
    14601494    cssvalues.depend = ${QMAKE_FILE_NAME} SVGCSSVALUES
    14611495    cssvalues.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
    1462     QMAKE_EXTRA_COMPILERS += cssvalues
     1496    addExtraCompiler(cssvalues)
    14631497} else {
    14641498    # GENERATOR 6-A:
     
    14681502    cssprops.CONFIG = target_predeps no_link
    14691503    cssprops.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
    1470     QMAKE_EXTRA_COMPILERS += cssprops
     1504    addExtraCompiler(cssprops)
    14711505
    14721506    # GENERATOR 6-B:
     
    14761510    cssvalues.CONFIG = target_predeps no_link
    14771511    cssvalues.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
    1478     QMAKE_EXTRA_COMPILERS += cssvalues
     1512    addExtraCompiler(cssvalues)
    14791513}
    14801514
     
    14871521idl.CONFIG += target_predeps
    14881522idl.clean = ${QMAKE_VAR_OBJECTS_DIR_WTR}JS${QMAKE_FILE_BASE}.h ${QMAKE_FILE_OUT}
    1489 QMAKE_EXTRA_COMPILERS += idl
     1523addExtraCompiler(idl)
    14901524
    14911525# GENERATOR 2-A: LUT creator
     
    15041538luttable.CONFIG += no_link
    15051539luttable.dependency_type = TYPE_C
    1506 QMAKE_EXTRA_COMPILERS += luttable
     1540addExtraCompiler(luttable)
    15071541
    15081542# GENERATOR 3: tokenizer (flex)
     
    15121546tokenizer.input = TOKENIZER
    15131547tokenizer.CONFIG += target_predeps no_link
    1514 QMAKE_EXTRA_COMPILERS += tokenizer
     1548addExtraCompiler(tokenizer)
    15151549
    15161550# GENERATOR 4: CSS grammar
     
    15231557cssbison.variable_out = GENERATED_SOURCES
    15241558cssbison.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
    1525 QMAKE_EXTRA_COMPILERS += cssbison
     1559addExtraCompiler(cssbison)
    15261560#PRE_TARGETDEPS += tmp/CSSGrammar.cpp
    15271561grammar_h_dep.target = tmp/CSSParser.o
     
    15371571htmlnames.variable_out = GENERATED_SOURCES
    15381572htmlnames.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}HTMLNames.h
    1539 QMAKE_EXTRA_COMPILERS += htmlnames
     1573addExtraCompiler(htmlnames)
    15401574
    15411575# GENERATOR 5-B:
     
    15471581xmlnames.variable_out = GENERATED_SOURCES
    15481582xmlnames.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}XMLNames.h
    1549 QMAKE_EXTRA_COMPILERS += xmlnames
    1550 
     1583addExtraCompiler(xmlnames)
    15511584
    15521585# GENERATOR 8-A:
     
    15571590entities.CONFIG = target_predeps no_link
    15581591entities.clean = ${QMAKE_FILE_OUT}
    1559 QMAKE_EXTRA_COMPILERS += entities
     1592addExtraCompiler(entities)
    15601593
    15611594# GENERATOR 8-B:
     
    15661599doctypestrings.CONFIG += target_predeps no_link
    15671600doctypestrings.clean = ${QMAKE_FILE_OUT}
    1568 QMAKE_EXTRA_COMPILERS += doctypestrings
     1601addExtraCompiler(doctypestrings)
    15691602
    15701603# GENERATOR 8-C:
     
    15731606colordata.input = COLORDAT_GPERF
    15741607colordata.CONFIG = target_predeps no_link
    1575 QMAKE_EXTRA_COMPILERS += colordata
     1608addExtraCompiler(colordata)
    15761609
    15771610# GENERATOR 9:
     
    15821615stylesheets.variable_out = GENERATED_SOURCES
    15831616stylesheets.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}UserAgentStyleSheets.h
    1584 QMAKE_EXTRA_COMPILERS += stylesheets
     1617addExtraCompiler(stylesheets)
    15851618
    15861619# GENERATOR 10: XPATH grammar
     
    15931626xpathbison.variable_out = GENERATED_SOURCES
    15941627xpathbison.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
    1595 QMAKE_EXTRA_COMPILERS += xpathbison
     1628addExtraCompiler(xpathbison)
    15961629
    15971630qt-port {
Note: See TracChangeset for help on using the changeset viewer.