summaryrefslogtreecommitdiffstats
path: root/mkspecs/common/g++.conf
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@nokia.com>2010-10-13 12:09:10 (GMT)
committerTor Arne Vestbø <tor.arne.vestbo@nokia.com>2010-10-13 18:03:01 (GMT)
commit86636e0c4ab91bfb60be1e18d6daff34d41a5927 (patch)
treeee89e8d15a27377afb45e7b6fb9ee0e4ef42bc8a /mkspecs/common/g++.conf
parent2def16770a623df4e5fc0dcd5f0e55c485251992 (diff)
downloadQt-86636e0c4ab91bfb60be1e18d6daff34d41a5927.zip
Qt-86636e0c4ab91bfb60be1e18d6daff34d41a5927.tar.gz
Qt-86636e0c4ab91bfb60be1e18d6daff34d41a5927.tar.bz2
Refactor GCC mkspecs to share more configuration options
The g++ and llvm mkspecs now share the common parts in common/gcc-base.conf Each top level mkspec includes a platform-specific version of this base, either common/gcc-base-unix.conf or common/gcc-base-mac.conf, and these platform specific bases will include the cross-platform one. The same pattern is then used for the g++ specific configurations, which are split up into common/g++.conf, common/g++-unix.conf and common/g++-mac.conf The qplatformdefs.h for mac was also shared where possible. The test in tests/manual/mkspecs was used to ensure that the final output of all the mkspecs was the same after the refactoring as before. Reviewed-by: ossi
Diffstat (limited to 'mkspecs/common/g++.conf')
-rw-r--r--mkspecs/common/g++.conf56
1 files changed, 10 insertions, 46 deletions
diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf
index 0d511fc..cb82180 100644
--- a/mkspecs/common/g++.conf
+++ b/mkspecs/common/g++.conf
@@ -1,54 +1,18 @@
#
-# qmake configuration for common gcc
+# Qmake configuration for the GNU C++ compiler
+#
+# Before making changes to this file, please read the comment in
+# gcc-base.conf, to make sure the change goes in the right place.
+#
+# To verify that your change has the desired effect on the final configuration
+# you can use the manual test in tests/manual/mkspecs.
#
-QMAKE_CC = gcc
-QMAKE_CFLAGS += -pipe
-QMAKE_CFLAGS_DEPS += -M
-QMAKE_CFLAGS_WARN_ON += -Wall -W
-QMAKE_CFLAGS_WARN_OFF += -w
-QMAKE_CFLAGS_RELEASE += -O2
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g
-QMAKE_CFLAGS_DEBUG += -g
-QMAKE_CFLAGS_SHLIB += -fPIC
-QMAKE_CFLAGS_STATIC_LIB += -fPIC
-QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
-QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
-QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
-QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
-QMAKE_CXX = g++
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
-QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
-QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
-QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
-QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
-QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
-QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
-QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
-QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
-QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
-QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
-QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
-
-QMAKE_LINK = g++
-QMAKE_LINK_SHLIB = g++
-QMAKE_LINK_C = gcc
-QMAKE_LINK_C_SHLIB = gcc
-QMAKE_LFLAGS +=
-QMAKE_LFLAGS_RELEASE += -Wl,-O1
-QMAKE_LFLAGS_DEBUG +=
-QMAKE_LFLAGS_APP +=
-QMAKE_LFLAGS_SHLIB += -shared
-QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
-QMAKE_LFLAGS_SONAME += -Wl,-soname,
-QMAKE_LFLAGS_THREAD +=
-QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
-QMAKE_LFLAGS_RPATH = -Wl,-rpath,
-QMAKE_PCH_OUTPUT_EXT = .gch
+QMAKE_LINK_C = $$QMAKE_CC
+QMAKE_LINK_C_SHLIB = $$QMAKE_CC
-# -Bsymbolic-functions (ld) support
-QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
-QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+QMAKE_PCH_OUTPUT_EXT = .gch