27 Commits

Author SHA1 Message Date
Karel Gardas
83d97daa07 add basic support for OpenBSD 2015-06-22 10:12:44 +10:00
Chris Johns
ba0008c372 sb: Do not accept an extra separate option for --with/--without.
The --with/--without that does not have an extra option was
consuming an extra option on the command line.
2015-03-20 13:57:27 +11:00
Chris Johns
d7550652cb Add options support for --with/--without processing. Add --with-download support.
You can now test downloading by using --dry-run and --with-download.

Print the redirect if one is taken.
2015-02-18 10:27:02 +11:00
Chris Johns
3963ac4aae Detect a Cxc build from the options and automatically disabled installing.
This is similar to always providing --no-install on the command when building
a Cxc package.
2015-01-18 11:24:11 +11:00
Chris Johns
85b46b85f1 sb: Provide a default log if none is provided. 2014-10-31 15:11:10 +11:00
Karel Gardas
5eb832f296 add support for i386-solaris2 platform 2014-10-07 19:50:59 +11:00
Chris Johns
74da24cb61 sb: Generate an error report on an error.
Generate an error report users can send to the mailing list with
error details.
2014-05-08 13:20:29 +10:00
Chris Johns
8c19df26f6 sb: Fix git to clean before updating. 2014-03-26 17:13:47 +11:00
Chris Johns
348e4983df sb: Add options log_info.
Provide a log_info method for the options class to log the command line
and the python version string.
2013-09-03 07:59:38 +10:00
Ivan Temp
a4937d8585 sb: Add NetBSD support. 2013-09-01 08:39:12 +10:00
Chris Johns
ebf8a1f0f8 Automtically build the Autotools to bootstrap RTEMS.
This changes adds support to build the autotools if the host installed
version is not a suitable version. Autoconf and automake have hard coded
references to the install prefix and host tools and this makes it impossible
to relocate, that is use in any path other than the install prefix. To
bootstrap automake you need to first build a suitable autoconf and with that
you can built automake for the install prefix. The other complication is
not referencing the install prefix in the path when building in the RSB.
Having the install prefix in the path can result in strange issues appearing
such as gcc using a new assembler feature not present in an older assember
installed under the install prefix.

The process is to build the autotools using an install prefix to an
internal path inside the RSB temporary path and to use that autoconf
to build the version for the install prefix. The internal install
prefix version is also used to bootstrap RTEMS.
2013-07-16 10:02:41 +10:00
Chris Johns
54d142615c Clean the paths passed as args. 2013-05-17 12:52:22 +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
2edd4c9f28 Produce a better error message if the host support code does not load. 2013-05-01 05:30:22 +10:00
Chris Johns
fbb39e70c3 Add options help. 2013-04-30 13:22:28 +10:00
Chris Johns
dfdc129a08 Add user private macro loading. 2013-04-30 11:19:09 +10:00
Chris Johns
5142becd8e Refactor the logging support. 2013-04-21 18:37:02 +10:00
Chris Johns
82e9f91ccf Add the --regression option. 2013-04-16 14:42:05 +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
5e02e80d5a Add --no-download to disable the downloader. 2013-04-15 09:48:42 +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
014bfa9572 Add --macros option to load macro files. 2013-04-13 10:34:04 +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