diff options
| -rw-r--r-- | Source/JavaScriptCore/JavaScriptCore.pri | 2 | ||||
| -rw-r--r-- | Source/JavaScriptCore/LLIntOffsetsExtractor.pro | 6 | ||||
| -rw-r--r-- | Source/JavaScriptCore/Target.pri | 2 | ||||
| -rw-r--r-- | Tools/qmake/mkspecs/features/configure.prf | 1 | ||||
| -rw-r--r-- | Tools/qmake/mkspecs/features/default_post.prf | 10 | ||||
| -rw-r--r-- | Tools/qmake/mkspecs/features/functions.prf | 10 |
6 files changed, 22 insertions, 9 deletions
diff --git a/Source/JavaScriptCore/JavaScriptCore.pri b/Source/JavaScriptCore/JavaScriptCore.pri index 859f4a20d..629a4838c 100644 --- a/Source/JavaScriptCore/JavaScriptCore.pri +++ b/Source/JavaScriptCore/JavaScriptCore.pri @@ -33,7 +33,7 @@ INCLUDEPATH += \ $$JAVASCRIPTCORE_GENERATED_SOURCES_DIR # Pick up the right version of LLIntAssembly.h -macx:INCLUDEPATH+=$$JAVASCRIPTCORE_GENERATED_SOURCES_DIR/$$activeBuildConfig() +macx:INCLUDEPATH+=$$JAVASCRIPTCORE_GENERATED_SOURCES_DIR/$$targetSubDir() win32-*: LIBS += -lwinmm diff --git a/Source/JavaScriptCore/LLIntOffsetsExtractor.pro b/Source/JavaScriptCore/LLIntOffsetsExtractor.pro index 97b3529b7..d119bbf08 100644 --- a/Source/JavaScriptCore/LLIntOffsetsExtractor.pro +++ b/Source/JavaScriptCore/LLIntOffsetsExtractor.pro @@ -58,9 +58,9 @@ llint.CONFIG += no_link QMAKE_EXTRA_COMPILERS += llint macx { - DESTDIR = $$activeBuildConfig() - llint.output = $$activeBuildConfig()/$$llint.output - INCLUDEPATH += $$activeBuildConfig() + DESTDIR = $$targetSubDir() + llint.output = $$targetSubDir()/$$llint.output + INCLUDEPATH += $$targetSubDir() } # Compilation of this file will automatically depend on LLIntDesiredOffsets.h diff --git a/Source/JavaScriptCore/Target.pri b/Source/JavaScriptCore/Target.pri index e1da901c1..0f2659ec9 100644 --- a/Source/JavaScriptCore/Target.pri +++ b/Source/JavaScriptCore/Target.pri @@ -30,7 +30,7 @@ include(yarr/yarr.pri) INSTALLDEPS += all -debug_and_release: INCLUDEPATH += $$JAVASCRIPTCORE_GENERATED_SOURCES_DIR/$$activeBuildConfig() +debug_and_release: INCLUDEPATH += $$JAVASCRIPTCORE_GENERATED_SOURCES_DIR/$$targetSubDir() SOURCES += \ API/JSBase.cpp \ diff --git a/Tools/qmake/mkspecs/features/configure.prf b/Tools/qmake/mkspecs/features/configure.prf index 27adbaaff..ac4abeb93 100644 --- a/Tools/qmake/mkspecs/features/configure.prf +++ b/Tools/qmake/mkspecs/features/configure.prf @@ -216,6 +216,7 @@ defineTest(finalizeConfigure) { log(All-in-one files .............. $$configEnabled(use_all_in_one_files)$$EOL) log(GNUmake ....................... $$configEnabled(GNUmake)$$EOL) log(Static libs as shared ......... $$configEnabled(force_static_libs_as_shared)$$EOL) + log(Static libs as thin archives .. $$configEnabled(gnu_thin_archives)$$EOL) log(Production build .............. $$configEnabled(production_build)$$EOL) log($$EOL) diff --git a/Tools/qmake/mkspecs/features/default_post.prf b/Tools/qmake/mkspecs/features/default_post.prf index 603d9782c..1ada3ef11 100644 --- a/Tools/qmake/mkspecs/features/default_post.prf +++ b/Tools/qmake/mkspecs/features/default_post.prf @@ -12,6 +12,7 @@ CONFIG += config_step # Enable dynamic instead of static libraries for development !production_build:!buildbot:!win*: CONFIG += force_static_libs_as_shared +!debug_and_release:*-g++*: CONFIG += gnu_thin_archives root_project_file: finalizeConfigure() @@ -159,7 +160,14 @@ contains(TEMPLATE, lib) { # system already takes care of this for the top level QtWebKit library. !qt_install_module:debug_and_release: TARGET = $$qtLibraryTarget($$TARGET) - isEmpty(DESTDIR): DESTDIR = $$activeBuildConfig() + gnu_thin_archives { + # Replace the hardcoded archiver command line + # options to use GNU ar's thin archive format. + AR_COMMAND = $$split(QMAKE_AR, " ") + QMAKE_AR = $$member(AR_COMMAND, 0) cruT + } + + isEmpty(DESTDIR): DESTDIR = $$targetSubDir() DEFINES += QT_ASCII_CAST_WARNINGS diff --git a/Tools/qmake/mkspecs/features/functions.prf b/Tools/qmake/mkspecs/features/functions.prf index f9d2defe2..88eae8508 100644 --- a/Tools/qmake/mkspecs/features/functions.prf +++ b/Tools/qmake/mkspecs/features/functions.prf @@ -24,8 +24,12 @@ defineReplace(toEvaluatablePath) { return($$replace(1, \\\\, \\\\\\\\)) } -defineReplace(activeBuildConfig) { - CONFIG(debug, debug|release): return(debug) +defineReplace(targetSubDir) { + # The paths to the elements of the thin archive are stored + # relative to the archive itself, thus we have to prevent + # qmake from moving the archive after creation. + gnu_thin_archives: return() + else: CONFIG(debug, debug|release): return(debug) else: return(release) } @@ -264,7 +268,7 @@ defineTest(linkAgainstLibrary) { target = $$resolveFinalLibraryName($$target) - path = $$replace(source_dir, $${ROOT_WEBKIT_DIR}, $${ROOT_BUILD_DIR})/$$activeBuildConfig() + path = $$replace(source_dir, $${ROOT_WEBKIT_DIR}, $${ROOT_BUILD_DIR})/$$targetSubDir() force_static_libs_as_shared { LIBS += -L$${ROOT_BUILD_DIR}/lib -l$$target |
