Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / instrumented_libraries / instrumented_libraries.gyp
1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 {
6   # Default value for all libraries.
7   'custom_configure_flags': '',
8   'custom_c_compiler_flags': '',
9   'custom_cxx_compiler_flags': '',
10   'custom_linker_flags': '',
11   'run_before_build': '',
12
13   'variables': {
14     'verbose_libraries_build%': 0,
15   },
16   'conditions': [
17     ['asan==1', {
18       'sanitizer_type': 'asan',
19     }],
20     ['msan==1', {
21       'sanitizer_type': 'msan',
22     }],
23     ['verbose_libraries_build==1', {
24       'verbose_libraries_build_flag': '--verbose',
25     }, {
26       'verbose_libraries_build_flag': '',
27     }],
28     ['use_goma==1', {
29       'cc': '<(gomadir)/gomacc <!(cd <(DEPTH) && pwd -P)/<(make_clang_dir)/bin/clang',
30       'cxx': '<(gomadir)/gomacc <!(cd <(DEPTH) && pwd -P)/<(make_clang_dir)/bin/clang++',
31     }, {
32       'cc': '<!(cd <(DEPTH) && pwd -P)/<(make_clang_dir)/bin/clang',
33       'cxx': '<!(cd <(DEPTH) && pwd -P)/<(make_clang_dir)/bin/clang++',
34     }],
35   ],
36   'targets': [
37     {
38       'target_name': 'instrumented_libraries',
39       'type': 'none',
40       'variables': {
41         'prune_self_dependency': 1,
42       },
43       'dependencies': [
44         '<(_sanitizer_type)-libcairo2',
45         '<(_sanitizer_type)-libexpat1',
46         '<(_sanitizer_type)-libffi6',
47         '<(_sanitizer_type)-libgcrypt11',
48         '<(_sanitizer_type)-libgpg-error0',
49         '<(_sanitizer_type)-libnspr4',
50         '<(_sanitizer_type)-libp11-kit0',
51         '<(_sanitizer_type)-libpcre3',
52         '<(_sanitizer_type)-libpng12-0',
53         '<(_sanitizer_type)-libx11-6',
54         '<(_sanitizer_type)-libxau6',
55         '<(_sanitizer_type)-libxcb1',
56         '<(_sanitizer_type)-libxcomposite1',
57         '<(_sanitizer_type)-libxcursor1',
58         '<(_sanitizer_type)-libxdamage1',
59         '<(_sanitizer_type)-libxdmcp6',
60         '<(_sanitizer_type)-libxext6',
61         '<(_sanitizer_type)-libxfixes3',
62         '<(_sanitizer_type)-libxi6',
63         '<(_sanitizer_type)-libxinerama1',
64         '<(_sanitizer_type)-libxrandr2',
65         '<(_sanitizer_type)-libxrender1',
66         '<(_sanitizer_type)-libxss1',
67         '<(_sanitizer_type)-libxtst6',
68         '<(_sanitizer_type)-zlib1g',
69         '<(_sanitizer_type)-libglib2.0-0',
70         '<(_sanitizer_type)-libdbus-1-3',
71         '<(_sanitizer_type)-libdbus-glib-1-2',
72         '<(_sanitizer_type)-nss',
73         '<(_sanitizer_type)-libfontconfig1',
74         '<(_sanitizer_type)-pulseaudio',
75         '<(_sanitizer_type)-libasound2',
76         '<(_sanitizer_type)-libcups2',
77         '<(_sanitizer_type)-pango1.0',
78         '<(_sanitizer_type)-libcap2',
79         '<(_sanitizer_type)-libudev0',
80         '<(_sanitizer_type)-libtasn1-3',
81       ],
82       'conditions': [
83         ['asan==1', {
84           'dependencies': [
85             '<(_sanitizer_type)-libpixman-1-0',
86           ],
87         }],
88       ],
89       'actions': [
90         {
91           'action_name': 'fix_rpaths',
92           'inputs': [
93             'fix_rpaths.sh',
94           ],
95           'outputs': [
96             '<(PRODUCT_DIR)/instrumented_libraries/<(_sanitizer_type)/rpaths.fixed.txt',
97           ],
98           'action': [
99             '<(DEPTH)/third_party/instrumented_libraries/fix_rpaths.sh',
100             '<(PRODUCT_DIR)/instrumented_libraries/<(_sanitizer_type)'
101           ],
102         },
103       ],
104     },
105     {
106       'library_name': 'freetype',
107       'dependencies=': [],
108       'custom_configure_flags': '',
109       'run_before_build': 'freetype.sh',
110       'includes': ['standard_instrumented_library_target.gypi'],
111     },
112     {
113       'library_name': 'libcairo2',
114       'dependencies=': [],
115       'custom_configure_flags': '--disable-gtk-doc',
116       'includes': ['standard_instrumented_library_target.gypi'],
117     },
118     {
119       'library_name': 'libdbus-1-3',
120       'dependencies=': [
121         '<(_sanitizer_type)-libglib2.0-0',
122       ],
123       'includes': ['standard_instrumented_library_target.gypi'],
124     },
125     {
126       'library_name': 'libdbus-glib-1-2',
127       'dependencies=': [
128         '<(_sanitizer_type)-libglib2.0-0',
129       ],
130       'includes': ['standard_instrumented_library_target.gypi'],
131     },
132     {
133       'library_name': 'libexpat1',
134       'dependencies=': [],
135       'includes': ['standard_instrumented_library_target.gypi'],
136     },
137     {
138       'library_name': 'libffi6',
139       'dependencies=': [],
140       'includes': ['standard_instrumented_library_target.gypi'],
141     },
142     {
143       'library_name': 'libfontconfig1',
144       'dependencies=': [
145         '<(_sanitizer_type)-freetype',
146       ],
147       'custom_configure_flags': '--disable-docs',
148       'run_before_build': 'libfontconfig.sh',
149       'includes': ['standard_instrumented_library_target.gypi'],
150     },
151     {
152       'library_name': 'libgcrypt11',
153       'dependencies=': [],
154       'custom_linker_flags': '-Wl,-z,muldefs',
155       'includes': ['standard_instrumented_library_target.gypi'],
156     },
157     {
158       'library_name': 'libglib2.0-0',
159       'dependencies=': [],
160       'custom_configure_flags': [
161         '--disable-gtk-doc',
162         '--disable-gtk-doc-html',
163         '--disable-gtk-doc-pdf',
164       ],
165       'includes': ['standard_instrumented_library_target.gypi'],
166     },
167     {
168       'library_name': 'libgpg-error0',
169       'dependencies=': [],
170       'includes': ['standard_instrumented_library_target.gypi'],
171     },
172     {
173       'library_name': 'libnspr4',
174       'dependencies=': [],
175       'custom_configure_flags': '--enable-64bit',
176       'run_before_build': 'libnspr4.sh',
177       'includes': ['standard_instrumented_library_target.gypi'],
178     },
179     {
180       'library_name': 'libp11-kit0',
181       'dependencies=': [],
182       'includes': ['standard_instrumented_library_target.gypi'],
183     },
184     {
185       'library_name': 'libpcre3',
186       'dependencies=': [],
187       'custom_configure_flags': [
188         '--enable-utf8',
189         '--enable-unicode-properties',
190       ],
191       'includes': ['standard_instrumented_library_target.gypi'],
192     },
193     {
194       'library_name': 'libpixman-1-0',
195       'dependencies=': [
196         '<(_sanitizer_type)-libglib2.0-0',
197       ],
198       'includes': ['standard_instrumented_library_target.gypi'],
199     },
200     {
201       'library_name': 'libpng12-0',
202       'dependencies=': [],
203       'includes': ['standard_instrumented_library_target.gypi'],
204     },
205     {
206       'library_name': 'libx11-6',
207       'dependencies=': [],
208       'custom_configure_flags': '--disable-specs',
209       'includes': ['standard_instrumented_library_target.gypi'],
210     },
211     {
212       'library_name': 'libxau6',
213       'dependencies=': [],
214       'includes': ['standard_instrumented_library_target.gypi'],
215     },
216     {
217       'library_name': 'libxcb1',
218       'dependencies=': [],
219       'custom_configure_flags': '--disable-build-docs',
220       'includes': ['standard_instrumented_library_target.gypi'],
221     },
222     {
223       'library_name': 'libxcomposite1',
224       'dependencies=': [],
225       'includes': ['standard_instrumented_library_target.gypi'],
226     },
227     {
228       'library_name': 'libxcursor1',
229       'dependencies=': [],
230       'includes': ['standard_instrumented_library_target.gypi'],
231     },
232     {
233       'library_name': 'libxdamage1',
234       'dependencies=': [],
235       'includes': ['standard_instrumented_library_target.gypi'],
236     },
237     {
238       'library_name': 'libxdmcp6',
239       'dependencies=': [],
240       'custom_configure_flags': '--disable-docs',
241       'includes': ['standard_instrumented_library_target.gypi'],
242     },
243     {
244       'library_name': 'libxext6',
245       'dependencies=': [],
246       'custom_configure_flags': '--disable-specs',
247       'includes': ['standard_instrumented_library_target.gypi'],
248     },
249     {
250       'library_name': 'libxfixes3',
251       'dependencies=': [],
252       'includes': ['standard_instrumented_library_target.gypi'],
253     },
254     {
255       'library_name': 'libxi6',
256       'dependencies=': [],
257       'custom_configure_flags': [
258         '--disable-specs',
259         '--disable-docs',
260       ],
261       'includes': ['standard_instrumented_library_target.gypi'],
262     },
263     {
264       'library_name': 'libxinerama1',
265       'dependencies=': [],
266       'includes': ['standard_instrumented_library_target.gypi'],
267     },
268     {
269       'library_name': 'libxrandr2',
270       'dependencies=': [],
271       'includes': ['standard_instrumented_library_target.gypi'],
272     },
273     {
274       'library_name': 'libxrender1',
275       'dependencies=': [],
276       'includes': ['standard_instrumented_library_target.gypi'],
277     },
278     {
279       'library_name': 'libxss1',
280       'dependencies=': [],
281       'includes': ['standard_instrumented_library_target.gypi'],
282     },
283     {
284       'library_name': 'libxtst6',
285       'dependencies=': [],
286       'custom_configure_flags': '--disable-specs',
287       'includes': ['standard_instrumented_library_target.gypi'],
288     },
289     {
290       'library_name': 'zlib1g',
291       'dependencies=': [],
292       'includes': ['standard_instrumented_library_target.gypi'],
293     },
294     {
295       'library_name': 'nss',
296       'dependencies=': [
297         '<(_sanitizer_type)-libnspr4',
298       ],
299       'run_before_build': 'nss.sh',
300       'includes': ['standard_instrumented_library_target.gypi'],
301     },
302     {
303       'library_name': 'pulseaudio',
304       'dependencies=': [],
305       'run_before_build': 'pulseaudio.sh',
306       'custom_configure_flags': '--with-udev-rules-dir=<(INTERMEDIATE_DIR)/udev/rules.d',
307       'includes': ['standard_instrumented_library_target.gypi'],
308     },
309     {
310       'library_name': 'libasound2',
311       'dependencies=': [],
312       'run_before_build': 'libasound2.sh',
313       'includes': ['standard_instrumented_library_target.gypi'],
314     },
315     {
316       'library_name': 'libcups2',
317       'dependencies=': [],
318       'run_before_build': 'libcups2.sh',
319       'custom_configure_flags': [
320         # Do not touch system-wide directories.
321         '--with-rcdir=no',
322         '--with-xinetd=no',
323         '--with-dbusdir=no',
324         '--with-menudir=no',
325         '--with-icondir=no',
326         '--with-docdir=no'
327       ],
328       'includes': ['standard_instrumented_library_target.gypi'],
329     },
330     {
331       'library_name': 'pango1.0',
332       'dependencies=': [
333         '<(_sanitizer_type)-libglib2.0-0',
334       ],
335       'custom_configure_flags': [
336         # Avoid https://bugs.gentoo.org/show_bug.cgi?id=425620
337         '--enable-introspection=no',
338         # More flags are set in download_build_install.py.
339       ],
340       'includes': ['standard_instrumented_library_target.gypi'],
341     },
342     {
343       'library_name': 'libcap2',
344       'dependencies=': [],
345       'includes': ['standard_instrumented_library_target.gypi'],
346     },
347     {
348       'library_name': 'libudev0',
349       'dependencies=': [],
350       'custom_configure_flags': [
351           # Without this flag there's a linking step that doesn't honor LDFLAGS
352           # and fails.
353           # TODO(earthdok): find a better fix.
354           '--disable-gudev'
355       ],
356       'includes': ['standard_instrumented_library_target.gypi'],
357     },
358     {
359       'library_name': 'libtasn1-3',
360       'dependencies=': [],
361       'includes': ['standard_instrumented_library_target.gypi'],
362     },
363   ],
364 }