Support target/host architecture with ninja iOS builds
When iOS builds support ninja and enable GYP_CROSSCOMPILE=1, ninja will build breakpad, protoc and iossim using host arch instead of the sub-out-ninja workaround. TBR=mark@chromium.org BUG=236517 Review URL: https://chromiumcodereview.appspot.com/14597007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199827 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
base
breakpad
build
testing
third_party
@ -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).
|
||||
|
@ -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'
|
||||
|
@ -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',
|
||||
@ -203,86 +302,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',
|
||||
@ -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',
|
||||
],
|
||||
},
|
||||
},
|
||||
}
|
||||
],
|
||||
}],
|
||||
],
|
||||
|
@ -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',
|
||||
}],
|
||||
|
@ -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': [
|
||||
|
@ -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',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
}],
|
||||
],
|
||||
}
|
||||
|
2
third_party/mach_override/mach_override.gyp
vendored
2
third_party/mach_override/mach_override.gyp
vendored
@ -6,7 +6,7 @@
|
||||
'targets': [
|
||||
],
|
||||
'conditions': [
|
||||
['OS=="mac"', {
|
||||
['OS=="mac" or (OS=="ios" and "<(GENERATOR)"=="ninja")', {
|
||||
'targets' : [
|
||||
{
|
||||
'target_name' : 'mach_override',
|
||||
|
6
third_party/protobuf/protobuf.gyp
vendored
6
third_party/protobuf/protobuf.gyp
vendored
@ -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',
|
||||
|
Reference in New Issue
Block a user