482d96a0c5
Put in qconfig.h whether qt is compiled with reduced relocations. When using -Bsymbolic-functions (enabled by default on Qt) but not -fPIE, the comparison of the function pointers fail because the addresses are different in Qt, and in the executable. Hence we now enable -fPIE by default on qmake, and force a compilation error when it is not enabled and built with reduced relocations. Done-with: Sune Vuorela <sune@vuorela.dk> Change-Id: Ib3fdba06fab6e8a93b75b4c6cf16cc973ab335db Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
63 lines
2.1 KiB
Plaintext
63 lines
2.1 KiB
Plaintext
#
|
|
# This file is used as a basis for the following compilers:
|
|
#
|
|
# - The GNU C++ compiler (g++)
|
|
# - LLVM
|
|
# - Clang
|
|
#
|
|
# Platform-specific options shared by these compilers are put into:
|
|
#
|
|
# - gcc-base-macx.conf
|
|
# - gcc-base-unix.conf
|
|
#
|
|
# These base files are then combined with configurations for each compiler:
|
|
#
|
|
# - 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-macx.conf, and then
|
|
# a (possibly platform-specific) version of the actual compiler configuration,
|
|
# 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
|
|
# might make more sense to share the rule or make it more specific.
|
|
#
|
|
# 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 += -pipe
|
|
QMAKE_CFLAGS_DEPS += -M
|
|
QMAKE_CFLAGS_WARN_ON += -Wall -W
|
|
QMAKE_CFLAGS_WARN_OFF += -w
|
|
QMAKE_CFLAGS_RELEASE += -O2
|
|
QMAKE_CFLAGS_DEBUG += -g
|
|
QMAKE_CFLAGS_SHLIB += -fPIC
|
|
QMAKE_CFLAGS_STATIC_LIB += -fPIC
|
|
QMAKE_CFLAGS_APP += -fPIE
|
|
QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
|
|
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
|
|
|
|
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_DEBUG += $$QMAKE_CFLAGS_DEBUG
|
|
QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
|
|
QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
|
|
QMAKE_CXXFLAGS_APP += $$QMAKE_CFLAGS_APP
|
|
QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
|
|
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
|
|
|
|
QMAKE_LFLAGS +=
|
|
QMAKE_LFLAGS_DEBUG +=
|
|
QMAKE_LFLAGS_APP +=
|
|
QMAKE_LFLAGS_RELEASE +=
|
|
|