summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbinji@chromium.org <binji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-19 21:05:23 +0000
committerbinji@chromium.org <binji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-19 21:05:23 +0000
commitc95658c1f125092be2ab561e8cc39eb05e80422b (patch)
tree7fea4f50dc73331ff233dfa5de9badcc756ad481
parent29cbf34e5d08b87fc3d9b382a391801fd68a121f (diff)
downloadchromium_src-c95658c1f125092be2ab561e8cc39eb05e80422b.zip
chromium_src-c95658c1f125092be2ab561e8cc39eb05e80422b.tar.gz
chromium_src-c95658c1f125092be2ab561e8cc39eb05e80422b.tar.bz2
Beginnings of moving more stuff from build_sdk.py to GYP.
Adds a new target to all.gyp: chromium_builder_nacl_sdk Adds a native_client_sdk gyp file: it depends on nacl_core_sdk from the native_client repo, but also builds and copies ppapi libraries to the toolchain directories. Retry of http://codereview.chromium.org/11363045/ This originally failed here: http://build.chromium.org/p/chromium/builders/Linux%20x64/builds/41342 With the following error: init.c:(.text+0x3c): undefined reference to `__libc_setup_tls' init.c:(.text+0x2e2): undefined reference to `_dl_init_static_tls' init.c:(.text+0x2ec): undefined reference to `_dl_wait_lookup_done' While building simple_glibc_x86_32.nexe. My change seems to have tickled a bug in nacl_browser_test.gypi which was using the link flag -lpthread instead of -pthread. Changing this seems to have fixed the link failure. BUG=none TBR=noelallen@chromium.org TBR=ncbray@chromium.org Review URL: https://codereview.chromium.org/11280063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168603 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--build/all.gyp15
-rw-r--r--chrome/test/data/nacl/nacl_browser_test.gypi2
-rw-r--r--native_client_sdk/src/build_tools/nacl_ppapi_sdk.gyp130
3 files changed, 146 insertions, 1 deletions
diff --git a/build/all.gyp b/build/all.gyp
index bcbb259..b2bc5c7 100644
--- a/build/all.gyp
+++ b/build/all.gyp
@@ -350,6 +350,21 @@
'../third_party/webrtc/tools/tools.gyp:rgba_to_i420_converter',
],
}, # target_name: chromium_builder_webrtc
+ {
+ 'target_name': 'chromium_builder_nacl_sdk',
+ 'type': 'none',
+ 'dependencies': [
+ '../chrome/chrome.gyp:chrome',
+ '../native_client_sdk/src/build_tools/nacl_ppapi_sdk.gyp:*',
+ ],
+ 'conditions': [
+ ['OS=="win"', {
+ 'dependencies': [
+ '../chrome/chrome.gyp:chrome_nacl_win64',
+ ],
+ }],
+ ],
+ }, # target_name: chromium_builder_nacl_sdk
], # targets
}],
['OS=="mac"', {
diff --git a/chrome/test/data/nacl/nacl_browser_test.gypi b/chrome/test/data/nacl/nacl_browser_test.gypi
index 557acc2..d4b36ea 100644
--- a/chrome/test/data/nacl/nacl_browser_test.gypi
+++ b/chrome/test/data/nacl/nacl_browser_test.gypi
@@ -71,7 +71,7 @@
'link_flags': [
'-lppapi_cpp',
'-lppapi',
- '-lpthread',
+ '-pthread',
],
},
'target_conditions': [
diff --git a/native_client_sdk/src/build_tools/nacl_ppapi_sdk.gyp b/native_client_sdk/src/build_tools/nacl_ppapi_sdk.gyp
new file mode 100644
index 0000000..29aa1ba
--- /dev/null
+++ b/native_client_sdk/src/build_tools/nacl_ppapi_sdk.gyp
@@ -0,0 +1,130 @@
+# Copyright (c) 2012 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.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'nacl_ppapi_sdk',
+ 'type': 'none',
+ 'dependencies': [
+ '../../../native_client/build/nacl_core_sdk.gyp:nacl_core_sdk',
+ '../../../ppapi/native_client/native_client.gyp:ppapi_lib',
+ '../../../ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:pnacl_irt_shim',
+ '../../../ppapi/ppapi_untrusted.gyp:ppapi_cpp_lib',
+ '../../../ppapi/ppapi_untrusted.gyp:ppapi_gles2_lib',
+ ],
+ 'conditions': [
+ ['target_arch!="arm"', {
+ 'copies': [
+ # Newlib headers
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/x86_64-nacl/include',
+ 'files': [
+ '../../../native_client/src/untrusted/irt/irt.h',
+ '../../../native_client/src/untrusted/irt/irt_ppapi.h',
+ '../../../native_client/src/untrusted/pthread/pthread.h',
+ '../../../native_client/src/untrusted/pthread/semaphore.h',
+ ],
+ },
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/x86_64-nacl/include/nacl',
+ 'files': [
+ '../../../native_client/src/untrusted/nacl/nacl_dyncode.h',
+ '../../../native_client/src/untrusted/nacl/nacl_startup.h',
+ '../../../native_client/src/untrusted/nacl/nacl_thread.h',
+ ],
+ },
+ # Glibc headers
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_glibc/x86_64-nacl/include',
+ 'files': [
+ '../../../native_client/src/untrusted/irt/irt.h',
+ '../../../native_client/src/untrusted/irt/irt_ppapi.h',
+ ],
+ },
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_glibc/x86_64-nacl/include/nacl',
+ 'files': [
+ '../../../native_client/src/untrusted/nacl/nacl_dyncode.h',
+ '../../../native_client/src/untrusted/nacl/nacl_startup.h',
+ '../../../native_client/src/untrusted/nacl/nacl_thread.h',
+ ],
+ },
+ # PNaCl Newlib headers
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_pnacl/newlib/sdk/include',
+ 'files': [
+ '../../../native_client/src/untrusted/irt/irt.h',
+ '../../../native_client/src/untrusted/irt/irt_ppapi.h',
+ '../../../native_client/src/untrusted/nacl/pnacl.h',
+ '../../../native_client/src/untrusted/pthread/pthread.h',
+ '../../../native_client/src/untrusted/pthread/semaphore.h',
+ ],
+ },
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_pnacl/newlib/sdk/include/nacl',
+ 'files': [
+ '../../../native_client/src/untrusted/nacl/nacl_dyncode.h',
+ '../../../native_client/src/untrusted/nacl/nacl_startup.h',
+ '../../../native_client/src/untrusted/nacl/nacl_thread.h',
+ ],
+ },
+ # Newlib libs
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/x86_64-nacl/lib32',
+ 'files': [
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppapi.a',
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppapi_cpp.a',
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppapi_gles2.a',
+ ],
+ },
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/x86_64-nacl/lib',
+ 'files': [
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi.a',
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi_cpp.a',
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi_gles2.a',
+ ],
+ },
+ # Glibc libs
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_glibc/x86_64-nacl/lib32',
+ 'files': [
+ '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib32/libppapi.a',
+ '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib32/libppapi_cpp.a',
+ '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib32/libppapi_gles2.a',
+ ],
+ },
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_glibc/x86_64-nacl/lib',
+ 'files': [
+ '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib64/libppapi.a',
+ '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib64/libppapi_cpp.a',
+ '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib64/libppapi_gles2.a',
+ ],
+ },
+ # PNaCl IRT shim
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_pnacl/lib-x86-64',
+ 'files': [
+ '<(PRODUCT_DIR)/libpnacl_irt_shim.a',
+ ],
+ },
+ ],
+ }],
+ ['target_arch=="arm"', {
+ 'copies': [
+ {
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_pnacl/lib-arm',
+ 'files': [
+ '<(PRODUCT_DIR)/libpnacl_irt_shim.a',
+ ],
+ },
+ ],
+ }],
+ ],
+ },
+ ],
+}
+