Chromium Code Reviews| Index: icu.gyp | 
| diff --git a/icu.gyp b/icu.gyp | 
| index 9675c734ab7621a06086aa5afb713948952297d9..016196174dde6ee24ffbc70af18f4cadeceb1263 100644 | 
| --- a/icu.gyp | 
| +++ b/icu.gyp | 
| @@ -45,7 +45,7 @@ | 
| ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ | 
| or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ | 
| (target_arch=="arm" or target_arch=="ia32" or \ | 
| - target_arch=="mipsel")', { | 
| + target_arch=="mipsel" or target_arch=="mips")', { | 
| 'target_conditions': [ | 
| ['_toolset=="host"', { | 
| 'cflags': [ '-m32' ], | 
| @@ -60,7 +60,7 @@ | 
| ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ | 
| or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ | 
| (target_arch=="arm64" or target_arch=="x64" or \ | 
| - target_arch=="mipsel64")', { | 
| + target_arch=="mips64el" or target_arch=="mips64")', { | 
| 'target_conditions': [ | 
| ['_toolset=="host"', { | 
| 'cflags': [ '-m64' ], | 
| @@ -106,21 +106,76 @@ | 
| }], | 
| }, | 
| { | 
| + 'target_name': 'data_assembly', | 
| + 'type': 'none', | 
| + 'conditions': [ | 
| + [ 'target_arch=="mips" or target_arch=="mips64"', { | 
| + 'data_assembly_sources': [ | 
| + 'common/icudtb.dat', | 
| + ], | 
| + 'data_assembly_inputs': [ | 
| + 'scripts/make_data_assembly.py', | 
| + 'common/icudtb.dat', | 
| + ], | 
| + 'data_assembly_outputs': [ | 
| + '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtb_dat.S', | 
| + ], | 
| + }], | 
| + [ 'target_arch!="mips" and target_arch!="mips64"', { | 
| + 'data_assembly_sources': [ | 
| + 'common/icudtl.dat', | 
| + ], | 
| + 'data_assembly_inputs': [ | 
| + 'scripts/make_data_assembly.py', | 
| + 'common/icudtl.dat', | 
| + ], | 
| + 'data_assembly_outputs': [ | 
| + '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtl_dat.S', | 
| + ], | 
| + }], | 
| + ], | 
| + 'sources': [ | 
| + '<@(_data_assembly_sources)', | 
| + ], | 
| + 'actions': [ | 
| + { | 
| + 'action_name': 'make_data_assembly', | 
| + 'inputs': [ | 
| + '<@(_data_assembly_inputs)', | 
| + ], | 
| + 'outputs': [ | 
| + '<@(_data_assembly_outputs)', | 
| + ], | 
| + 'action': ['python', '<@(_inputs)', '<@(_outputs)'], | 
| + }, | 
| + ], | 
| + }, | 
| + { | 
| 'target_name': 'icudata', | 
| 'type': 'static_library', | 
| 'defines': [ | 
| 'U_HIDE_DATA_SYMBOL', | 
| ], | 
| + 'dependencies': [ | 
| + 'data_assembly#target', | 
| + ], | 
| 'sources': [ | 
| # These are hand-generated, but will do for now. The linux | 
| # version is an identical copy of the (mac) icudtl_dat.S file, | 
| # modulo removal of the .private_extern and .const directives and | 
| # with no leading underscore on the icudt52_dat symbol. | 
| 'android/icudtl_dat.S', | 
| - 'linux/icudtl_dat.S', | 
| + '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtl_dat.S', | 
| + '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtb_dat.S', | 
| 'mac/icudtl_dat.S', | 
| ], | 
| 'conditions': [ | 
| + [ 'target_arch=="mips" or target_arch=="mips64"', { | 
| + 'sources!': ['<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtl_dat.S'], | 
| + }], | 
| + [ 'target_arch!="mips" and target_arch!="mips64"', { | 
| + 'sources!': ['<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtb_dat.S'], | 
| + }], | 
| [ 'use_system_icu==1 and want_separate_host_toolset==1', { | 
| 'toolsets': ['host'], | 
| }], | 
| @@ -132,6 +187,9 @@ | 
| }], | 
| [ 'OS == "win" and icu_use_data_file_flag==0', { | 
| 'type': 'none', | 
| + 'dependencies!': [ | 
| + 'data_assembly#target', | 
| + ], | 
| 'copies': [ | 
| { | 
| 'destination': '<(PRODUCT_DIR)', | 
| @@ -141,10 +199,19 @@ | 
| }, | 
| ], | 
| }], | 
| + [ '(OS == "mac" or OS == "ios") and icu_use_data_file_flag==0', { | 
| + 'type': 'none', | 
| + 'dependencies!': [ | 
| + 'data_assembly#target', | 
| + ], | 
| + }], | 
| [ 'icu_use_data_file_flag==1', { | 
| 'type': 'none', | 
| + 'dependencies!': [ | 
| + 'data_assembly#target', | 
| + ], | 
| # Remove any assembly data file. | 
| - 'sources/': [['exclude', 'icudtl_dat']], | 
| + 'sources/': [['exclude', 'icudtl_dat', 'icudtb_dat']], | 
| 
 
jungshik at Google
2016/07/20 00:08:40
this should read
'sources/': [['exclude', 'icudt[
 
 | 
| # Make sure any binary depending on this gets the data file. | 
| 'conditions': [ | 
| @@ -166,7 +233,10 @@ | 
| [ 'OS == "win" or OS == "mac" or OS == "ios" or ' | 
| '(OS == "android" and (_toolset != "host" or host_os != "linux")) or ' | 
| '(OS == "qnx" and (_toolset == "host" and host_os != "linux"))', { | 
| - 'sources!': ['linux/icudtl_dat.S'], | 
| + 'sources!': [ | 
| + '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtl_dat.S', | 
| + '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtb_dat.S' | 
| + ], | 
| }], | 
| [ 'OS != "android" or _toolset == "host"', { | 
| 'sources!': ['android/icudtl_dat.S'], | 
| @@ -345,6 +415,9 @@ | 
| 'toolsets': ['target'], | 
| }], | 
| [ 'OS == "win" or icu_use_data_file_flag==1', { | 
| + 'dependencies!': [ | 
| + 'data_assembly#target', | 
| + ], | 
| 
 
jungshik at Google
2016/07/19 23:01:30
This gave me an error when running v8/gypfiles/gyp
 
 | 
| 'sources': [ | 
| 'source/stubdata/stubdata.c', | 
| ], |