Enable swarming of base_unittests on linux gn bots.
[chromium-blink-merge.git] / third_party / liblouis / liblouis_nacl.gyp
blob924b5caf1d298d870b5e31c7909c07a3e060ff3d
1 # Copyright 2014 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.
6   'variables': {
7     'braille_test_data_dir': '<(PRODUCT_DIR)/chromevox_test_data/braille',
8     'braille_chromevox_dir': '<(PRODUCT_DIR)/resources/chromeos/chromevox/braille',
9     'table_files': [
10       '>!@pymod_do_main(liblouis_list_tables -D . -D src/tables -e cvox-common.cti tables.json)',
11     ],
12   },
13   # x86 targets build both 32 and 64 bit binaries by default.  We only need
14   # the one that matches our target architecture.
15   'target_defaults': {
16     'conditions': [
17       ['target_arch=="ia32"', {
18         'variables': {
19           'enable_x86_64': 0,
20         },
21       }],
22       ['target_arch=="x64"', {
23         'variables': {
24           'enable_x86_32': 0,
25         },
26       }],
27     ],
28   },
29   'includes': [
30     '../../build/common_untrusted.gypi',
31   ],
32   'conditions': [
33     ['disable_nacl==0 and disable_nacl_untrusted==0', {
34       'targets': [
35         {
36           'target_name': 'liblouis_nacl',
37           'type': 'none',
38           'variables': {
39             'nacl_untrusted_build': 1,
40             'nlib_target': 'liblouis_nacl.a',
41             'build_newlib': 1,
42           },
43           'compile_flags': [
44             # Needed for target_arch=mipsel
45             # src/liblouis/compileTranslationTable.c:1414
46             '-Wno-tautological-compare',
47             # Needed for target_arch=mipsel
48             # src/liblouis/logging.c:58
49             '-Wno-non-literal-null-conversion',
50           ],
51           'include_dirs': [
52             'overrides/liblouis',
53             'src/liblouis',
54             '.',
55             '../..',
56           ],
57           'direct_dependent_settings': {
58             'include_dirs': [
59               'overrides',
60             ],
61           },
62           'sources': [
63             'overrides/liblouis/config.h',
64             'overrides/liblouis/liblouis.h',
65             'src/liblouis/compileTranslationTable.c',
66             'src/liblouis/logging.c',
67             'src/liblouis/lou_backTranslateString.c',
68             'src/liblouis/lou_translateString.c',
69             'src/liblouis/transcommon.ci',
70             'src/liblouis/wrappers.c',
71           ],
72         },
73         {
74           'target_name': 'liblouis_nacl_wrapper_nacl',
75           'type': 'none',
76           'variables': {
77             'nacl_untrusted_build': 1,
78             'nexe_target': 'liblouis_nacl',
79             'out_newlib64': '<(braille_test_data_dir)/>(nexe_target)_x86_64.nexe',
80             'out_newlib32': '<(braille_test_data_dir)/>(nexe_target)_x86_32.nexe',
81             'out_newlib_arm': '<(braille_test_data_dir)/>(nexe_target)_arm.nexe',
82             'out_newlib_mips': '<(braille_test_data_dir)/>(nexe_target)_mips32.nexe',
83             'build_newlib': 1,
84             'extra_args': [
85               '--strip-debug',
86             ],
87             'nmf': '<(braille_test_data_dir)/>(nexe_target).nmf',
88             'target_conditions': [
89               ['enable_x86_64==1', {
90                 'nexe_files': ['>(out_newlib64)'],
91               }],
92               ['enable_x86_32==1', {
93                 'nexe_files': ['>(out_newlib32)'],
94               }],
95               ['enable_arm==1', {
96                 'nexe_files': ['>(out_newlib_arm)'],
97               }],
98               ['enable_mips==1', {
99                 'nexe_files': ['>(out_newlib_mips)'],
100               }],
101             ],
102           },
103           'sources': [
104             'nacl_wrapper/liblouis_instance.h',
105             'nacl_wrapper/liblouis_instance.cc',
106             'nacl_wrapper/liblouis_module.h',
107             'nacl_wrapper/liblouis_module.cc',
108             'nacl_wrapper/liblouis_wrapper.h',
109             'nacl_wrapper/liblouis_wrapper.cc',
110             'nacl_wrapper/translation_params.h',
111             'nacl_wrapper/translation_result.h',
112           ],
113           'link_flags': [
114             '-lppapi',
115             '-lppapi_cpp',
116             '-llouis_nacl',
117             '-ljsoncpp_nacl',
118             '-lpthread',
119             '-lnacl_io',
120           ],
121           'dependencies': [
122             '../../native_client/src/untrusted/nacl/nacl.gyp:nacl_lib',
123             '../../native_client_sdk/native_client_sdk_untrusted.gyp:nacl_io_untrusted',
124             '../../ppapi/native_client/native_client.gyp:ppapi_lib',
125             '../../ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
126             '../jsoncpp/jsoncpp_nacl.gyp:jsoncpp_nacl',
127             'liblouis_nacl',
128           ],
129           'actions': [
130             {
131               'action_name': 'Generate NEWLIB NMF',
132               'inputs': [
133                 '>@(nexe_files)',
134               ],
135               'outputs': ['>(nmf)'],
136               'action': [
137                 'python',
138                 '<(DEPTH)/native_client_sdk/src/tools/create_nmf.py',
139                 '>@(_inputs)',
140                 '--output=>(nmf)',
141                 '--no-default-libpath',
142                 '--objdump=>(nacl_glibc_tc_root)/bin/x86_64-nacl-objdump',
143               ],
144             },
145           ],
146           # Copy specific files into the product directory to avoid
147           # copying over the unstripped binary file.
148           'copies': [
149             {
150               'destination': '<(braille_chromevox_dir)',
151               'files': [
152                 '<(nmf)',
153                 '>@(nexe_files)',
154                 'tables.json',
155               ],
156             },
157             {
158               'destination': '<(braille_chromevox_dir)/tables',
159               'files': [
160                 '<@(table_files)',
161               ],
162             },
163           ],
164         },
165         {
166           'target_name': 'liblouis_test_data',
167           'type': 'none',
168           'variables': {
169             'test_extension_dir': '<(DEPTH)/chrome/test/data/chromeos/liblouis_nacl',
170           },
171           'dependencies': [
172             'liblouis_nacl_wrapper_nacl',
173           ],
174           'copies': [
175             {
176               'destination': '<(braille_test_data_dir)',
177               'files': [
178                 'tables.json',
179                 '<(test_extension_dir)/manifest.json',
180                 '<(test_extension_dir)/test.js',
181               ],
182             },
183             {
184               'destination': '<(braille_test_data_dir)/tables',
185               'files': [
186                 '<@(table_files)',
187               ],
188             },
189           ],
190         },
191       ],
192     }],
193   ],