1c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott# This file is generated; do not edit.
2c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
3c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottimport os
4c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
5c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick ScottImport("env")
6c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
7c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottenv = env.Clone(COMPONENT_NAME='icu',
8c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                TARGET_NAME='icuuc')
9c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
10c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottconfigurations = {
11c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'Debug' : {
12c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        'Append' : dict(
13c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CCFLAGS = [
14c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-pthread',
15c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-exceptions',
16c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-asynchronous-unwind-tables',
17c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fvisibility=hidden',
18c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-D_FILE_OFFSET_BITS=64',
19c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-strict-aliasing',
20c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-Wno-deprecated-declarations',
21c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-Wno-unused-function',
22c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-O0',
23c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-g'
24c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
25c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CPPDEFINES = [
26c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                'U_STATIC_IMPLEMENTATION',
27c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                'CHROMIUM_BUILD',
28c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                'U_COMMON_IMPLEMENTATION',
29c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '_DEBUG'
30c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
31c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CPPPATH = [
32c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                env.Dir('$SRC_DIR/third_party/icu/public/common'),
33c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                env.Dir('$SRC_DIR/third_party/icu/public/i18n'),
34c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                env.Dir('$SRC_DIR/third_party/icu/source/common'),
35c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                env.Dir('$SRC_DIR/third_party/icu/source/i18n')
36c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
37c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CXXFLAGS = [
38c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-rtti',
39c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-threadsafe-statics',
40c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fvisibility-inlines-hidden'
41c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
42c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            LINKFLAGS = [
43c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-pthread',
44c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-rdynamic'
45c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
46c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        ),
47c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        'FilterOut' : dict(
48c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        ),
49c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        'Replace' : dict(
50c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             FLOCK_LDMODULE = ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'],
51c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             FLOCK_LINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'],
52c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             FLOCK_SHLINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'],
53c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             IMPLICIT_COMMAND_DEPENDENCIES = '0',
54c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             LDMODULECOM = [['$FLOCK_LDMODULE',
55c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-o',
56c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$TARGET',
57c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBDIRFLAGS',
58c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$LDMODULEFLAGS',
59c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$SOURCES',
60c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--start-group',
61c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBFLAGS',
62c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--end-group']],
63c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             LIBPATH = ['$LIB_DIR'],
64c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             LINKCOM = [['$FLOCK_LINK',
65c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-o',
66c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$TARGET',
67c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBDIRFLAGS',
68c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$LINKFLAGS',
69c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$SOURCES',
70c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--start-group',
71c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBFLAGS',
72c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--end-group']],
73c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             SHLINKCOM = [['$FLOCK_SHLINK',
74c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-o',
75c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$TARGET',
76c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBDIRFLAGS',
77c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$SHLINKFLAGS',
78c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$SOURCES',
79c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--start-group',
80c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBFLAGS',
81c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--end-group']],
82c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        ),
83c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        'ImportExternal' : [
84c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'AS',
85c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CC',
86c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CXX',
87c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'LINK',
88c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        ],
89c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        'PropagateExternal' : [
90c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'AS',
91c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CC',
92c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CCACHE_DIR',
93c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CXX',
94c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'DISTCC_DIR',
95c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'DISTCC_HOSTS',
96c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'HOME',
97c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'INCLUDE_SERVER_ARGS',
98c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'INCLUDE_SERVER_PORT',
99c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'LINK',
100c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CHROME_BUILD_TYPE',
101c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CHROMIUM_BUILD',
102c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'OFFICIAL_BUILD',
103c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        ],
104c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    },
105c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'Release' : {
106c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        'Append' : dict(
107c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CCFLAGS = [
108c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-pthread',
109c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-exceptions',
110c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-asynchronous-unwind-tables',
111c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fvisibility=hidden',
112c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-D_FILE_OFFSET_BITS=64',
113c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-strict-aliasing',
114c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-Wno-deprecated-declarations',
115c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-Wno-unused-function',
116c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-O2',
117c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-ident',
118c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fdata-sections',
119c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-ffunction-sections'
120c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
121c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CPPDEFINES = [
122c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                'U_STATIC_IMPLEMENTATION',
123c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                'CHROMIUM_BUILD',
124c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                'U_COMMON_IMPLEMENTATION',
125c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                'NDEBUG',
126c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                'NVALGRIND'
127c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
128c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CPPPATH = [
129c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                env.Dir('$SRC_DIR/third_party/icu/public/common'),
130c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                env.Dir('$SRC_DIR/third_party/icu/public/i18n'),
131c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                env.Dir('$SRC_DIR/third_party/icu/source/common'),
132c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                env.Dir('$SRC_DIR/third_party/icu/source/i18n')
133c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
134c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CXXFLAGS = [
135c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-rtti',
136c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fno-threadsafe-statics',
137c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fvisibility-inlines-hidden'
138c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
139c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            LINKFLAGS = [
140c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-pthread',
141c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-Wl,--gc-sections'
142c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
143c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        ),
144c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        'FilterOut' : dict(
145c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        ),
146c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        'Replace' : dict(
147c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             FLOCK_LDMODULE = ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'],
148c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             FLOCK_LINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'],
149c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             FLOCK_SHLINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'],
150c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             IMPLICIT_COMMAND_DEPENDENCIES = '0',
151c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             LDMODULECOM = [['$FLOCK_LDMODULE',
152c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-o',
153c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$TARGET',
154c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBDIRFLAGS',
155c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$LDMODULEFLAGS',
156c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$SOURCES',
157c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--start-group',
158c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBFLAGS',
159c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--end-group']],
160c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             LIBPATH = ['$LIB_DIR'],
161c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             LINKCOM = [['$FLOCK_LINK',
162c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-o',
163c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$TARGET',
164c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBDIRFLAGS',
165c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$LINKFLAGS',
166c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$SOURCES',
167c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--start-group',
168c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBFLAGS',
169c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--end-group']],
170c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             SHLINKCOM = [['$FLOCK_SHLINK',
171c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-o',
172c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$TARGET',
173c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBDIRFLAGS',
174c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$SHLINKFLAGS',
175c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$SOURCES',
176c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--start-group',
177c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '$_LIBFLAGS',
178c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  '-Wl,--end-group']],
179c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        ),
180c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        'ImportExternal' : [
181c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'AS',
182c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CC',
183c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CXX',
184c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'LINK',
185c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        ],
186c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        'PropagateExternal' : [
187c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'AS',
188c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CC',
189c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CCACHE_DIR',
190c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CXX',
191c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'DISTCC_DIR',
192c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'DISTCC_HOSTS',
193c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'HOME',
194c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'INCLUDE_SERVER_ARGS',
195c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'INCLUDE_SERVER_PORT',
196c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'LINK',
197c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CHROME_BUILD_TYPE',
198c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'CHROMIUM_BUILD',
199c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             'OFFICIAL_BUILD',
200c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        ],
201c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    },
202c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott}
203c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
204c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottconfig = configurations[env['CONFIG_NAME']]
205c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottenv.Append(**config['Append'])
206c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottenv.FilterOut(**config['FilterOut'])
207c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottenv.Replace(**config['Replace'])
208c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
209c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott# Scons forces -fPIC for SHCCFLAGS on some platforms.
210c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott# Disable that so we can control it from cflags in gyp.
211c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott# Note that Scons itself is inconsistent with its -fPIC
212c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott# setting. SHCCFLAGS forces -fPIC, and SHCFLAGS does not.
213c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott# This will make SHCCFLAGS consistent with SHCFLAGS.
214c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottenv['SHCCFLAGS'] = ['$CCFLAGS']
215c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
216c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottfor _var in config['ImportExternal']:
217c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  if _var in ARGUMENTS:
218c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    env[_var] = ARGUMENTS[_var]
219c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  elif _var in os.environ:
220c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    env[_var] = os.environ[_var]
221c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottfor _var in config['PropagateExternal']:
222c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  if _var in ARGUMENTS:
223c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    env[_var] = ARGUMENTS[_var]
224c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  elif _var in os.environ:
225c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    env['ENV'][_var] = os.environ[_var]
226c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
227c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottenv['ENV']['LD_LIBRARY_PATH'] = env.subst('$LIB_DIR')
228c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
229c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottif ARGUMENTS.get('COVERAGE') not in (None, '0'):
230c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  env.AppendUnique(
231c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CCFLAGS = [
232c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fprofile-arcs',
233c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-ftest-coverage'
234c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
235c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            LINKFLAGS = [
236c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-fprofile-arcs'
237c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
238c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  )
239c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
240c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottif ARGUMENTS.get('PROFILE') not in (None, '0'):
241c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  env.AppendUnique(
242c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CCFLAGS = [
243c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-pg',
244c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-g'
245c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
246c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            LINKFLAGS = [
247c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-pg'
248c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
249c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  )
250c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
251c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottif ARGUMENTS.get('SYMBOLS') not in (None, '0'):
252c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  env.AppendUnique(
253c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            CCFLAGS = [
254c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott                '-g'
255c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott            ],
256c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  )
257c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
258c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottinput_files = [
259c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/bmpset.cpp',
260c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/brkeng.cpp',
261c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/brkiter.cpp',
262c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/bytestream.cpp',
263c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/caniter.cpp',
264c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/chariter.cpp',
265c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/cmemory.c',
266c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/cstring.c',
267c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/cwchar.c',
268c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/dictbe.cpp',
269c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/dtintrv.cpp',
270c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/errorcode.cpp',
271c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/locbased.cpp',
272c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/locid.cpp',
273c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/locmap.c',
274c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/locutil.cpp',
275c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/mutex.cpp',
276c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/normlzr.cpp',
277c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/parsepos.cpp',
278c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/propname.cpp',
279c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/propsvec.c',
280c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/punycode.c',
281c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/putil.c',
282c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/rbbi.cpp',
283c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/rbbidata.cpp',
284c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/rbbinode.cpp',
285c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/rbbirb.cpp',
286c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/rbbiscan.cpp',
287c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/rbbisetb.cpp',
288c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/rbbistbl.cpp',
289c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/rbbitblb.cpp',
290c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/resbund.cpp',
291c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/resbund_cnv.cpp',
292c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ruleiter.cpp',
293c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/schriter.cpp',
294c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/serv.cpp',
295c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/servlk.cpp',
296c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/servlkf.cpp',
297c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/servls.cpp',
298c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/servnotf.cpp',
299c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/servrbf.cpp',
300c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/servslkf.cpp',
301c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/stringpiece.cpp',
302c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/triedict.cpp',
303c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uarrsort.c',
304c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ubidi.c',
305c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ubidi_props.c',
306c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ubidiln.c',
307c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ubidiwrt.c',
308c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ubrk.cpp',
309c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucase.c',
310c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucasemap.c',
311c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucat.c',
312c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uchar.c',
313c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uchriter.cpp',
314c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucln_cmn.c',
315c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucmndata.c',
316c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv.c',
317c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv2022.c',
318c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_bld.c',
319c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_cb.c',
320c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_cnv.c',
321c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_err.c',
322c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_ext.c',
323c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_io.c',
324c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_lmb.c',
325c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_set.c',
326c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_u16.c',
327c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_u32.c',
328c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_u7.c',
329c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnv_u8.c',
330c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnvbocu.c',
331c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnvdisp.c',
332c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnvhz.c',
333c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnvisci.c',
334c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnvlat1.c',
335c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnvmbcs.c',
336c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnvscsu.c',
337c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucnvsel.cpp',
338c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ucol_swp.c',
339c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/udata.c',
340c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/udatamem.c',
341c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/udataswp.c',
342c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uenum.c',
343c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uhash.c',
344c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uhash_us.cpp',
345c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uidna.cpp',
346c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uinit.c',
347c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uinvchar.c',
348c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uiter.cpp',
349c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ulist.c',
350c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uloc.c',
351c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uloc_tag.c',
352c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/umapfile.c',
353c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/umath.c',
354c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/umutex.c',
355c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unames.c',
356c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unifilt.cpp',
357c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unifunct.cpp',
358c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uniset.cpp',
359c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uniset_props.cpp',
360c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unisetspan.cpp',
361c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unistr.cpp',
362c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unistr_case.cpp',
363c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unistr_cnv.cpp',
364c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unistr_props.cpp',
365c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unorm.cpp',
366c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unorm_it.c',
367c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/unormcmp.cpp',
368c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uobject.cpp',
369c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uprops.c',
370c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ures_cnv.c',
371c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uresbund.c',
372c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uresdata.c',
373c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/usc_impl.c',
374c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uscript.c',
375c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uset.cpp',
376c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uset_props.cpp',
377c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/usetiter.cpp',
378c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ushape.c',
379c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/usprep.cpp',
380c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ustack.cpp',
381c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ustr_cnv.c',
382c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ustr_wcs.c',
383c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ustrcase.c',
384c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ustrenum.cpp',
385c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ustrfmt.c',
386c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ustring.c',
387c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/ustrtrns.c',
388c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/utext.cpp',
389c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/utf_impl.c',
390c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/util.cpp',
391c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/util_props.cpp',
392c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/utrace.c',
393c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/utrie2_builder.c',
394c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/utrie2.c',
395c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/utrie.c',
396c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/utypes.c',
397c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uvector.cpp',
398c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/uvectr32.cpp',
399c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    'source/common/wintz.c',
400c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott]
401c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
402c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scotttarget_files = []
403c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottprerequisites = []
404c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
405c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott_result = []
406c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottfor infile in input_files:
407c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  if env.compilable(infile):
408c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    if (type(infile) == type('')
409c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        and (infile.startswith('$SRC_DIR/third_party/icu/')
410c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott             or not os.path.isabs(env.subst(infile)))):
411c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott      # Force files below the build directory by replacing all '..'
412c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott      # elements in the path with '__':
413c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott      base, ext = os.path.splitext(os.path.normpath(infile))
414c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott      base = [d == '..' and '__' or d for d in base.split('/')]
415c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott      base = os.path.join(*base)
416c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott      object = '${OBJ_DIR}/${COMPONENT_NAME}/${TARGET_NAME}/' + base
417c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott      if not infile.startswith('$SRC_DIR/third_party/icu/'):
418c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott        infile = '$SRC_DIR/third_party/icu/' + infile
419c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott      infile = env.StaticObject(object, infile)[0]
420c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott    else:
421c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott      infile = env.StaticObject(infile)[0]
422c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott  _result.append(infile)
423c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottinput_files = _result
424c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
425c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott_outputs = env.GypStaticLibrary('icuuc', input_files)
426c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scotttarget_files.extend(_outputs)
427c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott
428c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottgyp_target = env.Alias('icuuc', target_files)
429c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottenv.Requires(gyp_target, prerequisites)
430c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick ScottReturn("gyp_target")
431