diff options
author | Tor Arne Vestbø <tor.arne.vestbo@nokia.com> | 2010-10-13 12:09:10 (GMT) |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@nokia.com> | 2010-10-13 18:03:01 (GMT) |
commit | 86636e0c4ab91bfb60be1e18d6daff34d41a5927 (patch) | |
tree | ee89e8d15a27377afb45e7b6fb9ee0e4ef42bc8a /mkspecs/common/g++.conf | |
parent | 2def16770a623df4e5fc0dcd5f0e55c485251992 (diff) | |
download | Qt-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++.conf | 56 |
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 |