Alexey Samsonov | 9a1ffce | 2014-02-18 07:26:58 +0000 | [diff] [blame] | 1 | include(CheckCXXCompilerFlag) |
Alexey Samsonov | d964e7c | 2014-03-04 13:28:21 +0000 | [diff] [blame] | 2 | include(CheckLibraryExists) |
Alexey Samsonov | e3e2a11 | 2014-02-27 06:52:41 +0000 | [diff] [blame] | 3 | include(CheckSymbolExists) |
Alexey Samsonov | 9a1ffce | 2014-02-18 07:26:58 +0000 | [diff] [blame] | 4 | |
| 5 | # CodeGen options. |
| 6 | check_cxx_compiler_flag(-fPIC COMPILER_RT_HAS_FPIC_FLAG) |
Alexey Samsonov | 878a9a5 | 2014-02-18 08:07:09 +0000 | [diff] [blame] | 7 | check_cxx_compiler_flag(-fPIE COMPILER_RT_HAS_FPIE_FLAG) |
Alexey Samsonov | 9a1ffce | 2014-02-18 07:26:58 +0000 | [diff] [blame] | 8 | check_cxx_compiler_flag(-fno-builtin COMPILER_RT_HAS_FNO_BUILTIN_FLAG) |
| 9 | check_cxx_compiler_flag(-fno-exceptions COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG) |
| 10 | check_cxx_compiler_flag(-fomit-frame-pointer COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG) |
| 11 | check_cxx_compiler_flag(-funwind-tables COMPILER_RT_HAS_FUNWIND_TABLES_FLAG) |
| 12 | check_cxx_compiler_flag(-fno-stack-protector COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG) |
| 13 | check_cxx_compiler_flag(-fvisibility=hidden COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG) |
Alexey Samsonov | b73db72 | 2014-02-18 07:52:40 +0000 | [diff] [blame] | 14 | check_cxx_compiler_flag(-fno-rtti COMPILER_RT_HAS_FNO_RTTI_FLAG) |
Alexey Samsonov | 878a9a5 | 2014-02-18 08:07:09 +0000 | [diff] [blame] | 15 | check_cxx_compiler_flag(-ffreestanding COMPILER_RT_HAS_FFREESTANDING_FLAG) |
Alexey Samsonov | 9a1ffce | 2014-02-18 07:26:58 +0000 | [diff] [blame] | 16 | check_cxx_compiler_flag("-Werror -fno-function-sections" COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG) |
| 17 | |
Alexey Samsonov | b73db72 | 2014-02-18 07:52:40 +0000 | [diff] [blame] | 18 | check_cxx_compiler_flag(/GR COMPILER_RT_HAS_GR_FLAG) |
Alexey Samsonov | 9a1ffce | 2014-02-18 07:26:58 +0000 | [diff] [blame] | 19 | check_cxx_compiler_flag(/GS COMPILER_RT_HAS_GS_FLAG) |
| 20 | check_cxx_compiler_flag(/MT COMPILER_RT_HAS_MT_FLAG) |
| 21 | check_cxx_compiler_flag(/Oy COMPILER_RT_HAS_Oy_FLAG) |
| 22 | |
| 23 | # Debug info flags. |
| 24 | check_cxx_compiler_flag(-gline-tables-only COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG) |
| 25 | check_cxx_compiler_flag(-g COMPILER_RT_HAS_G_FLAG) |
| 26 | check_cxx_compiler_flag(/Zi COMPILER_RT_HAS_Zi_FLAG) |
| 27 | |
| 28 | # Warnings. |
Alexey Samsonov | a2fee5d | 2014-02-24 11:32:49 +0000 | [diff] [blame] | 29 | check_cxx_compiler_flag(-Werror COMPILER_RT_HAS_WERROR_FLAG) |
Alexey Samsonov | 9a1ffce | 2014-02-18 07:26:58 +0000 | [diff] [blame] | 30 | check_cxx_compiler_flag("-Werror -Wframe-larger-than=512" COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG) |
| 31 | check_cxx_compiler_flag("-Werror -Wglobal-constructors" COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG) |
| 32 | check_cxx_compiler_flag("-Werror -Wno-c99-extensions" COMPILER_RT_HAS_WNO_C99_EXTENSIONS_FLAG) |
| 33 | check_cxx_compiler_flag("-Werror -Wno-gnu" COMPILER_RT_HAS_WNO_GNU_FLAG) |
| 34 | check_cxx_compiler_flag("-Werror -Wno-non-virtual-dtor" COMPILER_RT_HAS_WNO_NON_VIRTUAL_DTOR_FLAG) |
| 35 | check_cxx_compiler_flag("-Werror -Wno-variadic-macros" COMPILER_RT_HAS_WNO_VARIADIC_MACROS_FLAG) |
| 36 | |
Alexey Samsonov | a2fee5d | 2014-02-24 11:32:49 +0000 | [diff] [blame] | 37 | check_cxx_compiler_flag(/WX COMPILER_RT_HAS_WX_FLAG) |
Alexey Samsonov | 9a1ffce | 2014-02-18 07:26:58 +0000 | [diff] [blame] | 38 | check_cxx_compiler_flag(/wd4722 COMPILER_RT_HAS_WD4722_FLAG) |
Alexey Samsonov | e3e2a11 | 2014-02-27 06:52:41 +0000 | [diff] [blame] | 39 | |
| 40 | # Symbols. |
| 41 | check_symbol_exists(__func__ "" COMPILER_RT_HAS_FUNC_SYMBOL) |
Alexey Samsonov | d964e7c | 2014-03-04 13:28:21 +0000 | [diff] [blame] | 42 | |
| 43 | # Libraries. |
| 44 | check_library_exists(dl dlopen "" COMPILER_RT_HAS_LIBDL) |
| 45 | check_library_exists(pthread pthread_create "" COMPILER_RT_HAS_LIBPTHREAD) |