14 Commits

Author SHA1 Message Date
Chris Johns
3a972f6102 sb: Update code base to support Python3 and Python2.
Fix Windows support to allow MSYS2 Python to be used.

Updates #2619.
2016-03-07 15:02:58 +11:00
Chris Johns
2e54abc9ba sb: Make the source and patch labels have sortable label.
This patch changes 'patch1' to 'patch0001' so sorting of the macro
keys in the patch macro map returns the order the patches are declared.
The helps mamage patch sets that need a specific order.
2015-03-26 11:12:13 +11:00
Chris Johns
9a15c40e1b sb: Implement %source and %patch to manage source and patches.
Remove the numbered source and patches and automatically manage
sources and patches. This removes the overhead in maintaining large
collections of patches.
2014-05-13 23:26:09 +10:00
Chris Johns
1a56a07605 Add bare/config and move the source-builder/config to it.
Rework the RTEMS build set files to point to the new location.

Move the files into devel, this follows the ports naming in
FreeBSD.

Update the macros, defaults, and options to support this.
2013-05-14 11:08:02 +10:00
Chris Johns
5237f1ccb7 Fix support for Windows (MinGW) native builds using MSYS.
Fix paths that need to be coverted to host format.

The shell expansion needs to invoke a shell on Windows as cmd.exe
will not work.

Munch the paths into smaller sizes for Windows due to the limited
path size.
2013-05-13 14:44:49 +10:00
Chris Johns
84924e4e52 Fix the open calls to use a host path. 2013-05-01 06:29:12 +10:00
Chris Johns
1c44f1c24f Add a get value call for macros. 2013-04-30 11:18:46 +10:00
Chris Johns
bd26be04c7 Fix the arguments to the locking map. All maps are locked out. 2013-04-28 15:30:39 +10:00
Chris Johns
dbede7322b Make _sbdir absolute. Add locks to read maps.
Add locks to the read maps to support disabling the select command.

Make the _sbdir etc absolute to let it be referenced from anywhere.
2013-04-27 20:23:35 +10:00
Chris Johns
624954ba0b Add macro include support. Use it for building from head.
This change provides a simple way to build all parts of the tools from
version control.
2013-04-26 12:05:53 +10:00
Chris Johns
fd5042a1c4 Support multiple read maps.
A build could require more than one map to be active at once. This
change allows more than one map to be set. An example is gcc and
newlib. Having separate maps allows a user to control which part
they test.
2013-04-20 21:42:39 +10:00
Chris Johns
0565e1fa4b Add support for snapshot testing.
User macro files passed on the command line allow a user to
override the defaults in configuration files to test new changes
in pending releases.

Fix macros issues with keys with more than one map.
2013-04-13 18:29:30 +10:00
Chris Johns
9bd29bbaa6 Macros updates to support multiple maps.
Add a read and write map pointer. This means you can read from a
user defined map through to the global map while pointing all
write to only the global map therefore supporting overrides
cleanly.

Print the list of loaded files when printing.

Provide helper calls for type and attributes.
2013-04-13 10:30:39 +10:00
Chris Johns
cb12e4875c Refactor defaults, macros and options.
To support building snapshots and pre-release source the defaults
has been refactored. The defaults have been moved to a stand alone
file and a macros.py module added. This modile abstracts the
old default dictionary turning it into a class. The macros
class can load macros from a file therefore the defaults have
been moved to a stand alone file.

The use of defaults has been removed from the project. The only
case where it is used in the options where the defaults are read
from a file. Macros are used everywhere now.

The defaults.py has been moved to the option.py and the separate
options and defaults values has been moved to a new pattern. When
constructing an object that needs macros and options if the macros
passed in is None the defaults from the options are used. This makes
it clear when the defaults are being used or when a modified set of
macros is being used.

The macros class support maps. The default is 'global' and where all
the defaults reside and where configuratiion file changes end up.
Maps allow macros to be read from a file and override the values
being maintained in the 'global' map. Reading a macro first checks
the map and if not present checks the 'global' map.

The addition of maps to the macros provides the base to support
snapshots and pre-release testing with standard configurations.
This functionality needs to be added. It works by letting to
specify a snapshot with:

source0: none, override, 'my-dist.tar.bz2'

and it will be used rather the value from the standard configuration.
With a build set you need to also specify the package these macros
are for. The maps provide this.
2013-04-09 13:51:43 +10:00