diff options
| author | William Deegan <bill@baddogconsulting.com> | 2015-09-21 17:03:12 (GMT) |
|---|---|---|
| committer | William Deegan <bill@baddogconsulting.com> | 2015-09-21 17:03:12 (GMT) |
| commit | 0941093e0e5a030faa49968457638a3a6aee7ad8 (patch) | |
| tree | 6d33513c14eb6eac0531dd050de0ecca4c39bd79 /HOWTO/new-tool.txt | |
| download | SCons-2.4.0.zip SCons-2.4.0.tar.gz SCons-2.4.0.tar.bz2 | |
release 2.4.02.4.0
Diffstat (limited to 'HOWTO/new-tool.txt')
| -rw-r--r-- | HOWTO/new-tool.txt | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/HOWTO/new-tool.txt b/HOWTO/new-tool.txt new file mode 100644 index 0000000..4297fe6 --- /dev/null +++ b/HOWTO/new-tool.txt @@ -0,0 +1,81 @@ +__COPYRIGHT__ + +Adding a new Tool to the SCons distribution: + + -- Add the following files (aenf): + + src/engine/SCons/Tool/xxx.py + + Use one of the other Tool files as a template. + + The tool should set and use construction variables: + + XXX (specific tool) + XXXCOM (the command line) + XXXFLAGS (flags for the command line) + + -- Modify the following files (aecp): + + doc/man/scons.1 + + Add the new tool to the default Platform lists + (if appropriate). + + If this creates object files from a new source + file type, add the new file suffixes. + + Document the new construction variables. + + rpm/scons.spec + + Add to the list at the bottom of the file: + + /usr/lib/scons/SCons/Tool/xxx.py + /usr/lib/scons/SCons/Tool/xxx.pyc + + [THIS LIST SHOULD BE GENERATED FROM MANIFEST.in, + AND WILL BE SOME DAY.] + + src/CHANGES.txt + + Add mention of the new Tool specification. + + src/engine/MANIFEST.in + + Add to the list: + + SCons/Tool/xxx.py + + src/engine/SCons/Defaults.py + + If there are any new Actions for the Tool, add them + here. + + src/engine/SCons/Platform/*.py + + Add the Tool to the list(s) returned by tool_list(). + + -- Add the following tests (aent): + + test/XXX.py + + Use one of the other tests as a template. + + The first part should be a platform-independent test + using dummy 'myxxx.py' utilities to test if $XXX is set. + + Remaining parts of the test can check to see if the + specific tool is installed on the system, and test + actually executing the tool. + + test/XXXFLAGS.py + + Use one of the other tests as a template. + + The first part should be a platform-independent test + using dummy 'myxxx.py' utilities to test if $XXXFLAGS is + set. + + Optionally, remaining parts of the test can check to see + if the specific tool is installed on the system, and + test actually executing the tool. |
