| 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 |