320 Commits

Author SHA1 Message Date
Chris Johns
29a300a766 Fix the ZIP label. 2013-04-20 21:51:10 +10:00
Chris Johns
4ce931b413 Add CVS download support.
These changes complete the CVS download support.
2013-04-20 21:47:28 +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
b0c2756190 Clean up the git module. 2013-04-16 17:41:31 +10:00
Chris Johns
200f0a33b6 Add a CVS module to manage CVS. 2013-04-16 17:39:48 +10:00
Chris Johns
f8bdb41bef Minor clean up. 2013-04-16 14:57:27 +10:00
Chris Johns
82e9f91ccf Add the --regression option. 2013-04-16 14:42:05 +10:00
Chris Johns
649a64c0af Add download git support.
Add support to use a git cloned repo as the source. Move the download
code out of the build module and into a separate module. Add to this
module support for git.

Update the GCC common configuration to support using a symlinked
git repo.

Add checks for all languages.
2013-04-16 14:28:34 +10:00
Chris Johns
64f337bdfc No specific static libraries. 2013-04-15 13:47:15 +10:00
Chris Johns
b8ee74d356 Add a %testing section to the configuration files. 2013-04-15 13:26:36 +10:00
Chris Johns
2cc7a974a5 PR 2117 - Only check the prefix is writable if installing and not a dry run. 2013-04-15 12:16:26 +10:00
Chris Johns
255e032bab PR 2115 - Fix checking when the path does not fully exist. 2013-04-15 11:15:01 +10:00
Chris Johns
c95c2456a4 PR 2116 - Fix the option parsing to handle both ' ' and '='. 2013-04-15 10:13:43 +10:00
Chris Johns
9994530920 PR 2115 - Check prefix path write access before starting to build.
Added a check in the options post processing to check is the
prefix path allows writes. No actual write check is made. just
the permissions are checked. If the --no-install options is
used the check is not made.

Moved the --no-install option from the set builder to the options
module.
2013-04-15 10:05:23 +10:00
Chris Johns
8508944647 PR 2115 - Fixed the exception on no 'what'. 2013-04-15 09:48:42 +10:00
Chris Johns
5e02e80d5a Add --no-download to disable the downloader. 2013-04-15 09:48:42 +10:00
Chris Johns
e45a2e4b1d Bug fix the list name. 2013-04-14 07:54:58 +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
667255cb77 Fix options bug when the macro file is not found. 2013-04-13 14:30:22 +10:00
Chris Johns
7ed2835f8e Hack in sources and print the macros when tracing. 2013-04-13 10:41:40 +10:00
Chris Johns
51b40617d2 Provide a better error message. 2013-04-13 10:41:00 +10:00
Chris Johns
376aabf5e4 Another defines bug fix. 2013-04-13 10:39:02 +10:00
Chris Johns
5c7b1ef1e7 Package data into macro, sources from macro and a bug fix.
Package descritions and info and now always added to macros.

Hack to get the source in macros into the source this. This needs
to move to the package class and will soon.

Fix a bug where the old defines was still referenced.
2013-04-13 10:34:47 +10:00
Chris Johns
014bfa9572 Add --macros option to load macro files. 2013-04-13 10:34:04 +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
06dad0acd8 Make exists support lists. Add a path expander call. 2013-04-13 10:30:07 +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
Chris Johns
54993543d7 Remove the deep copy and use a shallow copy so it worked on Python 2.6. 2013-04-06 08:28:09 +11:00
Chris Johns
affea817cd Fix the version module's name. 2013-04-05 14:10:48 +11:00
Chris Johns
efb6688be0 Support a common verion number for all commands. 2013-04-05 09:17:47 +11:00
Chris Johns
69e593825e Remove smp_mflags. Defaults adds this now. 2013-04-04 11:26:41 +11:00
Chris Johns
0add2eaa70 PR 2108, PR 2109. Add --jobs and --always-clean.
Refactor the options handling in defaults.py to allow the --jobs
option have varing specific parameters. The option supports 'none',
'max' and 'half' or a fraction to divide the number of CPUs or
an integer value which is the number of jobs. The --no-smp has
been removed.

The host specific modules have been changed to set the number of
CPUs in the defaults table.

Fixed the --keep-going to clean up is --always-clean is provided
even if the build has an error.
2013-04-03 14:31:41 +11:00
Chris Johns
e4cb1d01d6 Report the exit code on a shell macro failure. 2013-04-03 08:56:35 +11:00
Chris Johns
fbc946c0b1 Fix the CPU count on Linux. 2013-04-02 17:54:21 +11:00
Chris Johns
ee203a1f7a Save the original path away. 2013-04-01 15:35:51 +11:00
Chris Johns
4f26bdb2f0 Add Canadian Cross support.
Add support to build MinGW tools using Cygwin. This is a Canadian cross
build.

Do not expand the directives when parsing a configuration file. Hold
in the package object the text as read from the configuration file. Still
parse the logic but leave the macros. This allows a configuration to be
varied when the build happens. The Canadian cross uses this to build a
build compiler used to build a Cxc runtime.

Add Cxc support to the build module. In the defaults add rm and rmfile
macros, add Cxc paths and pre-build script code.

In the setbuilder check for a Cxc build and if so and the package
allow Cxc build the build host version then the host target
version.

Add cygiwn support to the defaults processing and to the Windows module.
2013-04-01 15:19:56 +11:00
Sebastian Huber
1e1ea1e1a2 Install reports under "share" directory
This is normally the place for architecture-independent (shared) data.
2013-03-23 08:55:56 +11:00
Chris Johns
03ae6cad2a Need to have a default patch opts 2013-03-21 20:43:11 +11:00
Chris Johns
b78c1288b2 Patch on FreeBSD needs to have -E to remove empty files. This is the Linux default. 2013-03-21 20:37:15 +11:00
Chris Johns
3351e1575d Add distro aliases to group similar types. 2013-03-15 17:00:38 +11:00
Chris Johns
c3ab00c2a4 Remove tabs. Add a safe way to default to a distro. 2013-03-15 16:15:23 +11:00
Dhananjay Balan
2feb624768 Arch specific additions 2013-03-15 16:10:49 +11:00
Dhananjay Balan
2c2c6bc824 Linux Distro specific path names 2013-03-15 16:10:34 +11:00
Chris Johns
aa4f8f66e0 Generate a better error message. Use the package name in the installing message. 2013-03-15 15:34:24 +11:00
Chris Johns
4266597633 Fix the second config call to pass defaults and opts. 2013-03-13 15:08:22 +11:00
Chris Johns
fd4e4fb875 Use separate defaults and opts for each build set. 2013-03-13 11:35:21 +11:00
Chris Johns
fa653c2ce2 Use the new opts define and add an undefine. 2013-03-12 18:30:15 +11:00
Chris Johns
b4b4f3c9de Add a define and undefine to opts. Define git details. 2013-03-12 18:29:57 +11:00
Chris Johns
5cba075c71 Improve the parsing in build set files. 2013-03-11 10:39:57 +11:00
Chris Johns
aabd20d513 Clean up the error message. 2013-03-11 10:37:13 +11:00