Update CHANGES to give some credit for patches
[scons.git] / HOWTO / new-platform.txt
1 __COPYRIGHT__
2
3 Adding a new Platform to the SCons distribution:
4
5     --  Add the following files (aenf):
6
7             src/engine/SCons/Platform/xxx.py
8
9                 Use one of the other Platform files as a template.
10
11                 The tool_list() function should return the list of tools
12                 that will be available through the default construction
13                 Environment.
14
15                 The generate() function should set construction variables:
16
17                     ENV
18                     OBJPREFIX
19                     OBJSUFFIX
20                     PROGPREFIX
21                     PROGSUFFIX
22                     LIBPREFIX
23                     LIBSUFFIX
24                     SHLIBPREFIX
25                     SHLIBSUFFIX
26                     LIBPREFIXES
27                     LIBSUFFIXES
28
29     --  Modify the following files (aecp):
30
31             doc/man/scons.1
32
33                 Add the new platform to the example of the platform
34                 keyword when instantiating an Environment.
35
36                 Add the list of default tools returned by tool_list()
37                 for this platform.
38
39             rpm/scons.spec
40
41                 Add to the list at the bottom of the file:
42                 
43                     /usr/lib/scons/SCons/Platform/xxx.py
44                     /usr/lib/scons/SCons/Platform/xxx.pyc
45
46                 [THIS LIST SHOULD BE GENERATED FROM MANIFEST.in,
47                 AND WILL BE SOME DAY.]
48
49             src/CHANGES.txt
50
51                 Add mention of the new Platform specification.
52
53             src/engine/MANIFEST.in
54
55                 Add to the list:
56
57                     SCons/Platform/xxx.py
58
59             src/engine/SCons/Platform/Platform/PlatformTests.py
60
61                 Copy and paste one of the other platform tests to verify
62                 the ability to initialize an environment through a call
63                 to the object returned by Platform('xxx')
64
65             src/engine/SCons/Platform/__init__.py
66
67                 Add logic to platform_default() (if necessary) to return
68                 the appropriate platform string.
69
70             test/Platform.py
71
72                 Add the new platform to the SConstruct and SConscript
73                 files.  Add the expected output to the "expect"
74                 variable.