OLD | NEW |
1 See also the yasm.gyp file for a description of the yasm build process. | 1 See also the yasm.gyp file for a description of the yasm build process. |
2 | 2 |
3 Instructions for recreating the yasm.gyp file. | 3 Instructions for recreating the yasm.gyp file. |
4 1) Get a clean version of the yasm source tree and copy it somewhere. The | 4 1) Get a clean version of the yasm source tree. The clean tree can be found |
5 clean tree can be found at: | 5 at: |
6 | 6 |
7 src/third_party/yasm/source/yasm | 7 src/third_party/yasm/source/yasm |
8 | 8 |
9 2) Run ./autogen.sh in your copy of the pristine source. Unlike ./configure, | 9 2) Run configure on the pristine source from a different directory (eg., |
10 autogen.sh will dirty the tree regardless of where it is called from. | 10 /tmp/yasm_build). Running configure from another directory will keep |
| 11 the source tree clean. |
11 | 12 |
12 3) Next, capture all the output from a build of yasm. We will use the build | 13 3) Next, capture all the output from a build of yasm. We will use the build |
13 log as a reference for making the yasm.gyp file. | 14 log as a reference for making the yasm.gyp file. |
14 | 15 |
15 make yasm > yasm_build_log 2> yasm_build_err | 16 make yasm > yasm_build_log 2> yasm_build_err |
16 | 17 |
17 4) Check yasm_build_err to see if there are any anomalies beyond yasm's | 18 4) Check yasm_build_err to see if there are any anomalies beyond yasm's |
18 compiler warnings. | 19 compiler warnings. |
19 | 20 |
20 5) Grab the generated Makefile, libyasm-stdint.h, config.h, and put into | 21 5) Grab the generated Makefile, libyasm-stdint.h, config.h, and put into |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 Yasm uses python scripts to generate the assembly code description | 110 Yasm uses python scripts to generate the assembly code description |
110 files in C++. Make sure to get these put into the gyp file properly as | 111 files in C++. Make sure to get these put into the gyp file properly as |
111 well. An example is gen_x86_insn.py for x86 assembly. | 112 well. An example is gen_x86_insn.py for x86 assembly. |
112 | 113 |
113 Note that at least the gen_x86_insn.py script suffers from the same | 114 Note that at least the gen_x86_insn.py script suffers from the same |
114 problem as genmacro in that it outputs to the current directory by | 115 problem as genmacro in that it outputs to the current directory by |
115 default. The yasm.gyp build patches this file before invoking it to | 116 default. The yasm.gyp build patches this file before invoking it to |
116 allow specifying an output directory. | 117 allow specifying an output directory. |
117 | 118 |
118 10) If all that's is finished, attempt to build....and cross your fingers. | 119 10) If all that's is finished, attempt to build....and cross your fingers. |
OLD | NEW |