diff options
-rw-r--r-- | gyp/common_conditions.gypi | 55 | ||||
-rw-r--r-- | gyp/icu.gyp | 2 |
2 files changed, 40 insertions, 17 deletions
diff --git a/gyp/common_conditions.gypi b/gyp/common_conditions.gypi index 8221c94680..c7b19de8da 100644 --- a/gyp/common_conditions.gypi +++ b/gyp/common_conditions.gypi @@ -471,6 +471,28 @@ [ 'skia_os == "mac"', { + 'variables': { + # Setup some flags that are used below in both the XCode/ninja build as well as the + # cmake build. + 'common_c_and_cpp_flags': [ + '-mssse3', + '-fvisibility=hidden', + '-fvisibility-inlines-hidden', + '-Wall', + '-Wextra', + '-Winit-self', + '-Wpointer-arith', + '-Wsign-compare', + '-Wno-unused-parameter', + ], + 'common_cpp_flags': [ + '-fno-threadsafe-statics', + '-fno-exceptions', + '-fno-rtti', + '-std=c++11', + '-stdlib=libc++' + ], + }, 'defines': [ 'SK_BUILD_FOR_MAC' ], 'conditions': [ # ANGLE for mac hits -Wunneeded-internal-declaration if this isn't set. @@ -504,13 +526,15 @@ 'MACOSX_DEPLOYMENT_TARGET': '<(skia_osx_deployment_target)', }], [ 'skia_sanitizer', { - 'GCC_ENABLE_CPP_RTTI': 'YES', # vptr needs rtti 'OTHER_CFLAGS': [ '-fsanitize=<(skia_sanitizer)', # Turn on sanitizers. '-fno-sanitize-recover=<(skia_sanitizer)', # Make any failure fatal. '-fsanitize-blacklist=<(skia_sanitizer_blacklist)', # Compile in our blacklist. '-include <(skia_sanitizer_blacklist)', # Make every .cpp depend on it. ], + 'OTHER_CPLUSPLUSFLAGS': [ + '-frtti', # vptr needs rtti + ], # We want to pass -fsanitize=... to our final link call, # but not to libtool. OTHER_LDFLAGS is passed to both. # To trick GYP into doing what we want, we'll piggyback on @@ -520,25 +544,24 @@ }], ], 'CLANG_CXX_LIBRARY': 'libc++', - 'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', - 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions - 'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti - 'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics - 'GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS': 'YES', # -mssse3 - 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', # -fvisibility=hidden - 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'NO', # -fvisibility-inlines-hidden 'GCC_CW_ASM_SYNTAX': 'NO', # remove -fasm-blocks 'GCC_ENABLE_PASCAL_STRINGS': 'NO', # remove -mpascal-strings - 'WARNING_CFLAGS': [ - '-Wall', - '-Wextra', - '-Winit-self', - '-Wpointer-arith', - '-Wsign-compare', - - '-Wno-unused-parameter', + # Used by XCode and ninja + 'OTHER_CPLUSPLUSFLAGS': [ + '<@(common_cpp_flags)', + '<@(common_c_and_cpp_flags)', + ], + 'OTHER_CFLAGS': [ + '<@(common_c_and_cpp_flags)', ], }, + # Used by cmake + 'cflags': [ + '<@(common_c_and_cpp_flags)', + ], + 'cflags_cc': [ + '<@(common_cpp_flags)', + ], }, ], diff --git a/gyp/icu.gyp b/gyp/icu.gyp index 5142b77ed6..27bd60fa16 100644 --- a/gyp/icu.gyp +++ b/gyp/icu.gyp @@ -120,7 +120,7 @@ 'skia_os == "mac"', { 'sources': [ '<(icu_directory)/mac/icudtl_dat.S', ], 'xcode_settings': { - 'GCC_ENABLE_CPP_RTTI': 'YES', # -frtti + 'OTHER_CPLUSPLUSFLAGS': [ '-frtti' ], 'WARNING_CFLAGS': [ '-w' ], }, } |