SCons_D_Tooling / HOWTO / new-platform.txt

__COPYRIGHT__

Adding a new Platform to the SCons distribution:

    --  Add the following files (aenf):

            src/engine/SCons/Platform/xxx.py

	    	Use one of the other Platform files as a template.

                The tool_list() function should return the list of tools
                that will be available through the default construction
                Environment.

		The generate() function should set construction variables:

		    ENV
		    OBJPREFIX
		    OBJSUFFIX
		    PROGPREFIX
		    PROGSUFFIX
		    LIBPREFIX
		    LIBSUFFIX
		    SHLIBPREFIX
		    SHLIBSUFFIX
		    LIBPREFIXES
		    LIBSUFFIXES

    --  Modify the following files (aecp):

            doc/man/scons.1

		Add the new platform to the example of the platform
		keyword when instantiating an Environment.

		Add the list of default tools returned by tool_list()
		for this platform.

            rpm/scons.spec

	    	Add to the list at the bottom of the file:
		
		    /usr/lib/scons/SCons/Platform/xxx.py
	    	    /usr/lib/scons/SCons/Platform/xxx.pyc

		[THIS LIST SHOULD BE GENERATED FROM MANIFEST.in,
		AND WILL BE SOME DAY.]

            src/CHANGES.txt

	        Add mention of the new Platform specification.

            src/engine/MANIFEST.in

	    	Add to the list:

		    SCons/Platform/xxx.py

            src/engine/SCons/Platform/Platform/PlatformTests.py

                Copy and paste one of the other platform tests to verify
                the ability to initialize an environment through a call
                to the object returned by Platform('xxx')

            src/engine/SCons/Platform/__init__.py

                Add logic to platform_default() (if necessary) to return
                the appropriate platform string.

    	    test/Platform.py

                Add the new platform to the SConstruct and SConscript
                files.  Add the expected output to the "expect"
                variable.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.