OLD | NEW |
1 # Copyright (c) 2012 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 # 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) |
11 # 2) C source files that are #included by static C sources (eg., license.c) | 11 # 2) C source files that are #included by static C sources (eg., license.c) |
12 # 3) Intermediate files that are used as input by other subprograms to | 12 # 3) Intermediate files that are used as input by other subprograms to |
13 # further generate files in category #1 or #2. (eg., version.mac) | 13 # further generate files in category #1 or #2. (eg., version.mac) |
14 # | 14 # |
15 # This structure is represented with the following targets: | 15 # This structure is represented with the following targets: |
16 # 1) yasm -- Sources, flags for the main yasm executable. Also has most of | 16 # 1) yasm -- Sources, flags for the main yasm executable. Also has most of |
17 # of the actions and rules that invoke the subprograms. | 17 # of the actions and rules that invoke the subprograms. |
18 # 2) config_sources -- Checked in version of files generated by manually | 18 # 2) config_sources -- Checked in version of files generated by manually |
19 # running configure that are used by all binaries. | 19 # running configure that are used by all binaries. |
20 # 3) generate_files -- Actions and rules for files of type #3. | 20 # 3) generate_files -- Actions and rules for files of type #3. |
21 # 4) genperf_libs -- Object files shared between yasm and the genperf | 21 # 4) genperf_libs -- Object files shared between yasm and the genperf |
22 # subprogram. | 22 # subprogram. |
23 # 5) genmacro, genmodule, etc. -- One executable target for each subprogram. | 23 # 5) genmacro, genmodule, etc. -- One executable target for each subprogram. |
24 # | 24 # |
25 # You will notice that a lot of the action targets seem very similar -- | 25 # You will notice that a lot of the action targets seem very similar -- |
26 # especially for genmacro invocations. This makes it seem like they should | 26 # especially for genmacro invocations. This makes it seem like they should |
27 # be a rule. The problem is that the correct invocation cannot be inferred | 27 # be a rule. The problem is that the correct invocation cannot be inferred |
28 # purely from the file name, or extension. Nor is it obvious whether the | 28 # purely from the file name, or extension. Nor is it obvious whether the |
29 # output should be processed as a source or not. Thus, we are left with a | 29 # output should be processed as a source or not. Thus, we are left with a |
30 # large amount of repetative code. | 30 # large amount of repetitive code. |
31 | 31 |
32 { | 32 { |
33 'variables': { | 33 'variables': { |
34 'yasm_include_dirs': [ | 34 'yasm_include_dirs': [ |
35 'source/config/<(OS)', | 35 'source/config/<(OS)', |
36 'source/patched-yasm', | 36 'source/patched-yasm', |
37 ], | 37 ], |
38 | 38 |
39 # The cflags used by any target that will be directly linked into yasm. | 39 # The cflags used by any target that will be directly linked into yasm. |
40 # These are specifically not used when building the subprograms. While | 40 # These are specifically not used when building the subprograms. While |
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
567 'include_dirs': [ | 567 'include_dirs': [ |
568 '<@(yasm_include_dirs)', | 568 '<@(yasm_include_dirs)', |
569 | 569 |
570 ], | 570 ], |
571 'cflags': [ | 571 'cflags': [ |
572 '-std=gnu99', | 572 '-std=gnu99', |
573 ], | 573 ], |
574 }, | 574 }, |
575 ], | 575 ], |
576 } | 576 } |
OLD | NEW |