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

Side by Side Diff: build/config/nacl/rules.gni

Issue 1976753002: GN: Build NaCl tests for x64 too on x86 Windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: don't list x86-32 lib dirs when target_cpu==x64 Created 4 years, 7 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 unified diff | Download patch
« no previous file with comments | « no previous file | ppapi/native_client/nacl_test_data.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Native Client Authors. All rights reserved. 1 # Copyright 2015 The Native Client 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 import("//build/config/features.gni") 5 import("//build/config/features.gni")
6 import("//build/config/nacl/config.gni") 6 import("//build/config/nacl/config.gni")
7 7
8 # Generate a nmf file 8 # Generate a nmf file
9 # 9 #
10 # Native Client Manifest (nmf) is a JSON file that tells the browser where to 10 # Native Client Manifest (nmf) is a JSON file that tells the browser where to
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 rebase_path(stage_dependencies, root_build_dir) ] 64 rebase_path(stage_dependencies, root_build_dir) ]
65 lib_path = stage_dependencies 65 lib_path = stage_dependencies
66 } else { 66 } else {
67 lib_path = root_build_dir 67 lib_path = root_build_dir
68 } 68 }
69 if (defined(lib_prefix)) { 69 if (defined(lib_prefix)) {
70 nmfflags += [ "--lib-prefix=" + lib_prefix ] 70 nmfflags += [ "--lib-prefix=" + lib_prefix ]
71 lib_path += "/${lib_prefix}" 71 lib_path += "/${lib_prefix}"
72 } 72 }
73 73
74 # NOTE: There is no explicit dependency for the lib32 74 # Starts empty so the code below can use += everywhere.
75 # and lib64 directories created in the product directory. 75 data = []
76
77 nmfflags += [ "--library-path=" + rebase_path(root_out_dir) ]
78
79 # NOTE: There is no explicit dependency for the lib directory
80 # (lib32 and lib64 for x86/x64) created in the product directory.
76 # They are created as a side-effect of nmf creation. 81 # They are created as a side-effect of nmf creation.
77 nmfflags += [ "--library-path=" + rebase_path(root_out_dir) ] 82 if (current_cpu != "x86" && current_cpu != "x64") {
78 if (current_cpu == "x86") {
79 nmfflags += [ "--library-path=" +
80 rebase_path("${nacl_toolchain_tooldir}/lib32") ]
81 data = [
82 "${lib_path}/lib32/",
83 ]
84 } else if (current_cpu == "x64") {
85 nmfflags += 83 nmfflags +=
86 [ "--library-path=" + rebase_path("${nacl_toolchain_tooldir}/lib") ] 84 [ "--library-path=" + rebase_path("${nacl_toolchain_tooldir}/lib") ]
87 data = [ 85 data += [ "${lib_path}/lib/" ]
88 "${lib_path}/lib64/",
89 ]
90 } else { 86 } else {
91 nmfflags += 87 # For x86-32, the lib/ directory is called lib32/ instead.
92 [ "--library-path=" + rebase_path("${nacl_toolchain_tooldir}/lib") ] 88 if (current_cpu == "x86") {
93 data = [ 89 nmfflags += [ "--library-path=" +
94 "${lib_path}/lib/", 90 rebase_path("${nacl_toolchain_tooldir}/lib32") ]
95 ] 91 data += [ "${lib_path}/lib32/" ]
92 }
93
94 # x86-32 Windows needs to build both x86-32 and x86-64 NaCl
95 # binaries into the same nmf covering both architectures. That
96 # gets handled at a higher level (see the nacl_test_data template),
97 # so a single generate_nmf invocation gets both x86-32 and x86-64
98 # nexes listed in executables.
99 if (current_cpu == "x64" || target_os == "win") {
100 # For x86-64, the lib/ directory is called lib64/ instead
101 # when copied by create_nmf.py.
102 glibc_tc = "//build/toolchain/nacl:glibc"
103 assert(current_toolchain == "${glibc_tc}_${current_cpu}")
104 if (current_cpu == "x64") {
105 x64_out_dir = root_out_dir
106 } else {
107 x64_out_dir = get_label_info(":${target_name}(${glibc_tc}_x64)",
108 "root_out_dir")
109 }
110 nmfflags += [
111 "--library-path=" + rebase_path(x64_out_dir),
112 "--library-path=" + rebase_path("${nacl_toolchain_tooldir}/lib"),
113 ]
114 data += [ "${lib_path}/lib64/" ]
115 }
96 } 116 }
97 } 117 }
98 args = [ 118 args = [
99 "--no-default-libpath", 119 "--no-default-libpath",
100 "--objdump=" + objdump, 120 "--objdump=" + objdump,
101 "--output=" + rebase_path(nmf, root_build_dir), 121 "--output=" + rebase_path(nmf, root_build_dir),
102 ] + nmfflags + rebase_path(sources, root_build_dir) 122 ] + nmfflags + rebase_path(sources, root_build_dir)
103 if (is_nacl_glibc && current_cpu == "arm") { 123 if (is_nacl_glibc && current_cpu == "arm") {
104 deps += [ "//native_client/src/untrusted/elf_loader:elf_loader" ] 124 deps += [ "//native_client/src/untrusted/elf_loader:elf_loader" ]
105 } 125 }
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 args = [ 172 args = [
153 "--program=" + rebase_path(executable, root_build_dir), 173 "--program=" + rebase_path(executable, root_build_dir),
154 "--arch=${arch}", 174 "--arch=${arch}",
155 "--output=" + rebase_path(nmf, root_build_dir), 175 "--output=" + rebase_path(nmf, root_build_dir),
156 ] 176 ]
157 if (defined(invoker.nmfflags)) { 177 if (defined(invoker.nmfflags)) {
158 args += invoker.nmfflags 178 args += invoker.nmfflags
159 } 179 }
160 } 180 }
161 } 181 }
OLDNEW
« no previous file with comments | « no previous file | ppapi/native_client/nacl_test_data.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698