| OLD | NEW |
| 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 # This GYP file defines untrusted (NaCl) targets. All targets in this | 5 # This GYP file defines untrusted (NaCl) targets. All targets in this |
| 6 # file should be conditionally depended upon via 'disable_nacl!=1' to avoid | 6 # file should be conditionally depended upon via 'disable_nacl!=1' to avoid |
| 7 # requiring NaCl sources for building. | 7 # requiring NaCl sources for building. |
| 8 | 8 |
| 9 { | 9 { |
| 10 'includes': [ | 10 'includes': [ |
| 11 '../native_client/build/untrusted.gypi', | 11 '../native_client/build/untrusted.gypi', |
| 12 'ppapi_sources.gypi', | 12 'ppapi_sources.gypi', |
| 13 ], | 13 ], |
| 14 'targets': [ | 14 'targets': [ |
| 15 { | 15 { |
| 16 'target_name': 'ppapi_cpp_lib', | 16 'target_name': 'ppapi_cpp_lib', |
| 17 'type': 'none', | 17 'type': 'none', |
| 18 'variables': { | 18 'variables': { |
| 19 'nlib_target': 'libppapi_cpp.a', | 19 'nlib_target': 'libppapi_cpp.a', |
| 20 'build_glibc': 0, | 20 'build_glibc': 1, |
| 21 'build_newlib': 1, | 21 'build_newlib': 1, |
| 22 'sources': [ | 22 'sources': [ |
| 23 '<@(cpp_source_files)', | 23 '<@(cpp_source_files)', |
| 24 'cpp/module_embedder.h', | 24 'cpp/module_embedder.h', |
| 25 'cpp/ppp_entrypoints.cc', | 25 'cpp/ppp_entrypoints.cc', |
| 26 ], | 26 ], |
| 27 }, | 27 }, |
| 28 'dependencies': [ | 28 'dependencies': [ |
| 29 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', | 29 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', |
| 30 ], | 30 ], |
| 31 }, | 31 }, |
| 32 { | 32 { |
| 33 'target_name': 'ppapi_nacl_tests', | 33 'target_name': 'ppapi_nacl_tests', |
| 34 'type': 'none', | 34 'type': 'none', |
| 35 'dependencies': [ | 35 'dependencies': [ |
| 36 'ppapi_cpp_lib', | 36 'ppapi_cpp_lib', |
| 37 'native_client/native_client.gyp:ppapi_lib', | 37 'native_client/native_client.gyp:ppapi_lib', |
| 38 'native_client/native_client.gyp:nacl_irt', | 38 'native_client/native_client.gyp:nacl_irt', |
| 39 ], | 39 ], |
| 40 'variables': { | 40 'variables': { |
| 41 'nexe_target': 'ppapi_nacl_tests', | 41 'nexe_target': 'ppapi_nacl_tests', |
| 42 'build_glibc': 0, | |
| 43 'build_newlib': 1, | 42 'build_newlib': 1, |
| 44 'include_dirs': [ | 43 'include_dirs': [ |
| 45 'lib/gl/include', | 44 'lib/gl/include', |
| 46 '..', | 45 '..', |
| 47 ], | 46 ], |
| 48 'link_flags': [ | 47 'link_flags': [ |
| 49 '-lppapi_cpp', | 48 '-lppapi_cpp', |
| 50 '-lppapi', | 49 '-lppapi', |
| 51 ], | 50 ], |
| 52 # TODO(bradchen): get rid of extra_deps64 and extra_deps32 | 51 # TODO(bradchen): get rid of extra_deps64 and extra_deps32 |
| 53 # once native_client/build/untrusted.gypi no longer needs them. | 52 # once native_client/build/untrusted.gypi no longer needs them. |
| 54 'extra_deps64': [ | 53 'extra_deps64': [ |
| 55 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi_cpp.a', | 54 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi_cpp.a', |
| 56 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi.a', | 55 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi.a', |
| 57 ], | 56 ], |
| 58 'extra_deps32': [ | |
| 59 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppapi_cpp.a', | |
| 60 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppapi.a', | |
| 61 ], | |
| 62 'extra_deps_newlib64': [ | 57 'extra_deps_newlib64': [ |
| 63 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi_cpp.a', | 58 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi_cpp.a', |
| 64 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi.a', | 59 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppapi.a', |
| 65 ], | 60 ], |
| 66 'extra_deps_newlib32': [ | 61 'extra_deps_newlib32': [ |
| 67 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppapi_cpp.a', | 62 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppapi_cpp.a', |
| 68 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppapi.a', | 63 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppapi.a', |
| 69 ], | 64 ], |
| 70 'extra_deps_glibc64': [ | 65 'extra_deps_glibc64': [ |
| 71 '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib64/libppapi_cpp.a', | 66 '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib64/libppapi_cpp.a', |
| 72 '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib64/libppapi.a', | 67 '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib64/libppapi.a', |
| 73 ], | 68 ], |
| 74 'extra_deps_glibc32': [ | 69 'extra_deps_glibc32': [ |
| 75 '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib32/libppapi_cpp.a', | 70 '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib32/libppapi_cpp.a', |
| 76 '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib32/libppapi.a', | 71 '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib32/libppapi.a', |
| 77 ], | 72 ], |
| 78 'extra_deps_arm': [ | 73 'extra_deps_arm': [ |
| 79 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libppapi_cpp.a', | 74 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libppapi_cpp.a', |
| 80 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libppapi.a', | 75 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libppapi.a', |
| 81 ], | 76 ], |
| 82 'sources': [ | 77 'sources': [ |
| 83 '<@(test_common_source_files)', | 78 '<@(test_common_source_files)', |
| 84 '<@(test_nacl_source_files)', | 79 '<@(test_nacl_source_files)', |
| 85 ], | 80 ], |
| 86 }, | 81 }, |
| 82 'conditions': [ |
| 83 ['target_arch!="arm"', { |
| 84 'variables': { |
| 85 'build_glibc': 1, |
| 86 # NOTE: Use /lib, not /lib64 here; it is a symbolic link which |
| 87 # doesn't work on Windows. |
| 88 'libdir_glibc64': '>(nacl_glibc_tc_root)/x86_64-nacl/lib', |
| 89 'libdir_glibc32': '>(nacl_glibc_tc_root)/x86_64-nacl/lib32', |
| 90 'nacl_objdump': '>(nacl_glibc_tc_root)/bin/x86_64-nacl-objdump', |
| 91 'nmf_glibc%': '<(PRODUCT_DIR)/>(nexe_target)_glibc.nmf', |
| 92 }, |
| 93 'actions': [ |
| 94 { |
| 95 'action_name': 'Generate GLIBC NMF and copy libs', |
| 96 'inputs': ['>(out_glibc64)', '>(out_glibc32)'], |
| 97 # NOTE: There is no explicit dependency for the lib32 |
| 98 # and lib64 directories created in the PRODUCT_DIR. |
| 99 # They are created as a side-effect of NMF creation. |
| 100 'outputs': ['>(nmf_glibc)'], |
| 101 'action': [ |
| 102 'python', |
| 103 '<(DEPTH)/native_client_sdk/src/tools/create_nmf.py', |
| 104 '>@(_inputs)', |
| 105 '--objdump=>(nacl_objdump)', |
| 106 '--library-path=>(libdir_glibc64)', |
| 107 '--library-path=>(libdir_glibc32)', |
| 108 '--output=>(nmf_glibc)', |
| 109 '--stage-dependencies=<(PRODUCT_DIR)', |
| 110 ], |
| 111 }, |
| 112 ], |
| 113 }], |
| 114 ], |
| 87 }, | 115 }, |
| 88 ], | 116 ], |
| 89 } | 117 } |
| OLD | NEW |