On NetBSD with ksh changing into a symlink made PWD the link's
target path so a 'cd ..' returned you to that parent and not
the parent you started from. Record the build top and then
change back to that path.
Change the package names to the actual packages and remove the
extra directory in the build tree. This makes the paths simpler.
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.
Set up the rules to manage the separate host and build setting to
allow a Canadian cross to complete.
Update the scripts to move the build directory and host/build
flags into the defaults so they are common for all build
configurations.
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.
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.
This is used in the configuration scripts to specify which
libraries you want to be linked as static. For gdb this is
libexpat which is built as part of most build sets.
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.
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 arch build files. This allows archs to have different versions
and patches for specific tools.
Break the RTEMS config directory up into separate directories to
make long term maintenance easier. This required a change to config.py
to handle the config files being in subdirs of the config directory.
The defaults have been updated to include the install SB root so
packages built before a package are available.
Add makeinfo to the required tools. GDB (and others) need it to
build without error.