JavaScriptCore/DerivedSources.pro
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 # DerivedSources - qmake build info
       
     2 
       
     3 CONFIG -= debug_and_release
       
     4 
       
     5 TEMPLATE = lib
       
     6 TARGET = dummy
       
     7 
       
     8 QMAKE_EXTRA_TARGETS += generated_files
       
     9 
       
    10 CONFIG(standalone_package) {
       
    11     isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = $$PWD/generated
       
    12 } else {
       
    13     isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = generated
       
    14 }
       
    15 
       
    16 LUT_FILES += \
       
    17     runtime/ArrayPrototype.cpp \
       
    18     runtime/DatePrototype.cpp \
       
    19     runtime/JSONObject.cpp \
       
    20     runtime/MathObject.cpp \
       
    21     runtime/NumberConstructor.cpp \
       
    22     runtime/RegExpConstructor.cpp \
       
    23     runtime/RegExpObject.cpp \
       
    24     runtime/StringPrototype.cpp
       
    25 
       
    26 KEYWORDLUT_FILES += \
       
    27     parser/Keywords.table
       
    28 
       
    29 RVCT_STUB_FILES += \
       
    30     jit/JITStubs.cpp
       
    31 
       
    32 defineTest(addExtraCompiler) {
       
    33     eval($${1}.CONFIG = target_predeps no_link)
       
    34     eval($${1}.variable_out =)
       
    35     eval($${1}.dependency_type = TYPE_C)
       
    36 
       
    37     wkScript = $$eval($${1}.wkScript)
       
    38     eval($${1}.depends += $$wkScript)
       
    39 
       
    40     export($${1}.CONFIG)
       
    41     export($${1}.variable_out)
       
    42     export($${1}.dependency_type)
       
    43     export($${1}.depends)
       
    44 
       
    45     QMAKE_EXTRA_COMPILERS += $$1
       
    46     generated_files.depends += compiler_$${1}_make_all
       
    47     export(QMAKE_EXTRA_COMPILERS)
       
    48     export(generated_files.depends)
       
    49     return(true)
       
    50 }
       
    51 
       
    52 # GENERATOR 1-A: LUT creator
       
    53 lut.output = $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.lut.h
       
    54 lut.input = LUT_FILES
       
    55 lut.wkScript = $$PWD/create_hash_table
       
    56 lut.commands = perl $$lut.wkScript ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
       
    57 lut.depends = ${QMAKE_FILE_NAME}
       
    58 addExtraCompiler(lut)
       
    59 
       
    60 # GENERATOR 1-B: particular LUT creator (for 1 file only)
       
    61 keywordlut.output = $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Lexer.lut.h
       
    62 keywordlut.input = KEYWORDLUT_FILES
       
    63 keywordlut.wkScript = $$PWD/create_hash_table
       
    64 keywordlut.commands = perl $$keywordlut.wkScript ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
       
    65 keywordlut.depends = ${QMAKE_FILE_NAME}
       
    66 addExtraCompiler(keywordlut)
       
    67 
       
    68 # GENERATOR 3: JIT Stub functions for RVCT
       
    69 rvctstubs.output = $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Generated${QMAKE_FILE_BASE}_RVCT.h
       
    70 rvctstubs.wkScript = $$PWD/create_jit_stubs
       
    71 rvctstubs.commands = perl -i $$rvctstubs.wkScript --prefix RVCT ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
       
    72 rvctstubs.depends = ${QMAKE_FILE_NAME}
       
    73 rvctstubs.input = RVCT_STUB_FILES
       
    74 rvctstubs.CONFIG += no_link
       
    75 addExtraCompiler(rvctstubs)
       
    76 
       
    77 # GENERATOR: "chartables.c": compile and execute the chartables generator (and add it to sources)
       
    78 win32-msvc*|wince*: PREPROCESSOR = "--preprocessor=\"$$QMAKE_CC /E\""
       
    79 ctgen.output = $$JSC_GENERATED_SOURCES_DIR/chartables.c
       
    80 ctgen.wkScript = $$PWD/pcre/dftables
       
    81 ctgen.input = ctgen.wkScript
       
    82 ctgen.commands = perl $$ctgen.wkScript ${QMAKE_FILE_OUT} $$PREPROCESSOR
       
    83 ctgen.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_JSC_GENERATED_SOURCES_DIR}${QMAKE_FILE_BASE}
       
    84 addExtraCompiler(ctgen)
       
    85 
       
    86 #GENERATOR: "RegExpJitTables.h": tables used by Yarr
       
    87 retgen.output = $$JSC_GENERATED_SOURCES_DIR/RegExpJitTables.h
       
    88 retgen.wkScript = $$PWD/create_regex_tables 
       
    89 retgen.input = retgen.wkScript
       
    90 retgen.commands = python $$retgen.wkScript > ${QMAKE_FILE_OUT}
       
    91 addExtraCompiler(retgen)