blob: 7753c38f16325cb8185f83e028d90f9233e8c61c [file] [log] [blame]
Alexey Samsonov9a1ffce2014-02-18 07:26:58 +00001include(CheckCXXCompilerFlag)
Alexey Samsonovd964e7c2014-03-04 13:28:21 +00002include(CheckLibraryExists)
Alexey Samsonove3e2a112014-02-27 06:52:41 +00003include(CheckSymbolExists)
Alexey Samsonov9a1ffce2014-02-18 07:26:58 +00004
5# CodeGen options.
6check_cxx_compiler_flag(-fPIC COMPILER_RT_HAS_FPIC_FLAG)
Alexey Samsonov878a9a52014-02-18 08:07:09 +00007check_cxx_compiler_flag(-fPIE COMPILER_RT_HAS_FPIE_FLAG)
Alexey Samsonov9a1ffce2014-02-18 07:26:58 +00008check_cxx_compiler_flag(-fno-builtin COMPILER_RT_HAS_FNO_BUILTIN_FLAG)
9check_cxx_compiler_flag(-fno-exceptions COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG)
10check_cxx_compiler_flag(-fomit-frame-pointer COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG)
11check_cxx_compiler_flag(-funwind-tables COMPILER_RT_HAS_FUNWIND_TABLES_FLAG)
12check_cxx_compiler_flag(-fno-stack-protector COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG)
13check_cxx_compiler_flag(-fvisibility=hidden COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG)
Alexey Samsonovb73db722014-02-18 07:52:40 +000014check_cxx_compiler_flag(-fno-rtti COMPILER_RT_HAS_FNO_RTTI_FLAG)
Alexey Samsonov878a9a52014-02-18 08:07:09 +000015check_cxx_compiler_flag(-ffreestanding COMPILER_RT_HAS_FFREESTANDING_FLAG)
Alexey Samsonov9a1ffce2014-02-18 07:26:58 +000016check_cxx_compiler_flag("-Werror -fno-function-sections" COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG)
17
Alexey Samsonovb73db722014-02-18 07:52:40 +000018check_cxx_compiler_flag(/GR COMPILER_RT_HAS_GR_FLAG)
Alexey Samsonov9a1ffce2014-02-18 07:26:58 +000019check_cxx_compiler_flag(/GS COMPILER_RT_HAS_GS_FLAG)
20check_cxx_compiler_flag(/MT COMPILER_RT_HAS_MT_FLAG)
21check_cxx_compiler_flag(/Oy COMPILER_RT_HAS_Oy_FLAG)
22
23# Debug info flags.
24check_cxx_compiler_flag(-gline-tables-only COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG)
25check_cxx_compiler_flag(-g COMPILER_RT_HAS_G_FLAG)
26check_cxx_compiler_flag(/Zi COMPILER_RT_HAS_Zi_FLAG)
27
28# Warnings.
Alexey Samsonova2fee5d2014-02-24 11:32:49 +000029check_cxx_compiler_flag(-Werror COMPILER_RT_HAS_WERROR_FLAG)
Alexey Samsonov9a1ffce2014-02-18 07:26:58 +000030check_cxx_compiler_flag("-Werror -Wframe-larger-than=512" COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG)
31check_cxx_compiler_flag("-Werror -Wglobal-constructors" COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG)
32check_cxx_compiler_flag("-Werror -Wno-c99-extensions" COMPILER_RT_HAS_WNO_C99_EXTENSIONS_FLAG)
33check_cxx_compiler_flag("-Werror -Wno-gnu" COMPILER_RT_HAS_WNO_GNU_FLAG)
34check_cxx_compiler_flag("-Werror -Wno-non-virtual-dtor" COMPILER_RT_HAS_WNO_NON_VIRTUAL_DTOR_FLAG)
35check_cxx_compiler_flag("-Werror -Wno-variadic-macros" COMPILER_RT_HAS_WNO_VARIADIC_MACROS_FLAG)
36
Alexey Samsonova2fee5d2014-02-24 11:32:49 +000037check_cxx_compiler_flag(/WX COMPILER_RT_HAS_WX_FLAG)
Alexey Samsonov9a1ffce2014-02-18 07:26:58 +000038check_cxx_compiler_flag(/wd4722 COMPILER_RT_HAS_WD4722_FLAG)
Alexey Samsonove3e2a112014-02-27 06:52:41 +000039
40# Symbols.
41check_symbol_exists(__func__ "" COMPILER_RT_HAS_FUNC_SYMBOL)
Alexey Samsonovd964e7c2014-03-04 13:28:21 +000042
43# Libraries.
44check_library_exists(dl dlopen "" COMPILER_RT_HAS_LIBDL)
45check_library_exists(pthread pthread_create "" COMPILER_RT_HAS_LIBPTHREAD)