diff options
author | Tor Arne Vestbø <tor.arne.vestbo@nokia.com> | 2010-10-27 11:44:11 (GMT) |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@nokia.com> | 2010-10-27 13:11:08 (GMT) |
commit | 48d19919cc82f637ee96873f81c957cdf9b84127 (patch) | |
tree | 7002cbcba4efe80acf9b4f0b6bb5cffa8f8f97e9 /mkspecs/common | |
parent | 2925995de32f76a72fcdd7d577e609a68a517fa1 (diff) | |
download | Qt-48d19919cc82f637ee96873f81c957cdf9b84127.zip Qt-48d19919cc82f637ee96873f81c957cdf9b84127.tar.gz Qt-48d19919cc82f637ee96873f81c957cdf9b84127.tar.bz2 |
mkspecs: Emit warning when including g++.conf directly
86636e0c4ab91bfb6 refactored the mkspecs, but didn't account for people
with their own mkspec who would still include g++.conf directly. We now
print a warning if this situation is detected, and explain to the user
how they can fix their mkspec.
For convenience we redirect g++.conf to g++-unix.conf so that people's
mkspecs will still work.
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Diffstat (limited to 'mkspecs/common')
-rw-r--r-- | mkspecs/common/g++-base.conf | 23 | ||||
-rw-r--r-- | mkspecs/common/g++-macx.conf (renamed from mkspecs/common/g++-mac.conf) | 2 | ||||
-rw-r--r-- | mkspecs/common/g++-unix.conf | 2 | ||||
-rw-r--r-- | mkspecs/common/g++.conf | 24 | ||||
-rw-r--r-- | mkspecs/common/gcc-base-macx.conf (renamed from mkspecs/common/gcc-base-mac.conf) | 0 | ||||
-rw-r--r-- | mkspecs/common/gcc-base.conf | 10 |
6 files changed, 36 insertions, 25 deletions
diff --git a/mkspecs/common/g++-base.conf b/mkspecs/common/g++-base.conf new file mode 100644 index 0000000..d73b38f --- /dev/null +++ b/mkspecs/common/g++-base.conf @@ -0,0 +1,23 @@ +# +# 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_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g + +QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO + +QMAKE_LINK_C = $$QMAKE_CC +QMAKE_LINK_C_SHLIB = $$QMAKE_CC + +QMAKE_PCH_OUTPUT_EXT = .gch + +QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE} +QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/mkspecs/common/g++-mac.conf b/mkspecs/common/g++-macx.conf index bcfd9aa..2251157 100644 --- a/mkspecs/common/g++-mac.conf +++ b/mkspecs/common/g++-macx.conf @@ -8,7 +8,7 @@ # you can use the manual test in tests/manual/mkspecs. # -include(g++.conf) +include(g++-base.conf) QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_DWARF2 QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_DWARF2 diff --git a/mkspecs/common/g++-unix.conf b/mkspecs/common/g++-unix.conf index 09b3e90..96e301e 100644 --- a/mkspecs/common/g++-unix.conf +++ b/mkspecs/common/g++-unix.conf @@ -8,7 +8,7 @@ # you can use the manual test in tests/manual/mkspecs. # -include(g++.conf) +include(g++-base.conf) QMAKE_LFLAGS_RELEASE += -Wl,-O1 QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf index d73b38f..0ca4fbd 100644 --- a/mkspecs/common/g++.conf +++ b/mkspecs/common/g++.conf @@ -1,23 +1,11 @@ # -# Qmake configuration for the GNU C++ compiler +# Notice: g++.conf has been split into g++-base.conf and g++-unix.conf # -# Before making changes to this file, please read the comment in -# gcc-base.conf, to make sure the change goes in the right place. +# This file will make sure that anyone who's still including g++.conf +# directly will get a warning and an explanation of how to fix their mkspec # -# To verify that your change has the desired effect on the final configuration -# you can use the manual test in tests/manual/mkspecs. -# - -QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g - -QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO - -QMAKE_LINK_C = $$QMAKE_CC -QMAKE_LINK_C_SHLIB = $$QMAKE_CC -QMAKE_PCH_OUTPUT_EXT = .gch +warning($$escape_expand("Your mkspec is including 'common/g++.conf', but the mkspecs have been refactored\\n\\tTo fix this include 'common/gcc-base-$${TARGET_PLATFORM}.conf and 'common/g++-$${TARGET_PLATFORM}.conf' instead")) -QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} -QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE} -QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} -QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE +# We include g++-unix.conf to keep the behavior of the old g++.conf +include(g++-unix.conf)
\ No newline at end of file diff --git a/mkspecs/common/gcc-base-mac.conf b/mkspecs/common/gcc-base-macx.conf index 5c9a8a1..5c9a8a1 100644 --- a/mkspecs/common/gcc-base-mac.conf +++ b/mkspecs/common/gcc-base-macx.conf diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 41280c6..2d8a02f 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -7,21 +7,21 @@ # # Platform-specific options shared by these compilers are put into: # -# - gcc-base-mac.conf +# - gcc-base-macx.conf # - gcc-base-unix.conf # # These base files are then combined with configurations for each compiler: # -# - g++.conf -# - g++-mac.conf +# - g++-base.conf +# - g++-macx.conf # - g++-unix.conf # - llvm.conf # - clang.conf # # The combination happens in the top level mkspec, by including a platform- -# specific version of the base-file, for example gcc-base-mac.conf, and then +# specific version of the base-file, for example gcc-base-macx.conf, and then # a (possibly platform-specific) version of the actual compiler configuration, -# for example g++-mac.conf. +# for example g++-macx.conf. # # If you are making changes to any of these files, please consider the # possible effect it may have due to these include-rules, and whether it |