Home | History | Annotate | Download | only in JavaScriptCore
      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/ObjectConstructor.cpp \
     23     runtime/RegExpConstructor.cpp \
     24     runtime/RegExpObject.cpp \
     25     runtime/StringPrototype.cpp
     26 
     27 KEYWORDLUT_FILES += \
     28     parser/Keywords.table
     29 
     30 JIT_STUB_FILES += \
     31     jit/JITStubs.cpp
     32 
     33 defineTest(addExtraCompiler) {
     34     eval($${1}.CONFIG = target_predeps no_link)
     35     eval($${1}.variable_out =)
     36     eval($${1}.dependency_type = TYPE_C)
     37 
     38     wkScript = $$eval($${1}.wkScript)
     39     eval($${1}.depends += $$wkScript)
     40 
     41     export($${1}.CONFIG)
     42     export($${1}.variable_out)
     43     export($${1}.dependency_type)
     44     export($${1}.depends)
     45 
     46     QMAKE_EXTRA_COMPILERS += $$1
     47     generated_files.depends += compiler_$${1}_make_all
     48     export(QMAKE_EXTRA_COMPILERS)
     49     export(generated_files.depends)
     50     return(true)
     51 }
     52 
     53 # GENERATOR 1-A: LUT creator
     54 lut.output = $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.lut.h
     55 lut.input = LUT_FILES
     56 lut.wkScript = $$PWD/create_hash_table
     57 lut.commands = perl $$lut.wkScript ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
     58 lut.depends = ${QMAKE_FILE_NAME}
     59 addExtraCompiler(lut)
     60 
     61 # GENERATOR 1-B: particular LUT creator (for 1 file only)
     62 keywordlut.output = $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Lexer.lut.h
     63 keywordlut.input = KEYWORDLUT_FILES
     64 keywordlut.wkScript = $$PWD/create_hash_table
     65 keywordlut.commands = perl $$keywordlut.wkScript ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
     66 keywordlut.depends = ${QMAKE_FILE_NAME}
     67 addExtraCompiler(keywordlut)
     68 
     69 # GENERATOR 2-A: JIT Stub functions for RVCT
     70 rvctstubs.output = $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Generated${QMAKE_FILE_BASE}_RVCT.h
     71 rvctstubs.wkScript = $$PWD/create_jit_stubs
     72 rvctstubs.commands = perl -i $$rvctstubs.wkScript --prefix RVCT ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
     73 rvctstubs.depends = ${QMAKE_FILE_NAME}
     74 rvctstubs.input = JIT_STUB_FILES
     75 rvctstubs.CONFIG += no_link
     76 addExtraCompiler(rvctstubs)
     77 
     78 # GENERATOR 2-B: JIT Stub functions for MSVC
     79 msvcstubs.output = $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Generated${QMAKE_FILE_BASE}_MSVC.asm
     80 msvcstubs.wkScript = $$PWD/create_jit_stubs
     81 msvcstubs.commands = perl -i $$msvcstubs.wkScript --prefix MSVC ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
     82 msvcstubs.depends = ${QMAKE_FILE_NAME}
     83 msvcstubs.input = JIT_STUB_FILES
     84 msvcstubs.CONFIG += no_link
     85 addExtraCompiler(msvcstubs)
     86 
     87 #GENERATOR: "RegExpJitTables.h": tables used by Yarr
     88 retgen.output = $$JSC_GENERATED_SOURCES_DIR/RegExpJitTables.h
     89 retgen.wkScript = $$PWD/create_regex_tables 
     90 retgen.input = retgen.wkScript
     91 retgen.commands = python $$retgen.wkScript > ${QMAKE_FILE_OUT}
     92 addExtraCompiler(retgen)
     93