Index: icu.gyp |
diff --git a/icu.gyp b/icu.gyp |
index 9675c734ab7621a06086aa5afb713948952297d9..4103a0db962948611e7f5c68a421add392670985 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,77 @@ |
}], |
}, |
{ |
+ '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)/icudtb_dat.S', |
jungshik at Google
2016/06/02 18:58:42
Change the output path to
<(SHARED_INTERMEDIATE_DI
|
+ ], |
+ }], |
+ [ '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)/icudtl_dat.S', |
jungshik at Google
2016/06/02 18:58:41
same here.
|
+ ], |
+ }], |
+ ], |
+ 'sources': [ |
+ '<@(_data_assembly_sources)', |
+ '<@(_data_assembly_outputs)', |
jungshik at Google
2016/06/02 18:45:41
"..data.._outputs" should not be in sources, shoul
|
+ ], |
+ '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)/icudtl_dat.S', |
+ '<(SHARED_INTERMEDIATE_DIR)/icudtb_dat.S', |
'mac/icudtl_dat.S', |
], |
'conditions': [ |
+ [ 'target_arch=="mips" or target_arch=="mips64"', { |
+ 'sources!': ['<(SHARED_INTERMEDIATE_DIR)/icudtl_dat.S'], |
+ }], |
+ [ 'target_arch!="mips" and target_arch!="mips64"', { |
+ 'sources!': ['<(SHARED_INTERMEDIATE_DIR)/icudtb_dat.S'], |
+ }], |
[ 'use_system_icu==1 and want_separate_host_toolset==1', { |
'toolsets': ['host'], |
}], |
@@ -132,6 +188,9 @@ |
}], |
[ 'OS == "win" and icu_use_data_file_flag==0', { |
'type': 'none', |
+ 'dependencies!': [ |
+ 'data_assembly#target', |
jungshik at Google
2016/06/02 18:45:41
for now (it'll be short-lived), this dependency ex
|
+ ], |
'copies': [ |
{ |
'destination': '<(PRODUCT_DIR)', |
@@ -143,8 +202,11 @@ |
}], |
[ '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']], |
# Make sure any binary depending on this gets the data file. |
'conditions': [ |
@@ -166,7 +228,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)/icudtl_dat.S', |
+ '<(SHARED_INTERMEDIATE_DIR)/icudtb_dat.S' |
+ ], |
}], |
[ 'OS != "android" or _toolset == "host"', { |
'sources!': ['android/icudtl_dat.S'], |
@@ -268,6 +333,7 @@ |
], |
'dependencies': [ |
'icudata', |
+ 'data_assembly#target', |
], |
'direct_dependent_settings': { |
'include_dirs': [ |
@@ -345,6 +411,9 @@ |
'toolsets': ['target'], |
}], |
[ 'OS == "win" or icu_use_data_file_flag==1', { |
+ 'dependencies!': [ |
+ 'data_assembly#target', |
+ ], |
'sources': [ |
'source/stubdata/stubdata.c', |
], |