diff options
-rw-r--r-- | base/base.gyp | 8 | ||||
-rw-r--r-- | base/base.gypi | 11 | ||||
-rw-r--r-- | breakpad/breakpad.gyp | 331 | ||||
-rw-r--r-- | build/common.gypi | 40 | ||||
-rw-r--r-- | testing/gtest.gyp | 2 | ||||
-rw-r--r-- | testing/iossim/iossim.gyp | 142 | ||||
-rw-r--r-- | third_party/mach_override/mach_override.gyp | 2 | ||||
-rw-r--r-- | third_party/protobuf/protobuf.gyp | 6 |
8 files changed, 294 insertions, 248 deletions
diff --git a/base/base.gyp b/base/base.gyp index 667ec00..f0264a3 100644 --- a/base/base.gyp +++ b/base/base.gyp @@ -188,7 +188,7 @@ ], }, }], - ['OS == "mac"', { + ['OS == "mac" or (OS == "ios" and _toolset == "host")', { 'link_settings': { 'libraries': [ '$(SDKROOT)/System/Library/Frameworks/AppKit.framework', @@ -204,7 +204,7 @@ '../third_party/mach_override/mach_override.gyp:mach_override', ], }], - ['OS == "ios"', { + ['OS == "ios" and _toolset != "host"', { 'link_settings': { 'libraries': [ '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework', @@ -674,7 +674,7 @@ 'debug/stack_trace_unittest.cc', ], }], - ['OS == "ios"', { + ['OS == "ios" and _toolset != "host"', { 'sources/': [ # Only test the iOS-meaningful portion of process_utils. ['exclude', '^process_util_unittest'], @@ -788,7 +788,7 @@ }], ], # conditions 'target_conditions': [ - ['OS == "ios"', { + ['OS == "ios" and _toolset != "host"', { 'sources/': [ # Pull in specific Mac files for iOS (which have been filtered out # by file name rules). diff --git a/base/base.gypi b/base/base.gypi index bdade59..d88824a 100644 --- a/base/base.gypi +++ b/base/base.gypi @@ -672,7 +672,7 @@ ['include', '^worker_pool_linux\\.cc$'], ], }], - ['OS == "ios"', { + ['OS == "ios" and _toolset != "host"', { 'sources/': [ # Pull in specific Mac files for iOS (which have been filtered out # by file name rules). @@ -701,6 +701,15 @@ 'message_pump_libevent.cc' ], }], + ['OS == "ios" and _toolset == "host"', { + 'sources/': [ + # Copied filename_rules to switch from iOS to Mac inclusions. + ['include', '_(cocoa|mac)(_unittest)?\\.(h|cc|mm?)$'], + ['include', '(^|/)(cocoa|mac)/'], + ['exclude', '_ios(_unittest)?\\.(h|cc|mm?)$'], + ['exclude', '(^|/)ios/'], + ] + }], ['OS != "mac" or >(nacl_untrusted_build)==1', { 'sources!': [ 'mac/scoped_aedesc.h' diff --git a/breakpad/breakpad.gyp b/breakpad/breakpad.gyp index ea137cc..66c590a 100644 --- a/breakpad/breakpad.gyp +++ b/breakpad/breakpad.gyp @@ -105,7 +105,106 @@ }, ], }], - [ 'OS=="mac"', { + ['OS=="mac" or (OS=="ios" and "<(GENERATOR)"=="ninja")', { + 'target_defaults': { + 'include_dirs': [ + 'src', + ], + 'configurations': { + 'Debug_Base': { + 'defines': [ + # This is needed for GTMLogger to work correctly. + 'DEBUG', + ], + }, + }, + }, + 'targets': [ + { + 'target_name': 'dump_syms', + 'type': 'executable', + 'toolsets': ['host'], + 'include_dirs': [ + 'src/common/mac', + ], + 'sources': [ + 'src/common/dwarf/bytereader.cc', + 'src/common/dwarf_cfi_to_module.cc', + 'src/common/dwarf_cu_to_module.cc', + 'src/common/dwarf/dwarf2diehandler.cc', + 'src/common/dwarf/dwarf2reader.cc', + 'src/common/dwarf_line_to_module.cc', + 'src/common/language.cc', + 'src/common/mac/arch_utilities.cc', + 'src/common/mac/arch_utilities.h', + 'src/common/mac/dump_syms.mm', + 'src/common/mac/file_id.cc', + 'src/common/mac/macho_id.cc', + 'src/common/mac/macho_reader.cc', + 'src/common/mac/macho_utilities.cc', + 'src/common/mac/macho_walker.cc', + 'src/common/md5.cc', + 'src/common/module.cc', + 'src/common/stabs_reader.cc', + 'src/common/stabs_to_module.cc', + 'src/tools/mac/dump_syms/dump_syms_tool.mm', + ], + 'defines': [ + # For src/common/stabs_reader.h. + 'HAVE_MACH_O_NLIST_H', + ], + 'xcode_settings': { + # Like ld, dump_syms needs to operate on enough data that it may + # actually need to be able to address more than 4GB. Use x86_64. + # Don't worry! An x86_64 dump_syms is perfectly able to dump + # 32-bit files. + 'ARCHS': [ + 'x86_64', + ], + + # The DWARF utilities require -funsigned-char. + 'GCC_CHAR_IS_UNSIGNED_CHAR': 'YES', + + # dwarf2reader.cc uses dynamic_cast. + 'GCC_ENABLE_CPP_RTTI': 'YES', + }, + 'link_settings': { + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', + ], + }, + 'configurations': { + 'Release_Base': { + 'xcode_settings': { + # dump_syms crashes when built at -O1, -O2, and -O3. It does + # not crash at -Os. To play it safe, dump_syms is always built + # at -O0 until this can be sorted out. + # http://code.google.com/p/google-breakpad/issues/detail?id=329 + 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 + }, + }, + }, + }, + { + 'target_name': 'symupload', + 'type': 'executable', + 'toolsets': ['host'], + 'include_dirs': [ + 'src/common/mac', + ], + 'sources': [ + 'src/common/mac/HTTPMultipartUpload.m', + 'src/tools/mac/symupload/symupload.m', + ], + 'link_settings': { + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', + ], + } + }, + ], + }], + ['OS=="mac"', { 'target_defaults': { 'include_dirs': [ 'src', @@ -204,86 +303,6 @@ } }, { - 'target_name': 'dump_syms', - 'type': 'executable', - 'include_dirs': [ - 'src/common/mac', - ], - 'sources': [ - 'src/common/dwarf/bytereader.cc', - 'src/common/dwarf_cfi_to_module.cc', - 'src/common/dwarf_cu_to_module.cc', - 'src/common/dwarf/dwarf2diehandler.cc', - 'src/common/dwarf/dwarf2reader.cc', - 'src/common/dwarf_line_to_module.cc', - 'src/common/language.cc', - 'src/common/mac/arch_utilities.cc', - 'src/common/mac/arch_utilities.h', - 'src/common/mac/dump_syms.mm', - 'src/common/mac/file_id.cc', - 'src/common/mac/macho_id.cc', - 'src/common/mac/macho_reader.cc', - 'src/common/mac/macho_utilities.cc', - 'src/common/mac/macho_walker.cc', - 'src/common/md5.cc', - 'src/common/module.cc', - 'src/common/stabs_reader.cc', - 'src/common/stabs_to_module.cc', - 'src/tools/mac/dump_syms/dump_syms_tool.mm', - ], - 'defines': [ - # For src/common/stabs_reader.h. - 'HAVE_MACH_O_NLIST_H', - ], - 'xcode_settings': { - # Like ld, dump_syms needs to operate on enough data that it may - # actually need to be able to address more than 4GB. Use x86_64. - # Don't worry! An x86_64 dump_syms is perfectly able to dump - # 32-bit files. - 'ARCHS': [ - 'x86_64', - ], - - # The DWARF utilities require -funsigned-char. - 'GCC_CHAR_IS_UNSIGNED_CHAR': 'YES', - - # dwarf2reader.cc uses dynamic_cast. - 'GCC_ENABLE_CPP_RTTI': 'YES', - }, - 'link_settings': { - 'libraries': [ - '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', - ], - }, - 'configurations': { - 'Release_Base': { - 'xcode_settings': { - # dump_syms crashes when built at -O1, -O2, and -O3. It does - # not crash at -Os. To play it safe, dump_syms is always built - # at -O0 until this can be sorted out. - # http://code.google.com/p/google-breakpad/issues/detail?id=329 - 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 - }, - }, - }, - }, - { - 'target_name': 'symupload', - 'type': 'executable', - 'include_dirs': [ - 'src/common/mac', - ], - 'sources': [ - 'src/common/mac/HTTPMultipartUpload.m', - 'src/tools/mac/symupload/symupload.m', - ], - 'link_settings': { - 'libraries': [ - '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', - ], - } - }, - { 'target_name': 'breakpad', 'type': 'static_library', 'dependencies': [ @@ -668,7 +687,82 @@ }, ], }], - [ 'OS=="ios"', { + ['OS=="ios"', { + 'targets': [ + { + 'target_name': 'breakpad_client', + 'type': 'static_library', + 'sources': [ + 'src/client/ios/Breakpad.h', + 'src/client/ios/Breakpad.mm', + 'src/client/ios/BreakpadController.h', + 'src/client/ios/BreakpadController.mm', + 'src/client/ios/handler/ios_exception_minidump_generator.mm', + 'src/client/ios/handler/ios_exception_minidump_generator.h', + 'src/client/mac/crash_generation/ConfigFile.h', + 'src/client/mac/crash_generation/ConfigFile.mm', + 'src/client/mac/handler/breakpad_nlist_64.cc', + 'src/client/mac/handler/breakpad_nlist_64.h', + 'src/client/mac/handler/dynamic_images.cc', + 'src/client/mac/handler/dynamic_images.h', + 'src/client/mac/handler/protected_memory_allocator.cc', + 'src/client/mac/handler/protected_memory_allocator.h', + 'src/client/mac/handler/exception_handler.cc', + 'src/client/mac/handler/exception_handler.h', + 'src/client/mac/handler/minidump_generator.cc', + 'src/client/mac/handler/minidump_generator.h', + 'src/client/mac/sender/uploader.h', + 'src/client/mac/sender/uploader.mm', + 'src/client/minidump_file_writer.cc', + 'src/client/minidump_file_writer.h', + 'src/client/minidump_file_writer-inl.h', + 'src/common/convert_UTF.c', + 'src/common/convert_UTF.h', + 'src/common/mac/file_id.cc', + 'src/common/mac/file_id.h', + 'src/common/mac/HTTPMultipartUpload.m', + 'src/common/mac/macho_id.cc', + 'src/common/mac/macho_id.h', + 'src/common/mac/macho_utilities.cc', + 'src/common/mac/macho_utilities.h', + 'src/common/mac/macho_walker.cc', + 'src/common/mac/macho_walker.h', + 'src/common/mac/string_utilities.cc', + 'src/common/mac/string_utilities.h', + 'src/common/md5.cc', + 'src/common/md5.h', + 'src/common/simple_string_dictionary.cc', + 'src/common/simple_string_dictionary.h', + 'src/common/string_conversion.cc', + 'src/common/string_conversion.h', + 'src/google_breakpad/common/minidump_format.h', + ], + 'include_dirs': [ + 'src', + 'src/client/mac/Framework', + 'src/common/mac', + # For GTMLogger. + '<(DEPTH)/third_party/GTM', + '<(DEPTH)/third_party/GTM/Foundation', + ], + 'link_settings': { + # Build the version of GTMLogger.m in third_party rather than the + # one in src/common/mac because the former catches all exceptions + # whereas the latter lets them propagate, which can cause odd + # crashes. + 'sources': [ + '<(DEPTH)/third_party/GTM/Foundation/GTMLogger.h', + '<(DEPTH)/third_party/GTM/Foundation/GTMLogger.m', + ], + 'include_dirs': [ + '<(DEPTH)/third_party/GTM', + '<(DEPTH)/third_party/GTM/Foundation', + ], + }, + } + ] + }], + ['OS=="ios" and "<(GENERATOR)"!="ninja"', { 'variables': { 'ninja_output_dir': 'ninja-breakpad', 'ninja_product_dir': @@ -757,78 +851,7 @@ 'dependencies': [ 'breakpad_utilities', ], - }, - { - 'target_name': 'breakpad_client', - 'type': 'static_library', - 'sources': [ - 'src/client/ios/Breakpad.h', - 'src/client/ios/Breakpad.mm', - 'src/client/ios/BreakpadController.h', - 'src/client/ios/BreakpadController.mm', - 'src/client/ios/handler/ios_exception_minidump_generator.mm', - 'src/client/ios/handler/ios_exception_minidump_generator.h', - 'src/client/mac/crash_generation/ConfigFile.h', - 'src/client/mac/crash_generation/ConfigFile.mm', - 'src/client/mac/handler/breakpad_nlist_64.cc', - 'src/client/mac/handler/breakpad_nlist_64.h', - 'src/client/mac/handler/dynamic_images.cc', - 'src/client/mac/handler/dynamic_images.h', - 'src/client/mac/handler/protected_memory_allocator.cc', - 'src/client/mac/handler/protected_memory_allocator.h', - 'src/client/mac/handler/exception_handler.cc', - 'src/client/mac/handler/exception_handler.h', - 'src/client/mac/handler/minidump_generator.cc', - 'src/client/mac/handler/minidump_generator.h', - 'src/client/mac/sender/uploader.h', - 'src/client/mac/sender/uploader.mm', - 'src/client/minidump_file_writer.cc', - 'src/client/minidump_file_writer.h', - 'src/client/minidump_file_writer-inl.h', - 'src/common/convert_UTF.c', - 'src/common/convert_UTF.h', - 'src/common/mac/file_id.cc', - 'src/common/mac/file_id.h', - 'src/common/mac/HTTPMultipartUpload.m', - 'src/common/mac/macho_id.cc', - 'src/common/mac/macho_id.h', - 'src/common/mac/macho_utilities.cc', - 'src/common/mac/macho_utilities.h', - 'src/common/mac/macho_walker.cc', - 'src/common/mac/macho_walker.h', - 'src/common/mac/string_utilities.cc', - 'src/common/mac/string_utilities.h', - 'src/common/md5.cc', - 'src/common/md5.h', - 'src/common/simple_string_dictionary.cc', - 'src/common/simple_string_dictionary.h', - 'src/common/string_conversion.cc', - 'src/common/string_conversion.h', - 'src/google_breakpad/common/minidump_format.h', - ], - 'include_dirs': [ - 'src', - 'src/client/mac/Framework', - 'src/common/mac', - # For GTMLogger. - '<(DEPTH)/third_party/GTM', - '<(DEPTH)/third_party/GTM/Foundation', - ], - 'link_settings': { - # Build the version of GTMLogger.m in third_party rather than the - # one in src/common/mac because the former catches all exceptions - # whereas the latter lets them propagate, which can cause odd - # crashes. - 'sources': [ - '<(DEPTH)/third_party/GTM/Foundation/GTMLogger.h', - '<(DEPTH)/third_party/GTM/Foundation/GTMLogger.m', - ], - 'include_dirs': [ - '<(DEPTH)/third_party/GTM', - '<(DEPTH)/third_party/GTM/Foundation', - ], - }, - }, + } ], }], ], diff --git a/build/common.gypi b/build/common.gypi index c61a70e..ed9d6d3 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -1317,6 +1317,10 @@ 'android_webview_build%': '<(android_webview_build)', }], # OS=="android" ['OS=="mac"', { + # Enable clang on mac by default! + 'clang%': 1, + }], # OS=="mac" + ['OS=="mac" or OS=="ios"', { 'variables': { # Mac OS X SDK and deployment target support. The SDK identifies # the version of the system headers that will be used, and @@ -1349,9 +1353,6 @@ 'mac_sdk_path': '<(mac_sdk_path)', 'mac_deployment_target': '<(mac_deployment_target)', - # Enable clang on mac by default! - 'clang%': 1, - # Compile in Breakpad support by default so that it can be # tested, even if it is not enabled by default at runtime. 'mac_breakpad_compiled_in%': 1, @@ -1382,7 +1383,7 @@ 'mac_keystone%': 0, }], ], - }], # OS=="mac" + }], # OS=="mac" or OS=="ios" ['OS=="win"', { 'conditions': [ ['component=="shared_library"', { @@ -3085,14 +3086,14 @@ # libstdc++ in C++11 mode. So no C++11 mode for Android yet. # Doesn't work with asan for some reason either: crbug.com/233464 'cflags': [ - # Especially needed for gtest macros using enum values from Mac - # system headers. - # TODO(pkasting): In C++11 this is legal, so this should be - # removed when we change to that. (This is also why we don't - # bother fixing all these cases today.) - '-Wno-unnamed-type-template-args', - # This (rightfully) complains about 'override', which we use - # heavily. + # Especially needed for gtest macros using enum values from Mac + # system headers. + # TODO(pkasting): In C++11 this is legal, so this should be + # removed when we change to that. (This is also why we don't + # bother fixing all these cases today.) + '-Wno-unnamed-type-template-args', + # This (rightfully) complains about 'override', which we use + # heavily. '-Wno-c++11-extensions', ], }], @@ -4031,6 +4032,20 @@ ], }, 'target_conditions': [ + ['_toolset=="host"', { + 'xcode_settings': { + 'SDKROOT': 'macosx<(mac_sdk)', # -isysroot + 'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)', + }, + }], + ['_toolset=="target"', { + 'xcode_settings': { + # This section should be for overriding host settings. But, + # since we can't negate the iphone deployment target above, we + # instead set it here for target only. + 'IPHONEOS_DEPLOYMENT_TARGET': '<(ios_deployment_target)', + }, + }], ['_type=="executable"', { 'configurations': { 'Release_Base': { @@ -4434,7 +4449,6 @@ 'ARCHS': '$(ARCHS_UNIVERSAL_IPHONE_OS)', # Just build armv7, until armv7s is correctly tested. 'VALID_ARCHS': 'armv7 i386', - 'IPHONEOS_DEPLOYMENT_TARGET': '<(ios_deployment_target)', # Target both iPhone and iPad. 'TARGETED_DEVICE_FAMILY': '1,2', }], diff --git a/testing/gtest.gyp b/testing/gtest.gyp index 97e5637..42cf571 100644 --- a/testing/gtest.gyp +++ b/testing/gtest.gyp @@ -65,7 +65,7 @@ }], ['OS == "ios"', { 'dependencies' : [ - '<(DEPTH)/testing/iossim/iossim.gyp:iossim', + '<(DEPTH)/testing/iossim/iossim.gyp:iossim#host', ], 'direct_dependent_settings': { 'target_conditions': [ diff --git a/testing/iossim/iossim.gyp b/testing/iossim/iossim.gyp index 74f87be..a5c9d30 100644 --- a/testing/iossim/iossim.gyp +++ b/testing/iossim/iossim.gyp @@ -4,84 +4,84 @@ { 'conditions': [ - ['OS != "ios"', { + ['OS!="ios" or "<(GENERATOR)"=="ninja"', { 'targets': [ { 'target_name': 'iossim', - 'type': 'executable', - 'variables': { - 'developer_dir': '<!(xcode-select -print-path)', - 'iphone_sim_path': '<(developer_dir)/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks', - 'other_frameworks_path': '<(developer_dir)/../OtherFrameworks' - }, - 'dependencies': [ - 'third_party/class-dump/class-dump.gyp:class-dump', - ], - 'include_dirs': [ - '<(INTERMEDIATE_DIR)/iossim', - ], - 'sources': [ - 'iossim.mm', - '<(INTERMEDIATE_DIR)/iossim/iPhoneSimulatorRemoteClient.h', - ], - 'libraries': [ - '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', - ], - 'actions': [ - { - 'action_name': 'generate_iphone_sim_header', - 'inputs': [ - '<(iphone_sim_path)/iPhoneSimulatorRemoteClient.framework/Versions/Current/iPhoneSimulatorRemoteClient', - '<(PRODUCT_DIR)/class-dump', - ], - 'outputs': [ - '<(INTERMEDIATE_DIR)/iossim/iPhoneSimulatorRemoteClient.h' - ], - 'action': [ - # Actions don't provide a way to redirect stdout, so a custom - # script is invoked that will execute the first argument and write - # the output to the file specified as the second argument. - './redirect-stdout.sh', - '<(PRODUCT_DIR)/class-dump -CiPhoneSimulator <(iphone_sim_path)/iPhoneSimulatorRemoteClient.framework', - '<(INTERMEDIATE_DIR)/iossim/iPhoneSimulatorRemoteClient.h', - ], - 'message': 'Generating header', - }, - ], + 'toolsets': ['host'], + 'type': 'executable', + 'variables': { + 'developer_dir': '<!(xcode-select -print-path)', + 'iphone_sim_path': '<(developer_dir)/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks', + 'other_frameworks_path': '<(developer_dir)/../OtherFrameworks' }, - ], - }, { # else, OS == "ios" - 'variables': { - 'ninja_output_dir': 'ninja-iossim', - 'ninja_product_dir': - '$(SYMROOT)/<(ninja_output_dir)/<(CONFIGURATION_NAME)', - }, - 'targets': [ - { - 'target_name': 'iossim', - 'type': 'none', - 'variables': { - # Gyp to rerun - 're_run_targets': [ - 'testing/iossim/iossim.gyp', + 'dependencies': [ + 'third_party/class-dump/class-dump.gyp:class-dump#host', + ], + 'include_dirs': [ + '<(INTERMEDIATE_DIR)/iossim', + ], + 'sources': [ + 'iossim.mm', + '<(INTERMEDIATE_DIR)/iossim/iPhoneSimulatorRemoteClient.h', + ], + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', + ], + 'actions': [ + { + 'action_name': 'generate_iphone_sim_header', + 'inputs': [ + '<(iphone_sim_path)/iPhoneSimulatorRemoteClient.framework/Versions/Current/iPhoneSimulatorRemoteClient', + '<(PRODUCT_DIR)/class-dump', + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/iossim/iPhoneSimulatorRemoteClient.h' + ], + 'action': [ + # Actions don't provide a way to redirect stdout, so a custom + # script is invoked that will execute the first argument and write + # the output to the file specified as the second argument. + './redirect-stdout.sh', + '<(PRODUCT_DIR)/class-dump -CiPhoneSimulator <(iphone_sim_path)/iPhoneSimulatorRemoteClient.framework', + '<(INTERMEDIATE_DIR)/iossim/iPhoneSimulatorRemoteClient.h', ], + 'message': 'Generating header', }, - 'includes': ['../../build/ios/mac_build.gypi'], - 'actions': [ - { - 'action_name': 'compile iossim', - 'inputs': [], - 'outputs': [], - 'action': [ - '<@(ninja_cmd)', - 'iossim', - ], - 'message': 'Generating the iossim executable', - }, + ], + }, + ], + }, { # else, OS=="ios" and "<(GENERATOR)"!="ninja" + 'variables': { + 'ninja_output_dir': 'ninja-iossim', + 'ninja_product_dir': + '<(DEPTH)/xcodebuild/<(ninja_output_dir)/<(CONFIGURATION_NAME)', + }, + 'targets': [ + { + 'target_name': 'iossim', + 'type': 'none', + 'variables': { + # Gyp to rerun + 're_run_targets': [ + 'testing/iossim/iossim.gyp', ], }, - ], - }, - ], + 'includes': ['../../build/ios/mac_build.gypi'], + 'actions': [ + { + 'action_name': 'compile iossim', + 'inputs': [], + 'outputs': [], + 'action': [ + '<@(ninja_cmd)', + 'iossim', + ], + 'message': 'Generating the iossim executable', + }, + ], + }, + ], + }], ], } diff --git a/third_party/mach_override/mach_override.gyp b/third_party/mach_override/mach_override.gyp index 8b5e0ba..720e757 100644 --- a/third_party/mach_override/mach_override.gyp +++ b/third_party/mach_override/mach_override.gyp @@ -6,7 +6,7 @@ 'targets': [ ], 'conditions': [ - ['OS=="mac"', { + ['OS=="mac" or (OS=="ios" and "<(GENERATOR)"=="ninja")', { 'targets' : [ { 'target_name' : 'mach_override', diff --git a/third_party/protobuf/protobuf.gyp b/third_party/protobuf/protobuf.gyp index 772bc10..df0f6e5 100644 --- a/third_party/protobuf/protobuf.gyp +++ b/third_party/protobuf/protobuf.gyp @@ -28,7 +28,7 @@ ], }, }], - ['OS=="ios"', { + ['OS=="ios" and "<(GENERATOR)"!="ninja"', { 'variables': { 'ninja_output_dir': 'ninja-protoc', 'ninja_product_dir': @@ -205,7 +205,7 @@ { 'target_name': 'protoc', 'conditions': [ - ['OS!="ios"', { + ['OS!="ios" or "<(GENERATOR)"=="ninja"', { 'type': 'executable', 'toolsets': ['host'], 'sources': [ @@ -273,7 +273,7 @@ '<(config_h_dir)', 'src/src', ], - }, { # else, OS=="ios" + }, { # else, OS=="ios" and "<(GENERATOR)"!="ninja" 'type': 'none', 'dependencies': [ 'compile_protoc', |