[Mac] Support asynchronous NSTextInputClient
[WebKit-https.git] / Source / autotools / SetupCompilerFlags.m4
1 # Use C99 as the language standard for C code.
2 CFLAGS="$CFLAGS -pthread -std=c99"
3 # Use the C++11 standard. Do not warn about C++11 incompatibilities.
4 CXXFLAGS="$CXXFLAGS -pthread -std=c++11 -Wno-c++11-compat"
5
6 # Clang requires suppression of unused arguments warnings.
7 if test "$c_compiler" = "clang"; then
8     CFLAGS="$CFLAGS -Qunused-arguments"
9 fi
10
11 # Suppress unused arguments warnings for C++ files as well.
12 if test "$cxx_compiler" = "clang++"; then
13     CXXFLAGS="$CXXFLAGS -Qunused-arguments"
14
15     # Default to libc++ as the standard library on Darwin, if it isn't already enforced through CXXFLAGS.
16     if test "$os_darwin" = "yes"; then
17         AS_CASE([$CXXFLAGS], [*-stdlib=*], [], [CXXFLAGS="$CXXFLAGS -stdlib=libc++"])
18     fi
19
20     # If Clang will be using libstdc++ as the standard library, version >= 4.8.1 should be in use.
21     AC_LANG_PUSH([C++])
22     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
23 #if defined(__GLIBCXX__) && __GLIBCXX__ >= 20130531
24 #include <type_traits>
25 bool libstdcxxTest = std::is_trivially_destructible<bool>::value;
26 #endif
27 ])], [], [AC_MSG_ERROR([libstdc++ >= 4.8.1 is required as the standard library used with the Clang compiler.])])
28     AC_LANG_POP([C++])
29 fi
30
31 if test "$host_cpu" = "sh4"; then
32     CXXFLAGS="$CXXFLAGS -mieee -w"
33     CFLAGS="$CFLAGS -mieee -w"
34 fi
35
36 # Add '-g' flag to gcc to build with debug symbols.
37 if test "$enable_debug_symbols" = "min"; then
38     CXXFLAGS="$CXXFLAGS -g1"
39     CFLAGS="$CFLAGS -g1"
40 elif test "$enable_debug_symbols" != "no"; then
41     CXXFLAGS="$CXXFLAGS -g"
42     CFLAGS="$CFLAGS -g"
43 fi
44
45 # Add the appropriate 'O' level for optimized builds.
46 if test "$enable_optimizations" = "yes"; then
47     CXXFLAGS="$CXXFLAGS -O2"
48     CFLAGS="$CFLAGS -O2"
49
50     if test "$c_compiler" = "gcc"; then
51         CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
52     fi
53     if test "$cxx_compiler" = "g++"; then
54         CXXFLAGS="$CXXFLAGS -D_FORTIFY_SOURCE=2"
55     fi
56 else
57     CXXFLAGS="$CXXFLAGS -O0"
58     CFLAGS="$CFLAGS -O0"
59 fi