mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-28 08:16:09 +03:00
203 lines
5.5 KiB
Plaintext
203 lines
5.5 KiB
Plaintext
# Copyright 2015 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import("//build/config/nacl/config.gni")
|
|
import("//build/config/nacl/rules.gni")
|
|
|
|
if (current_toolchain == default_toolchain) {
|
|
chromevox_test_data_dir = "$root_build_dir/chromevox_test_data/braille"
|
|
|
|
# Build Liblouis library
|
|
#
|
|
# This target is used to build and assemble Liblouis braille translator
|
|
# including Native Client executable, manifest and translation tables.
|
|
#
|
|
# Variables:
|
|
# dest_dir: destination path for all translator files
|
|
# deps: private linked dependencies
|
|
# testonly: a target must only be used for testing
|
|
template("liblouis_library") {
|
|
assert(defined(invoker.dest_dir), "Must define dest_dir")
|
|
forward_variables_from(invoker, [ "dest_dir" ])
|
|
|
|
tables_target_name = "${target_name}_tables"
|
|
tables_json_target_name = "${target_name}_tables_json"
|
|
nexe_target_name = "${target_name}_nexe"
|
|
nmf_target_name = "${target_name}_nmf"
|
|
final_target_name = target_name
|
|
|
|
action(tables_target_name) {
|
|
forward_variables_from(invoker, [ "testonly" ])
|
|
visibility = [ ":$final_target_name" ]
|
|
script = "copy_tables.py"
|
|
inputs = [
|
|
"liblouis_list_tables.py",
|
|
]
|
|
depfile = "$target_gen_dir/$target_name.d"
|
|
sources = [
|
|
"tables.json",
|
|
]
|
|
outputs = [
|
|
"$depfile.stamp",
|
|
]
|
|
args = [
|
|
"-D",
|
|
rebase_path(".", root_build_dir),
|
|
"-D",
|
|
rebase_path("src/tables", root_build_dir),
|
|
"-d",
|
|
rebase_path("$dest_dir/tables", root_build_dir),
|
|
"-e",
|
|
"cvox-common.cti",
|
|
"--depfile",
|
|
rebase_path(depfile, root_build_dir),
|
|
] + rebase_path(sources, root_build_dir)
|
|
}
|
|
|
|
copy(tables_json_target_name) {
|
|
forward_variables_from(invoker, [ "testonly" ])
|
|
visibility = [ ":$final_target_name" ]
|
|
sources = [
|
|
"tables.json",
|
|
]
|
|
outputs = [
|
|
"$dest_dir/{{source_file_part}}",
|
|
]
|
|
}
|
|
|
|
copy(nexe_target_name) {
|
|
forward_variables_from(invoker, [ "testonly" ])
|
|
visibility = [
|
|
":$final_target_name",
|
|
":$nmf_target_name",
|
|
]
|
|
nacl_wrapper = "liblouis_nacl_wrapper(//build/toolchain/nacl:clang_newlib_${target_cpu})"
|
|
path = get_label_info(":$nacl_wrapper", "root_out_dir")
|
|
sources = [
|
|
"${path}/liblouis_nacl.nexe",
|
|
]
|
|
|
|
if (current_cpu == "x86") {
|
|
nmf_cpu = "x86_32"
|
|
} else if (current_cpu == "x64") {
|
|
nmf_cpu = "x86_64"
|
|
} else {
|
|
nmf_cpu = current_cpu
|
|
}
|
|
outputs = [
|
|
"$dest_dir/{{source_name_part}}_${nmf_cpu}.nexe",
|
|
]
|
|
deps = [
|
|
":$nacl_wrapper",
|
|
]
|
|
}
|
|
|
|
generate_nmf(nmf_target_name) {
|
|
forward_variables_from(invoker, [ "testonly" ])
|
|
visibility = [ ":$final_target_name" ]
|
|
executables = get_target_outputs(":$nexe_target_name")
|
|
nmf = "$dest_dir/liblouis_nacl.nmf"
|
|
deps = [
|
|
":$nexe_target_name",
|
|
]
|
|
}
|
|
|
|
group(target_name) {
|
|
forward_variables_from(invoker, [ "testonly" ])
|
|
deps = [
|
|
":$nexe_target_name",
|
|
":$nmf_target_name",
|
|
":$tables_json_target_name",
|
|
":$tables_target_name",
|
|
]
|
|
if (defined(invoker.deps)) {
|
|
deps += invoker.deps
|
|
}
|
|
}
|
|
}
|
|
|
|
liblouis_library("liblouis") {
|
|
dest_dir = "$root_build_dir/resources/chromeos/chromevox/braille"
|
|
}
|
|
|
|
liblouis_library("liblouis_test_data") {
|
|
testonly = true
|
|
dest_dir = chromevox_test_data_dir
|
|
deps = [
|
|
":liblouis_test_files",
|
|
]
|
|
}
|
|
|
|
copy("liblouis_test_files") {
|
|
visibility = [ ":liblouis_test_data" ]
|
|
testonly = true
|
|
sources = [
|
|
"//chrome/test/data/chromeos/liblouis_nacl/manifest.json",
|
|
"//chrome/test/data/chromeos/liblouis_nacl/test.js",
|
|
]
|
|
outputs = [
|
|
"${chromevox_test_data_dir}/{{source_file_part}}",
|
|
]
|
|
}
|
|
}
|
|
|
|
if (is_nacl) {
|
|
config("liblouis_nacl_config") {
|
|
cflags = [
|
|
"-Wno-sign-compare",
|
|
|
|
# Needed for target_arch=mipsel
|
|
# src/liblouis/compileTranslationTable.c:1414
|
|
"-Wno-tautological-compare",
|
|
|
|
# Needed for target_arch=mipsel
|
|
# src/liblouis/logging.c:58
|
|
"-Wno-non-literal-null-conversion",
|
|
]
|
|
}
|
|
|
|
source_set("liblouis_nacl") {
|
|
visibility = [ ":liblouis_nacl_wrapper" ]
|
|
sources = [
|
|
"overrides/liblouis/config.h",
|
|
"overrides/liblouis/liblouis.h",
|
|
"src/liblouis/compileTranslationTable.c",
|
|
"src/liblouis/logging.c",
|
|
"src/liblouis/lou_backTranslateString.c",
|
|
"src/liblouis/lou_translateString.c",
|
|
"src/liblouis/transcommon.ci",
|
|
"src/liblouis/wrappers.c",
|
|
]
|
|
include_dirs = [
|
|
"overrides/liblouis",
|
|
"src/liblouis",
|
|
".",
|
|
"../..",
|
|
]
|
|
configs += [ ":liblouis_nacl_config" ]
|
|
}
|
|
|
|
executable("liblouis_nacl_wrapper") {
|
|
visibility = [ ":*" ]
|
|
output_name = "liblouis_nacl"
|
|
sources = [
|
|
"nacl_wrapper/liblouis_instance.cc",
|
|
"nacl_wrapper/liblouis_instance.h",
|
|
"nacl_wrapper/liblouis_module.cc",
|
|
"nacl_wrapper/liblouis_module.h",
|
|
"nacl_wrapper/liblouis_wrapper.cc",
|
|
"nacl_wrapper/liblouis_wrapper.h",
|
|
"nacl_wrapper/translation_params.h",
|
|
"nacl_wrapper/translation_result.h",
|
|
]
|
|
deps = [
|
|
":liblouis_nacl",
|
|
"//native_client_sdk/src/libraries/nacl_io",
|
|
"//ppapi/cpp",
|
|
"//ppapi/native_client:ppapi_lib",
|
|
"//third_party/jsoncpp",
|
|
]
|
|
}
|
|
}
|