OLD | NEW |
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 # The yasm build process creates a slew of small C subprograms that | 5 # The yasm build process creates a slew of small C subprograms that |
6 # dynamically generate files at various point in the build process. This makes | 6 # dynamically generate files at various point in the build process. This makes |
7 # the build integration moderately complex. | 7 # the build integration moderately complex. |
8 # | 8 # |
9 # There are three classes of dynamically generated files: | 9 # There are three classes of dynamically generated files: |
10 # 1) C source files that should be included in the build (eg., lc3bid.c) | 10 # 1) C source files that should be included in the build (eg., lc3bid.c) |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 executable("genmacro") { | 51 executable("genmacro") { |
52 sources = [ | 52 sources = [ |
53 "source/patched-yasm/tools/genmacro/genmacro.c", | 53 "source/patched-yasm/tools/genmacro/genmacro.c", |
54 ] | 54 ] |
55 configs -= [ "//build/config/compiler:chromium_code" ] | 55 configs -= [ "//build/config/compiler:chromium_code" ] |
56 configs += [ | 56 configs += [ |
57 ":yasm_config", | 57 ":yasm_config", |
58 "//build/config/compiler:no_chromium_code", | 58 "//build/config/compiler:no_chromium_code", |
59 ] | 59 ] |
60 deps = [ | 60 deps = [ |
61 "//build/config/sanitizers:deps", | 61 "//build/config:exe_and_shlib_deps", |
62 | 62 |
63 # Default manifest on Windows (a no-op elsewhere). | 63 # Default manifest on Windows (a no-op elsewhere). |
64 "//build/win:default_exe_manifest", | 64 "//build/win:default_exe_manifest", |
65 ] | 65 ] |
66 } | 66 } |
67 | 67 |
68 executable("genmodule") { | 68 executable("genmodule") { |
69 sources = [ | 69 sources = [ |
70 "source/patched-yasm/libyasm/genmodule.c", | 70 "source/patched-yasm/libyasm/genmodule.c", |
71 ] | 71 ] |
72 configs -= [ "//build/config/compiler:chromium_code" ] | 72 configs -= [ "//build/config/compiler:chromium_code" ] |
73 configs += [ | 73 configs += [ |
74 ":yasm_config", | 74 ":yasm_config", |
75 "//build/config/compiler:no_chromium_code", | 75 "//build/config/compiler:no_chromium_code", |
76 ] | 76 ] |
77 deps = [ | 77 deps = [ |
78 "//build/config/sanitizers:deps", | 78 "//build/config:exe_and_shlib_deps", |
79 | 79 |
80 # Default manifest on Windows (a no-op elsewhere). | 80 # Default manifest on Windows (a no-op elsewhere). |
81 "//build/win:default_exe_manifest", | 81 "//build/win:default_exe_manifest", |
82 ] | 82 ] |
83 } | 83 } |
84 | 84 |
85 executable("genperf") { | 85 executable("genperf") { |
86 sources = [ | 86 sources = [ |
87 "source/patched-yasm/tools/genperf/genperf.c", | 87 "source/patched-yasm/tools/genperf/genperf.c", |
88 "source/patched-yasm/tools/genperf/perfect.c", | 88 "source/patched-yasm/tools/genperf/perfect.c", |
89 ] | 89 ] |
90 | 90 |
91 configs -= [ "//build/config/compiler:chromium_code" ] | 91 configs -= [ "//build/config/compiler:chromium_code" ] |
92 configs += [ | 92 configs += [ |
93 ":yasm_config", | 93 ":yasm_config", |
94 "//build/config/compiler:no_chromium_code", | 94 "//build/config/compiler:no_chromium_code", |
95 ] | 95 ] |
96 | 96 |
97 deps = [ | 97 deps = [ |
98 ":yasm_utils", | 98 ":yasm_utils", |
99 "//build/config/sanitizers:deps", | 99 "//build/config:exe_and_shlib_deps", |
100 | 100 |
101 # Default manifest on Windows (a no-op elsewhere). | 101 # Default manifest on Windows (a no-op elsewhere). |
102 "//build/win:default_exe_manifest", | 102 "//build/win:default_exe_manifest", |
103 ] | 103 ] |
104 } | 104 } |
105 | 105 |
106 # Used by both yasm and genperf binaries. | 106 # Used by both yasm and genperf binaries. |
107 static_library("yasm_utils") { | 107 static_library("yasm_utils") { |
108 sources = [ | 108 sources = [ |
109 "source/patched-yasm/libyasm/phash.c", | 109 "source/patched-yasm/libyasm/phash.c", |
(...skipping 11 matching lines...) Expand all Loading... |
121 executable("genstring") { | 121 executable("genstring") { |
122 sources = [ | 122 sources = [ |
123 "source/patched-yasm/genstring.c", | 123 "source/patched-yasm/genstring.c", |
124 ] | 124 ] |
125 configs -= [ "//build/config/compiler:chromium_code" ] | 125 configs -= [ "//build/config/compiler:chromium_code" ] |
126 configs += [ | 126 configs += [ |
127 ":yasm_config", | 127 ":yasm_config", |
128 "//build/config/compiler:no_chromium_code", | 128 "//build/config/compiler:no_chromium_code", |
129 ] | 129 ] |
130 deps = [ | 130 deps = [ |
131 "//build/config/sanitizers:deps", | 131 "//build/config:exe_and_shlib_deps", |
132 | 132 |
133 # Default manifest on Windows (a no-op elsewhere). | 133 # Default manifest on Windows (a no-op elsewhere). |
134 "//build/win:default_exe_manifest", | 134 "//build/win:default_exe_manifest", |
135 ] | 135 ] |
136 } | 136 } |
137 | 137 |
138 executable("genversion") { | 138 executable("genversion") { |
139 sources = [ | 139 sources = [ |
140 "source/patched-yasm/modules/preprocs/nasm/genversion.c", | 140 "source/patched-yasm/modules/preprocs/nasm/genversion.c", |
141 ] | 141 ] |
142 configs -= [ "//build/config/compiler:chromium_code" ] | 142 configs -= [ "//build/config/compiler:chromium_code" ] |
143 configs += [ | 143 configs += [ |
144 ":yasm_config", | 144 ":yasm_config", |
145 "//build/config/compiler:no_chromium_code", | 145 "//build/config/compiler:no_chromium_code", |
146 ] | 146 ] |
147 deps = [ | 147 deps = [ |
148 "//build/config/sanitizers:deps", | 148 "//build/config:exe_and_shlib_deps", |
149 | 149 |
150 # Default manifest on Windows (a no-op elsewhere). | 150 # Default manifest on Windows (a no-op elsewhere). |
151 "//build/win:default_exe_manifest", | 151 "//build/win:default_exe_manifest", |
152 ] | 152 ] |
153 } | 153 } |
154 | 154 |
155 config("re2c_warnings") { | 155 config("re2c_warnings") { |
156 # re2c is missing CLOSEVOP from one switch. | 156 # re2c is missing CLOSEVOP from one switch. |
157 if (is_clang) { | 157 if (is_clang) { |
158 cflags = [ | 158 cflags = [ |
(...skipping 23 matching lines...) Expand all Loading... |
182 configs -= [ "//build/config/compiler:chromium_code" ] | 182 configs -= [ "//build/config/compiler:chromium_code" ] |
183 configs += [ | 183 configs += [ |
184 ":yasm_config", | 184 ":yasm_config", |
185 "//build/config/compiler:no_chromium_code", | 185 "//build/config/compiler:no_chromium_code", |
186 | 186 |
187 # Must be after no_chromium_code for warning flags to be ordered | 187 # Must be after no_chromium_code for warning flags to be ordered |
188 # correctly. | 188 # correctly. |
189 ":re2c_warnings", | 189 ":re2c_warnings", |
190 ] | 190 ] |
191 deps = [ | 191 deps = [ |
192 "//build/config/sanitizers:deps", | 192 "//build/config:exe_and_shlib_deps", |
193 | 193 |
194 # Default manifest on Windows (a no-op elsewhere). | 194 # Default manifest on Windows (a no-op elsewhere). |
195 "//build/win:default_exe_manifest", | 195 "//build/win:default_exe_manifest", |
196 ] | 196 ] |
197 } | 197 } |
198 | 198 |
199 config("yasm_warnings") { | 199 config("yasm_warnings") { |
200 if (is_clang) { | 200 if (is_clang) { |
201 cflags = [ | 201 cflags = [ |
202 # reg3264type in x86expr.c is unused. | 202 # reg3264type in x86expr.c is unused. |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
331 ":compile_nasm_macros", | 331 ":compile_nasm_macros", |
332 ":compile_nasm_version", | 332 ":compile_nasm_version", |
333 ":compile_re2c", | 333 ":compile_re2c", |
334 ":compile_re2c_lc3b", | 334 ":compile_re2c_lc3b", |
335 ":compile_win64_gas", | 335 ":compile_win64_gas", |
336 ":compile_win64_nasm", | 336 ":compile_win64_nasm", |
337 ":generate_license", | 337 ":generate_license", |
338 ":generate_module", | 338 ":generate_module", |
339 ":generate_version", | 339 ":generate_version", |
340 ":yasm_utils", | 340 ":yasm_utils", |
341 "//build/config/sanitizers:deps", | 341 "//build/config:exe_and_shlib_deps", |
342 | 342 |
343 # Default manifest on Windows (a no-op elsewhere). | 343 # Default manifest on Windows (a no-op elsewhere). |
344 "//build/win:default_exe_manifest", | 344 "//build/win:default_exe_manifest", |
345 ] | 345 ] |
346 } | 346 } |
347 | 347 |
348 compiled_action_foreach("compile_gperf") { | 348 compiled_action_foreach("compile_gperf") { |
349 tool = ":genperf" | 349 tool = ":genperf" |
350 sources = [ | 350 sources = [ |
351 "source/patched-yasm/modules/arch/x86/x86cpu.gperf", | 351 "source/patched-yasm/modules/arch/x86/x86cpu.gperf", |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
538 | 538 |
539 # Output eventually #included by source/patched-yasm/frontends/yasm/x86id.c | 539 # Output eventually #included by source/patched-yasm/frontends/yasm/x86id.c |
540 outputs = [ | 540 outputs = [ |
541 "$yasm_gen_include_dir/x86insns.c", | 541 "$yasm_gen_include_dir/x86insns.c", |
542 "$yasm_gen_include_dir/x86insn_gas.gperf", | 542 "$yasm_gen_include_dir/x86insn_gas.gperf", |
543 "$yasm_gen_include_dir/x86insn_nasm.gperf", | 543 "$yasm_gen_include_dir/x86insn_nasm.gperf", |
544 ] | 544 ] |
545 args = [ rebase_path(yasm_gen_include_dir, root_build_dir) ] | 545 args = [ rebase_path(yasm_gen_include_dir, root_build_dir) ] |
546 } | 546 } |
547 } | 547 } |
OLD | NEW |