gcc-base.conf 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #
  2. # This file is used as a basis for the following compilers:
  3. #
  4. # - The GNU C++ compiler (g++)
  5. # - LLVM
  6. # - Clang
  7. #
  8. # Platform-specific options shared by these compilers are put into:
  9. #
  10. # - gcc-base-mac.conf
  11. # - gcc-base-unix.conf
  12. #
  13. # These base files are then combined with configurations for each compiler:
  14. #
  15. # - g++-base.conf
  16. # - g++-macx.conf
  17. # - g++-unix.conf
  18. # - llvm.conf
  19. # - clang.conf
  20. #
  21. # The combination happens in the top level mkspec, by including a platform-
  22. # specific version of the base-file, for example gcc-base-mac.conf, and then
  23. # a (possibly platform-specific) version of the actual compiler configuration,
  24. # for example g++-macx.conf.
  25. #
  26. # If you are making changes to any of these files, please consider the
  27. # possible effect it may have due to these include-rules, and whether it
  28. # might make more sense to share the rule or make it more specific.
  29. #
  30. # To verify that your change has the desired effect on the final configuration
  31. # you can use the manual test in tests/manual/mkspecs.
  32. #
  33. QMAKE_CFLAGS_OPTIMIZE = -O2
  34. QMAKE_CFLAGS_OPTIMIZE_FULL = -O3
  35. QMAKE_CFLAGS += -pipe
  36. QMAKE_CFLAGS_DEPS += -M
  37. QMAKE_CFLAGS_WARN_ON += -Wall -W
  38. QMAKE_CFLAGS_WARN_OFF += -w
  39. QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE
  40. QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g
  41. QMAKE_CFLAGS_DEBUG += -g
  42. QMAKE_CFLAGS_SHLIB += -fPIC
  43. QMAKE_CFLAGS_STATIC_LIB += -fPIC
  44. QMAKE_CFLAGS_APP += -fPIC
  45. QMAKE_CFLAGS_ISYSTEM = -isystem
  46. QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
  47. QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
  48. QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions
  49. QMAKE_CFLAGS_SPLIT_SECTIONS += -ffunction-sections
  50. QMAKE_CFLAGS_LTCG = -flto -fno-fat-lto-objects
  51. QMAKE_CFLAGS_LTCG_FATOBJECTS = -ffat-lto-objects
  52. QMAKE_CFLAGS_DISABLE_LTCG = -fno-lto
  53. QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
  54. QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
  55. QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
  56. QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
  57. QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
  58. QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
  59. QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
  60. QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
  61. QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
  62. QMAKE_CXXFLAGS_APP += $$QMAKE_CFLAGS_APP
  63. QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
  64. QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
  65. QMAKE_CXXFLAGS_EXCEPTIONS_OFF += $$QMAKE_CFLAGS_EXCEPTIONS_OFF
  66. QMAKE_CXXFLAGS_SPLIT_SECTIONS += $$QMAKE_CFLAGS_SPLIT_SECTIONS
  67. QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
  68. QMAKE_CXXFLAGS_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS
  69. QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG
  70. QMAKE_LFLAGS +=
  71. QMAKE_LFLAGS_DEBUG +=
  72. QMAKE_LFLAGS_APP +=
  73. QMAKE_LFLAGS_RELEASE +=
  74. QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO +=
  75. QMAKE_LFLAGS_EXCEPTIONS_OFF +=
  76. QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG -fuse-linker-plugin
  77. QMAKE_CFLAGS_SSE2 += -msse2
  78. QMAKE_CFLAGS_SSE3 += -msse3
  79. QMAKE_CFLAGS_SSSE3 += -mssse3
  80. QMAKE_CFLAGS_SSE4_1 += -msse4.1
  81. QMAKE_CFLAGS_SSE4_2 += -msse4.2
  82. QMAKE_CFLAGS_AVX += -mavx
  83. QMAKE_CFLAGS_AVX2 += -mavx2
  84. QMAKE_CFLAGS_AVX512F += -mavx512f
  85. QMAKE_CFLAGS_AVX512ER += -mavx512er
  86. QMAKE_CFLAGS_AVX512CD += -mavx512cd
  87. QMAKE_CFLAGS_AVX512PF += -mavx512pf
  88. QMAKE_CFLAGS_AVX512DQ += -mavx512dq
  89. QMAKE_CFLAGS_AVX512BW += -mavx512bw
  90. QMAKE_CFLAGS_AVX512VL += -mavx512vl
  91. QMAKE_CFLAGS_AVX512IFMA += -mavx512ifma
  92. QMAKE_CFLAGS_AVX512VBMI += -mavx512vbmi
  93. QMAKE_CFLAGS_NEON += -mfpu=neon
  94. # Wrapper tools that understand .o/.a files with GIMPLE instead of machine code
  95. QMAKE_AR_LTCG = gcc-ar cqs
  96. QMAKE_NM_LTCG = gcc-nm -P
  97. QMAKE_RANLIB_LTCG = true # No need to run since gcc-ar has "s"
  98. include(sanitize.conf)