summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.pri2
-rw-r--r--Source/JavaScriptCore/LLIntOffsetsExtractor.pro6
-rw-r--r--Source/JavaScriptCore/Target.pri2
-rw-r--r--Tools/qmake/mkspecs/features/configure.prf1
-rw-r--r--Tools/qmake/mkspecs/features/default_post.prf10
-rw-r--r--Tools/qmake/mkspecs/features/functions.prf10
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