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.
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.
This is the reported known working tool set by the Milkymist project.
Currently this does not build on MacOS. It could be a host issue with
the age of the compiler.
When using the set builder and nesting builds prpvide the nested
set builder and build objects with copies of the master defaults.
Python's variable sharing was sharing a single set of defaults
across all build sets and this resulted in popluted configurations.
Autoconf hard codes paths into itself. This change is a first
pass at allowing a clean environment to let automake build. The
ability to 'make install DESTDIR=xxx' autoconf then use it to
build automake needs a clean environment. The purpose is to
allow a prefix that needs root without building and packaging
when root.
Add URL and summary to the info helpers. Fix the package get_info and
allow infos to be appended to. This lets a summary be on more than
one line.
Fix the %{?} expansion logic so %{?macro} expands to the macro if it
exists.