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

Side by Side Diff: third_party/yasm/yasm_assemble.gni

Issue 535613002: GN: Build libvpx (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: build libvpx Created 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/media_options.gni ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 provides the yasm_assemble() template which uses YASM to assemble 5 # This provides the yasm_assemble() template which uses YASM to assemble
6 # assembly files. 6 # assembly files.
7 # 7 #
8 # Files to be assembled with YASM should have an extension of .asm. 8 # Files to be assembled with YASM should have an extension of .asm.
9 # 9 #
10 # Parameters 10 # Parameters
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 "-m", "x86", 74 "-m", "x86",
75 ] 75 ]
76 } else if (cpu_arch == "x64") { 76 } else if (cpu_arch == "x64") {
77 _yasm_flags = [ 77 _yasm_flags = [
78 "-fwin64", 78 "-fwin64",
79 "-m", "amd64", 79 "-m", "amd64",
80 ] 80 ]
81 } 81 }
82 } 82 }
83 83
84 # Default yasm include dirs. Make it match the native build (source root and
85 # root generated code directory).
86 _yasm_flags += [
87 # Using "//." will produce a relative path "../.." which looks better than
88 # "../../" which will result from using "//" as the base (although both
89 # work). This is because rebase_path will terminate the result in a slash if
90 # the input ends in a slash.
91 "-I" + rebase_path("//.", root_build_dir),
92 "-I" + rebase_path(root_gen_dir, root_build_dir),
93 ]
94
95 if (is_win) { 84 if (is_win) {
96 asm_obj_extension = "obj" 85 asm_obj_extension = "obj"
97 } else { 86 } else {
98 asm_obj_extension = "o" 87 asm_obj_extension = "o"
99 } 88 }
100 89
101 template("yasm_assemble") { 90 template("yasm_assemble") {
102 # TODO(ajwong): Support use_system_yasm. 91 # TODO(ajwong): Support use_system_yasm.
103 assert(defined(invoker.sources), "Need sources defined for $target_name") 92 assert(defined(invoker.sources), "Need sources defined for $target_name")
104 93
(...skipping 28 matching lines...) Expand all
133 if (defined(invoker.deps)) { 122 if (defined(invoker.deps)) {
134 deps += invoker.deps 123 deps += invoker.deps
135 } 124 }
136 125
137 # Flags. 126 # Flags.
138 args += _yasm_flags 127 args += _yasm_flags
139 if (defined(invoker.yasm_flags)) { 128 if (defined(invoker.yasm_flags)) {
140 args += invoker.yasm_flags 129 args += invoker.yasm_flags
141 } 130 }
142 131
143 # Extra include directories. 132 # User defined include dirs go first.
144 if (defined(invoker.include_dirs)) { 133 if (defined(invoker.include_dirs)) {
145 foreach(include, invoker.include_dirs) { 134 foreach(include, invoker.include_dirs) {
146 args += [ "-I" + rebase_path(include, root_build_dir) ] 135 args += [ "-I" + rebase_path(include, root_build_dir) ]
147 } 136 }
148 } 137 }
149 138
139 # Default yasm include dirs. Make it match the native build (source root and
140 # root generated code directory).
141 # This goes to the end of include list.
142 args += [
143 # Using "//." will produce a relative path "../.." which looks better than
144 # "../../" which will result from using "//" as the base (although both
145 # work). This is because rebase_path will terminate the result in a slash if
brettw 2014/09/05 21:55:07 wrap?
146 # the input ends in a slash.
147 "-I" + rebase_path("//.", root_build_dir),
148 "-I" + rebase_path(root_gen_dir, root_build_dir),
149 ]
150
150 # Extra defines. 151 # Extra defines.
151 if (defined(invoker.defines)) { 152 if (defined(invoker.defines)) {
152 foreach(def, invoker.defines) { 153 foreach(def, invoker.defines) {
153 args += [ "-D$def" ] 154 args += [ "-D$def" ]
154 } 155 }
155 } 156 }
156 157
157 # Output file. 158 # Output file.
158 # 159 #
159 # TODO(brettw) it might be nice if there was a source expansion for the 160 # TODO(brettw) it might be nice if there was a source expansion for the
(...skipping 18 matching lines...) Expand all
178 source_set(source_set_name) { 179 source_set(source_set_name) {
179 if (defined(invoker.visibility)) { 180 if (defined(invoker.visibility)) {
180 visibility = invoker.visibility 181 visibility = invoker.visibility
181 } 182 }
182 183
183 sources = get_target_outputs(":$action_name") 184 sources = get_target_outputs(":$action_name")
184 185
185 deps = [ ":$action_name" ] 186 deps = [ ":$action_name" ]
186 } 187 }
187 } 188 }
OLDNEW
« no previous file with comments | « media/media_options.gni ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698