Home | History | Annotate | Download | only in JavaScriptCore
      1 # JavaScriptCore - qmake build info
      2 CONFIG += building-libs
      3 include($$PWD/../WebKit.pri)
      4 include(JavaScriptCore.pri)
      5 
      6 TEMPLATE = lib
      7 CONFIG += staticlib
      8 # Don't use JavaScriptCore as the target name. qmake would create a JavaScriptCore.vcproj for msvc
      9 # which already exists as a directory
     10 TARGET = $$JAVASCRIPTCORE_TARGET
     11 DESTDIR = $$JAVASCRIPTCORE_DESTDIR
     12 QT += core
     13 QT -= gui
     14 
     15 CONFIG += depend_includepath
     16 
     17 contains(QT_CONFIG, embedded):CONFIG += embedded
     18 
     19 # WebCore adds these config only when in a standalone build.
     20 # qbase.pri takes care of that when in a QTDIR_build
     21 # Here we add the config for both cases since we don't include qbase.pri
     22 contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
     23 unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
     24 
     25 CONFIG(QTDIR_build) {
     26     # Remove the following 2 lines if you want debug information in JavaScriptCore
     27     CONFIG -= separate_debug_info
     28     CONFIG += no_debug_info
     29 }
     30 
     31 *-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2
     32 *-g++*:QMAKE_CXXFLAGS_RELEASE += -O3
     33 
     34 # Rules when JIT enabled (not disabled)
     35 !contains(DEFINES, ENABLE_JIT=0) {
     36     linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
     37         QMAKE_CXXFLAGS += -fno-stack-protector
     38         QMAKE_CFLAGS += -fno-stack-protector
     39     }
     40 }
     41 
     42 wince* {
     43     SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c
     44 }
     45 
     46 include(yarr/yarr.pri)
     47 include(wtf/wtf.pri)
     48 
     49 INSTALLDEPS += all
     50 
     51 SOURCES += \
     52     API/JSBase.cpp \
     53     API/JSCallbackConstructor.cpp \
     54     API/JSCallbackFunction.cpp \
     55     API/JSCallbackObject.cpp \
     56     API/JSClassRef.cpp \
     57     API/JSContextRef.cpp \
     58     API/JSObjectRef.cpp \
     59     API/JSStringRef.cpp \
     60     API/JSValueRef.cpp \
     61     API/OpaqueJSString.cpp \
     62     assembler/ARMAssembler.cpp \
     63     assembler/ARMv7Assembler.cpp \
     64     assembler/MacroAssemblerARM.cpp \
     65     assembler/MacroAssemblerSH4.h \
     66     assembler/MacroAssemblerSH4.cpp \
     67     assembler/SH4Assembler.h \
     68     bytecode/CodeBlock.cpp \
     69     bytecode/JumpTable.cpp \
     70     bytecode/Opcode.cpp \
     71     bytecode/SamplingTool.cpp \
     72     bytecode/StructureStubInfo.cpp \
     73     bytecompiler/BytecodeGenerator.cpp \
     74     bytecompiler/NodesCodegen.cpp \
     75     heap/ConservativeRoots.cpp \
     76     heap/HandleHeap.cpp \
     77     heap/HandleStack.cpp \
     78     heap/Heap.cpp \
     79     heap/MachineStackMarker.cpp \
     80     heap/MarkStack.cpp \
     81     heap/MarkStackPosix.cpp \
     82     heap/MarkStackSymbian.cpp \
     83     heap/MarkStackWin.cpp \
     84     heap/MarkedBlock.cpp \
     85     heap/MarkedSpace.cpp \
     86     debugger/DebuggerActivation.cpp \
     87     debugger/DebuggerCallFrame.cpp \
     88     debugger/Debugger.cpp \
     89     dfg/DFGByteCodeParser.cpp \
     90     dfg/DFGGraph.cpp \
     91     dfg/DFGJITCodeGenerator.cpp \
     92     dfg/DFGJITCompiler.cpp \
     93     dfg/DFGNonSpeculativeJIT.cpp \
     94     dfg/DFGOperations.cpp \
     95     dfg/DFGSpeculativeJIT.cpp \
     96     interpreter/CallFrame.cpp \
     97     interpreter/Interpreter.cpp \
     98     interpreter/RegisterFile.cpp \
     99     jit/ExecutableAllocatorFixedVMPool.cpp \
    100     jit/ExecutableAllocator.cpp \
    101     jit/JITArithmetic.cpp \
    102     jit/JITArithmetic32_64.cpp \
    103     jit/JITCall.cpp \
    104     jit/JITCall32_64.cpp \
    105     jit/JIT.cpp \
    106     jit/JITOpcodes.cpp \
    107     jit/JITOpcodes32_64.cpp \
    108     jit/JITPropertyAccess.cpp \
    109     jit/JITPropertyAccess32_64.cpp \
    110     jit/JITStubs.cpp \
    111     jit/ThunkGenerators.cpp \
    112     parser/JSParser.cpp \
    113     parser/Lexer.cpp \
    114     parser/Nodes.cpp \
    115     parser/ParserArena.cpp \
    116     parser/Parser.cpp \
    117     parser/SourceProviderCache.cpp \
    118     profiler/Profile.cpp \
    119     profiler/ProfileGenerator.cpp \
    120     profiler/ProfileNode.cpp \
    121     profiler/Profiler.cpp \
    122     runtime/ArgList.cpp \
    123     runtime/Arguments.cpp \
    124     runtime/ArrayConstructor.cpp \
    125     runtime/ArrayPrototype.cpp \
    126     runtime/BooleanConstructor.cpp \
    127     runtime/BooleanObject.cpp \
    128     runtime/BooleanPrototype.cpp \
    129     runtime/CallData.cpp \
    130     runtime/CommonIdentifiers.cpp \
    131     runtime/Completion.cpp \
    132     runtime/ConstructData.cpp \
    133     runtime/DateConstructor.cpp \
    134     runtime/DateConversion.cpp \
    135     runtime/DateInstance.cpp \
    136     runtime/DatePrototype.cpp \
    137     runtime/ErrorConstructor.cpp \
    138     runtime/Error.cpp \
    139     runtime/ErrorInstance.cpp \
    140     runtime/ErrorPrototype.cpp \
    141     runtime/ExceptionHelpers.cpp \
    142     runtime/Executable.cpp \
    143     runtime/FunctionConstructor.cpp \
    144     runtime/FunctionPrototype.cpp \
    145     runtime/GCActivityCallback.cpp \
    146     runtime/GetterSetter.cpp \
    147     runtime/Identifier.cpp \
    148     runtime/InitializeThreading.cpp \
    149     runtime/InternalFunction.cpp \
    150     runtime/JSActivation.cpp \
    151     runtime/JSAPIValueWrapper.cpp \
    152     runtime/JSArray.cpp \
    153     runtime/JSByteArray.cpp \
    154     runtime/JSCell.cpp \
    155     runtime/JSFunction.cpp \
    156     runtime/JSGlobalData.cpp \
    157     runtime/JSGlobalObject.cpp \
    158     runtime/JSGlobalObjectFunctions.cpp \
    159     runtime/JSLock.cpp \
    160     runtime/JSNotAnObject.cpp \
    161     runtime/JSObject.cpp \
    162     runtime/JSObjectWithGlobalObject.cpp \
    163     runtime/JSONObject.cpp \
    164     runtime/JSPropertyNameIterator.cpp \
    165     runtime/JSStaticScopeObject.cpp \
    166     runtime/JSString.cpp \
    167     runtime/JSValue.cpp \
    168     runtime/JSVariableObject.cpp \
    169     runtime/JSWrapperObject.cpp \
    170     runtime/LiteralParser.cpp \
    171     runtime/Lookup.cpp \
    172     runtime/MathObject.cpp \
    173     runtime/NativeErrorConstructor.cpp \
    174     runtime/NativeErrorPrototype.cpp \
    175     runtime/NumberConstructor.cpp \
    176     runtime/NumberObject.cpp \
    177     runtime/NumberPrototype.cpp \
    178     runtime/ObjectConstructor.cpp \
    179     runtime/ObjectPrototype.cpp \
    180     runtime/Operations.cpp \
    181     runtime/PropertyDescriptor.cpp \
    182     runtime/PropertyNameArray.cpp \
    183     runtime/PropertySlot.cpp \
    184     runtime/RegExpConstructor.cpp \
    185     runtime/RegExp.cpp \
    186     runtime/RegExpObject.cpp \
    187     runtime/RegExpPrototype.cpp \
    188     runtime/RegExpCache.cpp \
    189     runtime/RopeImpl.cpp \
    190     runtime/ScopeChain.cpp \
    191     runtime/SmallStrings.cpp \
    192     runtime/StrictEvalActivation.cpp \
    193     runtime/StringConstructor.cpp \
    194     runtime/StringObject.cpp \
    195     runtime/StringPrototype.cpp \
    196     runtime/StringRecursionChecker.cpp \
    197     runtime/StructureChain.cpp \
    198     runtime/Structure.cpp \
    199     runtime/TimeoutChecker.cpp \
    200     runtime/UString.cpp \
    201     yarr/YarrJIT.cpp \
    202 
    203 *sh4* {
    204     QMAKE_CXXFLAGS += -mieee -w
    205     QMAKE_CFLAGS   += -mieee -w
    206 }
    207 
    208 # Generated files, simply list them for JavaScriptCore
    209 
    210 symbian: {
    211     symbian-abld|symbian-sbsv2 {
    212         MMP_RULES += ALWAYS_BUILD_AS_ARM
    213     }  else {
    214         QMAKE_CFLAGS -= --thumb
    215         QMAKE_CXXFLAGS -= --thumb
    216     }
    217     QMAKE_CXXFLAGS.ARMCC += -OTime -O3
    218 }
    219 
    220 # Disable C++0x mode in JSC for those who enabled it in their Qt's mkspec
    221 *-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x
    222 
    223