| Index: testing/iossim/iossim.gyp
|
| diff --git a/testing/iossim/iossim.gyp b/testing/iossim/iossim.gyp
|
| index 2894be0f82b1df9560543b789a65979c17012be3..45601f4742b3806fb1dc9c596fa3b74f01d5089c 100644
|
| --- a/testing/iossim/iossim.gyp
|
| +++ b/testing/iossim/iossim.gyp
|
| @@ -3,91 +3,118 @@
|
| # found in the LICENSE file.
|
|
|
| {
|
| - 'targets': [
|
| - {
|
| - 'target_name': 'iossim',
|
| - 'conditions': [
|
| - ['OS != "ios"', {
|
| - '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',
|
| + 'conditions': [
|
| + ['OS != "ios"', {
|
| + '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'
|
| },
|
| - ],
|
| - }, { # else, OS == "ios"
|
| - 'type': 'none',
|
| - 'variables': {
|
| - 'ninja_output_dir': 'ninja-iossim',
|
| - # Gyp to rerun
|
| - 're_run_targets': [
|
| - 'testing/iossim/iossim.gyp',
|
| + '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',
|
| + },
|
| ],
|
| },
|
| - 'includes': ['../../build/ios/mac_build.gypi'],
|
| - 'actions': [
|
| - {
|
| - 'action_name': 'compile iossim',
|
| - 'inputs': [],
|
| - 'outputs': [],
|
| - 'action': [
|
| - '<@(ninja_cmd)',
|
| - 'iossim',
|
| + ],
|
| + }, { # else, OS == "ios"
|
| + 'variables': {
|
| + 'ninja_output_dir': 'ninja-iossim',
|
| + 'ninja_product_dir':
|
| + '<(DEPTH)/xcodebuild/<(ninja_output_dir)/<(CONFIGURATION_NAME)',
|
| + },
|
| + # Generation is done via two actions: (1) compiling the executable with
|
| + # ninja, and (2) copying the executable into a location that is shared
|
| + # with other projects. These actions are separated into two targets in
|
| + # order to be able to specify that the second action should not run
|
| + # until the first action finishes (since the ordering of multiple
|
| + # actions in one target is defined only by inputs and outputs, and it's
|
| + # impossible to set correct inputs for the ninja build, so setting all
|
| + # the inputs and outputs isn't an option).
|
| + 'targets': [
|
| + {
|
| + 'target_name': 'compile_iossim',
|
| + 'type': 'none',
|
| + 'variables': {
|
| + # Gyp to rerun
|
| + 're_run_targets': [
|
| + 'testing/iossim/iossim.gyp',
|
| ],
|
| - 'message': 'Generating the iossim executable',
|
| },
|
| - {
|
| - 'action_name': 'copy iossim',
|
| - 'inputs': [
|
| - # TODO(ios): It should be possible to define the input, but
|
| - # adding it causes gyp to complain about duplicate id.
|
| - # '<(ninja_product_dir)/iossim',
|
| - ],
|
| - 'outputs': [
|
| - '<(DEPTH)/xcodebuild/<(CONFIGURATION_NAME)/iossim',
|
| - ],
|
| - 'action': [
|
| - 'cp',
|
| - '<(ninja_product_dir)/iossim',
|
| - '<(DEPTH)/xcodebuild/<(CONFIGURATION_NAME)/iossim',
|
| - ],
|
| - },
|
| - ],
|
| - }],
|
| - ],
|
| - },
|
| + 'includes': ['../../build/ios/mac_build.gypi'],
|
| + 'actions': [
|
| + {
|
| + 'action_name': 'compile iossim',
|
| + 'inputs': [],
|
| + 'outputs': [],
|
| + 'action': [
|
| + '<@(ninja_cmd)',
|
| + 'iossim',
|
| + ],
|
| + 'message': 'Generating the iossim executable',
|
| + },
|
| + ],
|
| + },
|
| + {
|
| + 'target_name': 'iossim',
|
| + 'type': 'none',
|
| + 'dependencies': [
|
| + 'compile_iossim',
|
| + ],
|
| + 'actions': [
|
| + {
|
| + 'action_name': 'copy iossim',
|
| + 'inputs': [
|
| + # TODO(ios): It should be possible to define the input, but
|
| + # adding it causes gyp to complain about duplicate id.
|
| + # '<(ninja_product_dir)/iossim',
|
| + ],
|
| + 'outputs': [
|
| + '<(DEPTH)/xcodebuild/<(CONFIGURATION_NAME)/iossim',
|
| + ],
|
| + 'action': [
|
| + 'cp',
|
| + '<(ninja_product_dir)/iossim',
|
| + '<(DEPTH)/xcodebuild/<(CONFIGURATION_NAME)/iossim',
|
| + ],
|
| + },
|
| + ],
|
| + },
|
| + ],
|
| + },
|
| + ],
|
| ],
|
| }
|
|
|