JavaScriptCore/JavaScriptCore.pro
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     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 CONFIG(QTDIR_build) {
       
    20     # Make sure we compile both debug and release on mac when inside Qt.
       
    21     # This line was extracted from qbase.pri instead of including the whole file
       
    22     win32|mac:!macx-xcode:CONFIG += debug_and_release
       
    23 } else {
       
    24     !CONFIG(release, debug|release) {
       
    25         OBJECTS_DIR = obj/debug
       
    26     } else { # Release
       
    27         OBJECTS_DIR = obj/release
       
    28     }
       
    29     # Make sure that build_all follows the build_all config in WebCore
       
    30     mac:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework):!build_pass:CONFIG += build_all
       
    31 }
       
    32 
       
    33 # WebCore adds these config only when in a standalone build.
       
    34 # qbase.pri takes care of that when in a QTDIR_build
       
    35 # Here we add the config for both cases since we don't include qbase.pri
       
    36 contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
       
    37 unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
       
    38 
       
    39 CONFIG(QTDIR_build) {
       
    40     # Remove the following 2 lines if you want debug information in JavaScriptCore
       
    41     CONFIG -= separate_debug_info
       
    42     CONFIG += no_debug_info
       
    43 }
       
    44 
       
    45 # Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
       
    46 win32-g++* {
       
    47     TMPPATH            = $$quote($$(INCLUDE))
       
    48     QMAKE_INCDIR_POST += $$split(TMPPATH,";")
       
    49     TMPPATH            = $$quote($$(LIB))
       
    50     QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
       
    51 }
       
    52 
       
    53 *-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2
       
    54 *-g++*:QMAKE_CXXFLAGS_RELEASE += -O3
       
    55 
       
    56 # Rules when JIT enabled (not disabled)
       
    57 !contains(DEFINES, ENABLE_JIT=0) {
       
    58     linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
       
    59         QMAKE_CXXFLAGS += -fno-stack-protector
       
    60         QMAKE_CFLAGS += -fno-stack-protector
       
    61     }
       
    62 }
       
    63 
       
    64 wince* {
       
    65     SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c
       
    66 }
       
    67 
       
    68 include(pcre/pcre.pri)
       
    69 
       
    70 SOURCES += \
       
    71     API/JSBase.cpp \
       
    72     API/JSCallbackConstructor.cpp \
       
    73     API/JSCallbackFunction.cpp \
       
    74     API/JSCallbackObject.cpp \
       
    75     API/JSClassRef.cpp \
       
    76     API/JSContextRef.cpp \
       
    77     API/JSObjectRef.cpp \
       
    78     API/JSStringRef.cpp \
       
    79     API/JSValueRef.cpp \
       
    80     API/OpaqueJSString.cpp \
       
    81     assembler/ARMAssembler.cpp \
       
    82     assembler/MacroAssemblerARM.cpp \
       
    83     bytecode/CodeBlock.cpp \
       
    84     bytecode/JumpTable.cpp \
       
    85     bytecode/Opcode.cpp \
       
    86     bytecode/SamplingTool.cpp \
       
    87     bytecode/StructureStubInfo.cpp \
       
    88     bytecompiler/BytecodeGenerator.cpp \
       
    89     bytecompiler/NodesCodegen.cpp \
       
    90     debugger/DebuggerActivation.cpp \
       
    91     debugger/DebuggerCallFrame.cpp \
       
    92     debugger/Debugger.cpp \
       
    93     interpreter/CallFrame.cpp \
       
    94     interpreter/Interpreter.cpp \
       
    95     interpreter/RegisterFile.cpp \
       
    96     jit/ExecutableAllocatorFixedVMPool.cpp \
       
    97     jit/ExecutableAllocatorPosix.cpp \
       
    98     jit/ExecutableAllocatorSymbian.cpp \
       
    99     jit/ExecutableAllocatorWin.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     profiler/Profile.cpp \
       
   118     profiler/ProfileGenerator.cpp \
       
   119     profiler/ProfileNode.cpp \
       
   120     profiler/Profiler.cpp \
       
   121     runtime/ArgList.cpp \
       
   122     runtime/Arguments.cpp \
       
   123     runtime/ArrayConstructor.cpp \
       
   124     runtime/ArrayPrototype.cpp \
       
   125     runtime/BooleanConstructor.cpp \
       
   126     runtime/BooleanObject.cpp \
       
   127     runtime/BooleanPrototype.cpp \
       
   128     runtime/CallData.cpp \
       
   129     runtime/Collector.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/GetterSetter.cpp \
       
   146     runtime/GlobalEvalFunction.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/JSImmediate.cpp \
       
   160     runtime/JSLock.cpp \
       
   161     runtime/JSNotAnObject.cpp \
       
   162     runtime/JSNumberCell.cpp \
       
   163     runtime/JSObject.cpp \
       
   164     runtime/JSObjectWithGlobalObject.cpp \
       
   165     runtime/JSONObject.cpp \
       
   166     runtime/JSPropertyNameIterator.cpp \
       
   167     runtime/JSStaticScopeObject.cpp \
       
   168     runtime/JSString.cpp \
       
   169     runtime/JSValue.cpp \
       
   170     runtime/JSVariableObject.cpp \
       
   171     runtime/JSWrapperObject.cpp \
       
   172     runtime/LiteralParser.cpp \
       
   173     runtime/Lookup.cpp \
       
   174     runtime/MarkStackPosix.cpp \
       
   175     runtime/MarkStackSymbian.cpp \
       
   176     runtime/MarkStackWin.cpp \
       
   177     runtime/MarkStack.cpp \
       
   178     runtime/MathObject.cpp \
       
   179     runtime/NativeErrorConstructor.cpp \
       
   180     runtime/NativeErrorPrototype.cpp \
       
   181     runtime/NumberConstructor.cpp \
       
   182     runtime/NumberObject.cpp \
       
   183     runtime/NumberPrototype.cpp \
       
   184     runtime/ObjectConstructor.cpp \
       
   185     runtime/ObjectPrototype.cpp \
       
   186     runtime/Operations.cpp \
       
   187     runtime/PropertyDescriptor.cpp \
       
   188     runtime/PropertyNameArray.cpp \
       
   189     runtime/PropertySlot.cpp \
       
   190     runtime/PrototypeFunction.cpp \
       
   191     runtime/RegExpConstructor.cpp \
       
   192     runtime/RegExp.cpp \
       
   193     runtime/RegExpObject.cpp \
       
   194     runtime/RegExpPrototype.cpp \
       
   195     runtime/RegExpCache.cpp \
       
   196     runtime/RopeImpl.cpp \
       
   197     runtime/ScopeChain.cpp \
       
   198     runtime/SmallStrings.cpp \
       
   199     runtime/StringConstructor.cpp \
       
   200     runtime/StringObject.cpp \
       
   201     runtime/StringPrototype.cpp \
       
   202     runtime/StructureChain.cpp \
       
   203     runtime/Structure.cpp \
       
   204     runtime/TimeoutChecker.cpp \
       
   205     runtime/UString.cpp \
       
   206     wtf/Assertions.cpp \
       
   207     wtf/ByteArray.cpp \
       
   208     wtf/CurrentTime.cpp \
       
   209     wtf/DateMath.cpp \
       
   210     wtf/dtoa.cpp \
       
   211     wtf/FastMalloc.cpp \
       
   212     wtf/HashTable.cpp \
       
   213     wtf/MD5.cpp \
       
   214     wtf/MainThread.cpp \
       
   215     wtf/qt/MainThreadQt.cpp \
       
   216     wtf/qt/StringQt.cpp \
       
   217     wtf/qt/ThreadingQt.cpp \
       
   218     wtf/RandomNumber.cpp \
       
   219     wtf/RefCountedLeakCounter.cpp \
       
   220     wtf/symbian/BlockAllocatorSymbian.cpp \
       
   221     wtf/ThreadingNone.cpp \
       
   222     wtf/Threading.cpp \
       
   223     wtf/TypeTraits.cpp \
       
   224     wtf/WTFThreadData.cpp \
       
   225     wtf/text/AtomicString.cpp \
       
   226     wtf/text/CString.cpp \
       
   227     wtf/text/StringImpl.cpp \
       
   228     wtf/text/StringStatics.cpp \
       
   229     wtf/text/WTFString.cpp \
       
   230     wtf/unicode/CollatorDefault.cpp \
       
   231     wtf/unicode/icu/CollatorICU.cpp \
       
   232     wtf/unicode/UTF8.cpp \
       
   233     yarr/RegexCompiler.cpp \
       
   234     yarr/RegexInterpreter.cpp \
       
   235     yarr/RegexJIT.cpp
       
   236 
       
   237 # Generated files, simply list them for JavaScriptCore
       
   238 
       
   239 !contains(DEFINES, USE_SYSTEM_MALLOC) {
       
   240     SOURCES += wtf/TCSystemAlloc.cpp
       
   241 }
       
   242 
       
   243 # Disable C++0x mode in JSC for those who enabled it in their Qt's mkspec
       
   244 *-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x