# JavaScriptCore - Qt4 build info | |
VPATH += $$PWD | |
# Use a config-specific target to prevent parallel builds file clashes on Mac | |
mac: CONFIG(debug, debug|release): JAVASCRIPTCORE_TARGET = jscored | |
else: JAVASCRIPTCORE_TARGET = jscore | |
# Output in JavaScriptCore/<config> | |
CONFIG(debug, debug|release) : JAVASCRIPTCORE_DESTDIR = debug | |
else: JAVASCRIPTCORE_DESTDIR = release | |
CONFIG(standalone_package) { | |
isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = $$PWD/generated | |
} else { | |
isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = generated | |
} | |
CONFIG(standalone_package): DEFINES *= NDEBUG | |
symbian: { | |
# Need to guarantee this comes before system includes of /epoc32/include | |
MMP_RULES += "USERINCLUDE ../JavaScriptCore/profiler" | |
LIBS += -lhal | |
# For hal.h | |
INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE | |
} | |
INCLUDEPATH = \ | |
$$PWD \ | |
$$PWD/.. \ | |
$$PWD/assembler \ | |
$$PWD/bytecode \ | |
$$PWD/bytecompiler \ | |
$$PWD/debugger \ | |
$$PWD/interpreter \ | |
$$PWD/jit \ | |
$$PWD/parser \ | |
$$PWD/pcre \ | |
$$PWD/profiler \ | |
$$PWD/runtime \ | |
$$PWD/wtf \ | |
$$PWD/wtf/symbian \ | |
$$PWD/wtf/unicode \ | |
$$PWD/yarr \ | |
$$PWD/API \ | |
$$PWD/ForwardingHeaders \ | |
$$JSC_GENERATED_SOURCES_DIR \ | |
$$INCLUDEPATH | |
win32-*: DEFINES += _HAS_TR1=0 | |
DEFINES += BUILDING_QT__ BUILDING_JavaScriptCore BUILDING_WTF | |
contains(JAVASCRIPTCORE_JIT,yes) { | |
DEFINES+=ENABLE_JIT=1 | |
DEFINES+=ENABLE_YARR_JIT=1 | |
DEFINES+=ENABLE_YARR=1 | |
} | |
contains(JAVASCRIPTCORE_JIT,no) { | |
DEFINES+=ENABLE_JIT=0 | |
DEFINES+=ENABLE_YARR_JIT=0 | |
DEFINES+=ENABLE_YARR=0 | |
} | |
wince* { | |
INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat | |
DEFINES += WINCEBASIC | |
INCLUDEPATH += $$PWD/../JavaScriptCore/os-wince | |
INCLUDEPATH += $$PWD/../JavaScriptCore/os-win32 | |
} | |
defineTest(addJavaScriptCoreLib) { | |
# Argument is the relative path to JavaScriptCore.pro's qmake output | |
pathToJavaScriptCoreOutput = $$ARGS/$$JAVASCRIPTCORE_DESTDIR | |
win32-msvc*|wince* { | |
LIBS += -L$$pathToJavaScriptCoreOutput | |
LIBS += -l$$JAVASCRIPTCORE_TARGET | |
POST_TARGETDEPS += $${pathToJavaScriptCoreOutput}$${QMAKE_DIR_SEP}$${JAVASCRIPTCORE_TARGET}.lib | |
} else:symbian { | |
LIBS += -l$${JAVASCRIPTCORE_TARGET}.lib | |
# The default symbian build system does not use library paths at all. However when building with | |
# qmake's symbian makespec that uses Makefiles | |
QMAKE_LIBDIR += $$pathToJavaScriptCoreOutput | |
POST_TARGETDEPS += $${pathToJavaScriptCoreOutput}$${QMAKE_DIR_SEP}$${JAVASCRIPTCORE_TARGET}.lib | |
} else { | |
# Make sure jscore will be early in the list of libraries to workaround a bug in MinGW | |
# that can't resolve symbols from QtCore if libjscore comes after. | |
QMAKE_LIBDIR = $$pathToJavaScriptCoreOutput $$QMAKE_LIBDIR | |
LIBS += -l$$JAVASCRIPTCORE_TARGET | |
POST_TARGETDEPS += $${pathToJavaScriptCoreOutput}$${QMAKE_DIR_SEP}lib$${JAVASCRIPTCORE_TARGET}.a | |
} | |
win32-* { | |
LIBS += -lwinmm | |
} | |
# The following line is to prevent qmake from adding jscore to libQtWebKit's prl dependencies. | |
# The compromise we have to accept by disabling explicitlib is to drop support to link QtWebKit and QtScript | |
# statically in applications (which isn't used often because, among other things, of licensing obstacles). | |
CONFIG -= explicitlib | |
export(QMAKE_LIBDIR) | |
export(LIBS) | |
export(POST_TARGETDEPS) | |
export(CONFIG) | |
return(true) | |
} |