Restore whitelist flag in grit input/output
[chromium-blink-merge.git] / third_party / liblouis / liblouis_nacl.gyp
blob82336b86ef0cd8be5fdca74e9f91815b1da5097d
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             '-Wno-switch',
45             '-Wno-unused-but-set-variable',
46           ],
47           'include_dirs': [
48             'overrides/liblouis',
49             'src/liblouis',
50             '.',
51             '../..',
52           ],
53           'direct_dependent_settings': {
54             'include_dirs': [
55               'overrides',
56             ],
57           },
58           'sources': [
59             'overrides/liblouis/config.h',
60             'overrides/liblouis/liblouis.h',
61             'src/liblouis/compileTranslationTable.c',
62             'src/liblouis/logging.c',
63             'src/liblouis/lou_backTranslateString.c',
64             'src/liblouis/lou_translateString.c',
65             'src/liblouis/transcommon.ci',
66             'src/liblouis/wrappers.c',
67           ],
68           'dependencies': [
69             '../../native_client/tools.gyp:prep_toolchain',
70           ],
71         },
72         {
73           'target_name': 'liblouis_nacl_wrapper_nacl',
74           'type': 'none',
75           'variables': {
76             'nacl_untrusted_build': 1,
77             'nexe_target': 'liblouis_nacl',
78             'out_newlib64': '<(braille_test_data_dir)/>(nexe_target)_x86_64.nexe',
79             'out_newlib32': '<(braille_test_data_dir)/>(nexe_target)_x86_32.nexe',
80             'out_newlib_arm': '<(braille_test_data_dir)/>(nexe_target)_arm.nexe',
81             'out_newlib_mips': '<(braille_test_data_dir)/>(nexe_target)_mips32.nexe',
82             'build_newlib': 1,
83             'extra_args': [
84               '--strip-debug',
85             ],
86             'nmf': '<(braille_test_data_dir)/>(nexe_target).nmf',
87             'target_conditions': [
88               ['enable_x86_64==1', {
89                 'nexe_files': ['>(out_newlib64)'],
90               }],
91               ['enable_x86_32==1', {
92                 'nexe_files': ['>(out_newlib32)'],
93               }],
94               ['enable_arm==1', {
95                 'nexe_files': ['>(out_newlib_arm)'],
96               }],
97               ['enable_mips==1', {
98                 'nexe_files': ['>(out_newlib_mips)'],
99               }],
100             ],
101           },
102           'sources': [
103             'nacl_wrapper/liblouis_instance.h',
104             'nacl_wrapper/liblouis_instance.cc',
105             'nacl_wrapper/liblouis_module.h',
106             'nacl_wrapper/liblouis_module.cc',
107             'nacl_wrapper/liblouis_wrapper.h',
108             'nacl_wrapper/liblouis_wrapper.cc',
109             'nacl_wrapper/translation_params.h',
110             'nacl_wrapper/translation_result.h',
111           ],
112           'link_flags': [
113             '-lppapi',
114             '-lppapi_cpp',
115             '-llouis_nacl',
116             '-ljsoncpp_nacl',
117             '-lpthread',
118             '-lnacl_io',
119           ],
120           'dependencies': [
121             '../../native_client/src/untrusted/nacl/nacl.gyp:nacl_lib',
122             '../../native_client/tools.gyp:prep_toolchain',
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               ],
142             },
143           ],
144           # Copy specific files into the product directory to avoid
145           # copying over the unstripped binary file.
146           'copies': [
147             {
148               'destination': '<(braille_chromevox_dir)',
149               'files': [
150                 '<(nmf)',
151                 '>@(nexe_files)',
152                 'tables.json',
153               ],
154             },
155             {
156               'destination': '<(braille_chromevox_dir)/tables',
157               'files': [
158                 '<@(table_files)',
159               ],
160             },
161           ],
162         },
163         {
164           'target_name': 'liblouis_test_data',
165           'type': 'none',
166           'variables': {
167             'test_extension_dir': '<(DEPTH)/chrome/test/data/chromeos/liblouis_nacl',
168           },
169           'dependencies': [
170             'liblouis_nacl_wrapper_nacl',
171           ],
172           'copies': [
173             {
174               'destination': '<(braille_test_data_dir)',
175               'files': [
176                 'tables.json',
177                 '<(test_extension_dir)/manifest.json',
178                 '<(test_extension_dir)/test.js',
179               ],
180             },
181             {
182               'destination': '<(braille_test_data_dir)/tables',
183               'files': [
184                 '<@(table_files)',
185               ],
186             },
187           ],
188         },
189       ],
190     }],
191   ],