| Index: ppapi/BUILD.gn
|
| diff --git a/ppapi/BUILD.gn b/ppapi/BUILD.gn
|
| index 926630d039efd9663eb6e096dfb58da36353912c..dc3f2e2f345b7501e0c182770d63585520ea906a 100644
|
| --- a/ppapi/BUILD.gn
|
| +++ b/ppapi/BUILD.gn
|
| @@ -28,6 +28,7 @@ copy("copy_test_files2") {
|
| }
|
|
|
| import("//build/config/features.gni")
|
| +import("//build/config/nacl/config.gni")
|
| import("//ppapi/ppapi_sources.gni")
|
| import("//testing/test.gni")
|
|
|
| @@ -150,6 +151,9 @@ source_set("ppapi_cpp_lib") {
|
| "cpp/module_embedder.h",
|
| "cpp/ppp_entrypoints.cc",
|
| ]
|
| + deps = [
|
| + "//build/config/nacl:nacl_base",
|
| + ]
|
| }
|
|
|
| source_set("ppapi_gles2_lib") {
|
| @@ -166,39 +170,118 @@ source_set("ppapi_gles2_lib") {
|
|
|
| if (enable_nacl) {
|
| if (is_nacl) {
|
| - executable("ppapi_nacl_tests_newlib") {
|
| - include_dirs = [
|
| - "lib/gl/include",
|
| - "..",
|
| + shared_library("ppapi_cpp_lib_shared") {
|
| + # When using gcc, we hide all symbols by default, but that breaks at
|
| + # link time as the test executable requires symbols defined in the
|
| + # shared library.
|
| + if (is_nacl_glibc) {
|
| + configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
|
| + }
|
| +
|
| + sources = ppapi_sources.cpp_source_files
|
| + sources += [
|
| + "cpp/module_embedder.h",
|
| + "cpp/ppp_entrypoints.cc",
|
| + ]
|
| + cflags = [ "-fPIC" ]
|
| + deps = [
|
| + "//build/config/nacl:nacl_base",
|
| ]
|
| + }
|
|
|
| + executable("ppapi_nacl_tests") {
|
| + include_dirs = [ "lib/gl/include" ]
|
| sources = ppapi_sources.test_common_source_files +
|
| ppapi_sources.test_nacl_source_files
|
| -
|
| - defines = [ "GL_GLEXT_PROTOTYPES" ]
|
| -
|
| + defines = [
|
| + "GL_GLEXT_PROTOTYPES",
|
| + "PPAPI_TEST_IMPLEMENTATION",
|
| + ]
|
| + ldflags = [ "-pthread" ]
|
| deps = [
|
| - ":ppapi_cpp_lib",
|
| + "//build/config/nacl:nacl_base",
|
| "//ppapi/native_client:ppapi_lib",
|
| ]
|
| + if (is_nacl_glibc) {
|
| + deps += [ ":ppapi_cpp_lib_shared" ]
|
| + } else {
|
| + deps += [ ":ppapi_cpp_lib" ]
|
| + }
|
| }
|
|
|
| copy("nacl_tests_copy") {
|
| sources = [
|
| - "${root_out_dir}/ppapi_nacl_tests_newlib.nexe",
|
| + "${root_out_dir}/ppapi_nacl_tests.nexe",
|
| ]
|
| + if (is_nacl_glibc) {
|
| + suffix = "glibc"
|
| + } else {
|
| + suffix = "newlib"
|
| + }
|
| outputs = [
|
| - "${root_build_dir}/{{source_name_part}}_${target_cpu}.nexe",
|
| + "${root_build_dir}/{{source_name_part}}_${suffix}_${target_cpu}.nexe",
|
| ]
|
| deps = [
|
| - ":ppapi_nacl_tests_newlib",
|
| + ":ppapi_nacl_tests",
|
| ]
|
| }
|
| +
|
| + action("generate_nmf") {
|
| + nacl_toolchain_dir = rebase_path("//native_client/toolchain")
|
| + os_toolchain_dir = "${nacl_toolchain_dir}/${host_os}_x86"
|
| + if (is_nacl_glibc) {
|
| + toolchain_dir = "${os_toolchain_dir}/nacl_x86_glibc"
|
| + nmf = "${root_build_dir}/ppapi_nacl_tests_glibc.nmf"
|
| + } else {
|
| + toolchain_dir = "${os_toolchain_dir}/nacl_x86_newlib"
|
| + nmf = "${root_build_dir}/ppapi_nacl_tests_newlib.nmf"
|
| + }
|
| + script = "//native_client_sdk/src/tools/create_nmf.py"
|
| + sources = get_target_outputs(":nacl_tests_copy")
|
| + outputs = [
|
| + nmf,
|
| + ]
|
| + nmf_flags = []
|
| + if (is_nacl_glibc) {
|
| + nmf_flags += [ "--library-path=" + rebase_path(root_out_dir) ]
|
| + if (current_cpu == "x86") {
|
| + nmf_flags += [ "--library-path=" +
|
| + rebase_path("${toolchain_dir}/x86_64-nacl/lib32",
|
| + root_build_dir) ]
|
| + data = [
|
| + "$root_build_dir/lib32/",
|
| + ]
|
| + }
|
| + if (target_cpu == "x64" || (target_cpu == "x86" && is_win)) {
|
| + nmf_flags += [ "--library-path=" +
|
| + rebase_path("${toolchain_dir}/x86_64-nacl/lib",
|
| + root_build_dir) ]
|
| + data = [
|
| + "$root_build_dir/lib64/",
|
| + ]
|
| + }
|
| + }
|
| + args = [
|
| + "--no-default-libpath",
|
| + "--objdump=${toolchain_dir}/bin/x86_64-nacl-objdump",
|
| + "--output=" + rebase_path(nmf, root_build_dir),
|
| + "--stage-dependencies=" + rebase_path(root_build_dir),
|
| + ] + nmf_flags + rebase_path(sources, root_build_dir)
|
| + deps = [
|
| + ":nacl_tests_copy",
|
| + ]
|
| + data_deps = [ ":nacl_tests_copy" ]
|
| + }
|
| }
|
|
|
| - group("ppapi_nacl_tests") {
|
| - deps = [
|
| - ":nacl_tests_copy(//build/toolchain/nacl:clang_newlib_${target_cpu})",
|
| - ]
|
| + group("ppapi_nacl_tests_all") {
|
| + data_deps = []
|
| + if (target_cpu == "x86" || target_cpu == "x64") {
|
| + data_deps += [
|
| + ":copy_test_files",
|
| + ":nacl_tests_copy(//build/toolchain/nacl:clang_newlib_${target_cpu})",
|
| + ":generate_nmf(//build/toolchain/nacl:glibc_${target_cpu})",
|
| + ]
|
| + }
|
| }
|
| }
|
|
|