|  | # | 
|  | # 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-mac.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-mac.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_OPTIMIZE      = -O2 | 
|  | QMAKE_CFLAGS_OPTIMIZE_FULL = -O3 | 
|  | QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og | 
|  | QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os | 
|  |  | 
|  | !equals(QMAKE_HOST.os, Windows): QMAKE_CFLAGS += -pipe | 
|  | QMAKE_CFLAGS_DEPS          += -M | 
|  | QMAKE_CFLAGS_WARN_ON       += -Wall -Wextra | 
|  | QMAKE_CFLAGS_WARN_OFF      += -w | 
|  | QMAKE_CFLAGS_RELEASE       += $$QMAKE_CFLAGS_OPTIMIZE | 
|  | QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g | 
|  | QMAKE_CFLAGS_DEBUG         += -g | 
|  | QMAKE_CFLAGS_SHLIB         += $$QMAKE_CFLAGS_PIC | 
|  | QMAKE_CFLAGS_STATIC_LIB    += $$QMAKE_CFLAGS_PIC | 
|  | QMAKE_CFLAGS_APP           += $$QMAKE_CFLAGS_PIC | 
|  | QMAKE_CFLAGS_ISYSTEM        = -isystem | 
|  | QMAKE_CFLAGS_YACC          += -Wno-unused -Wno-parentheses | 
|  | QMAKE_CFLAGS_HIDESYMS      += -fvisibility=hidden | 
|  | QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions | 
|  | QMAKE_CFLAGS_SPLIT_SECTIONS += -ffunction-sections -fdata-sections | 
|  | QMAKE_CFLAGS_LTCG           = -flto -fno-fat-lto-objects | 
|  | QMAKE_CFLAGS_LTCG_FATOBJECTS = -ffat-lto-objects | 
|  | QMAKE_CFLAGS_DISABLE_LTCG   = -fno-lto | 
|  |  | 
|  | 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_APP        += $$QMAKE_CFLAGS_APP | 
|  | QMAKE_CXXFLAGS_YACC       += $$QMAKE_CFLAGS_YACC | 
|  | QMAKE_CXXFLAGS_HIDESYMS   += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden | 
|  | QMAKE_CXXFLAGS_EXCEPTIONS_OFF += $$QMAKE_CFLAGS_EXCEPTIONS_OFF | 
|  | QMAKE_CXXFLAGS_RTTI_ON     = -frtti | 
|  | QMAKE_CXXFLAGS_RTTI_OFF    = -fno-rtti | 
|  | QMAKE_CXXFLAGS_SPLIT_SECTIONS += $$QMAKE_CFLAGS_SPLIT_SECTIONS | 
|  | QMAKE_CXXFLAGS_LTCG        = $$QMAKE_CFLAGS_LTCG | 
|  | QMAKE_CXXFLAGS_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS | 
|  | QMAKE_CXXFLAGS_DISABLE_LTCG   = $$QMAKE_CFLAGS_DISABLE_LTCG | 
|  |  | 
|  | QMAKE_LFLAGS           += | 
|  | QMAKE_LFLAGS_DEBUG     += | 
|  | QMAKE_LFLAGS_APP       += | 
|  | QMAKE_LFLAGS_RELEASE   += | 
|  | QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += | 
|  | QMAKE_LFLAGS_EXCEPTIONS_OFF += | 
|  | QMAKE_LFLAGS_LTCG       = $$QMAKE_CFLAGS_LTCG -fuse-linker-plugin | 
|  |  | 
|  | QMAKE_CFLAGS_C99       = -std=c99 | 
|  | QMAKE_CFLAGS_C11       = -std=c11 | 
|  |  | 
|  | QMAKE_CFLAGS_SSE2      += -msse2 | 
|  | QMAKE_CFLAGS_SSE3      += -msse3 | 
|  | QMAKE_CFLAGS_SSSE3     += -mssse3 | 
|  | QMAKE_CFLAGS_SSE4_1    += -msse4.1 | 
|  | QMAKE_CFLAGS_SSE4_2    += -msse4.2 | 
|  | QMAKE_CFLAGS_F16C      += -mf16c | 
|  | QMAKE_CFLAGS_RDRND     += -mrdrnd | 
|  | QMAKE_CFLAGS_AVX       += -mavx | 
|  | QMAKE_CFLAGS_AVX2      += -mavx2 | 
|  | QMAKE_CFLAGS_AVX512F   += -mavx512f | 
|  | QMAKE_CFLAGS_AVX512ER  += -mavx512er | 
|  | QMAKE_CFLAGS_AVX512CD  += -mavx512cd | 
|  | QMAKE_CFLAGS_AVX512PF  += -mavx512pf | 
|  | QMAKE_CFLAGS_AVX512DQ  += -mavx512dq | 
|  | QMAKE_CFLAGS_AVX512BW  += -mavx512bw | 
|  | QMAKE_CFLAGS_AVX512VL  += -mavx512vl | 
|  | QMAKE_CFLAGS_AVX512IFMA += -mavx512ifma | 
|  | QMAKE_CFLAGS_AVX512VBMI += -mavx512vbmi | 
|  | QMAKE_CFLAGS_AESNI     += -maes | 
|  | QMAKE_CFLAGS_SHANI     += -msha | 
|  | QMAKE_CFLAGS_NEON      += -mfpu=neon | 
|  | QMAKE_CFLAGS_MIPS_DSP  += -mdsp | 
|  | QMAKE_CFLAGS_MIPS_DSPR2 += -mdspr2 | 
|  |  | 
|  | # -march=haswell is supported as of GCC 4.9 and Clang 3.6 | 
|  | QMAKE_CFLAGS_ARCH_HASWELL           = -march=core-avx2 | 
|  |  | 
|  | # Wrapper tools that understand .o/.a files with GIMPLE instead of machine code | 
|  | QMAKE_AR_LTCG           = gcc-ar cqs | 
|  | QMAKE_NM_LTCG           = gcc-nm -P | 
|  | QMAKE_RANLIB_LTCG       = true          # No need to run since gcc-ar has "s" | 
|  |  | 
|  | include(sanitize.conf) |