Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(626)

Unified Diff: ppapi/BUILD.gn

Issue 1333673002: Build PPAPI NaCl Glibc tests with GN (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/BUILD.gn ('k') | ppapi/native_client/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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})",
+ ]
+ }
}
}
« no previous file with comments | « chrome/test/BUILD.gn ('k') | ppapi/native_client/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698