43 Commits

Author SHA1 Message Date
Chris Johns
4c73a76c80 print/texinfo: Add texinfo package
- MacOS systems do not come with makeinfo

- Fix the internal build logic. There was config logic in a
  bset file that does not support logic operators. Use a
  special tmp internal path to isolate the internal tools.
2023-04-12 12:08:43 +10:00
Chris Johns
18b4507fc5 sb/config: Correctly handle multiple config paths
- Add rtems/config to the config directories searched to better
  support deployment

- Correctly expand the configdir and path searchs

Close #4710
2022-09-09 09:08:09 +10:00
Chris Johns
9c33ea0790 defaults.mc: Remove any checks for objdump and objcopy
- FreeBSD is removing any dependence on binutils and release 13
  has removed objdump. This is fine as we build our own version.
2021-07-01 10:31:31 +10:00
Sebastian Huber
e26d86f32b Use user ID number instead of name
This helps to avoid issues with user names which contain space
characters.

Close #3830.
2019-12-03 08:16:23 +01:00
Chris Johns
f4b75f466c sb/default: Add _dry_run as a default. 2019-10-27 18:24:05 +11:00
Chris Johns
b0e861cb0f sb/defaults: Provide a default for _rsb_getting_source. 2019-10-27 08:45:24 +11:00
Chris Johns
4b7af07300 5/llvm: Add LLVM as a package for RTEMS.
- Add '%source download <source>' to only download the source
  and do not unpack and prep. This can used when a package
  internally needs another source package.

- Install the staging root only if it is present. A package
  may internally build another package that is not staged as it
  is not suitable for installing.

Updates #3250
Updatew #3797
2019-09-16 08:21:40 +10:00
Chris Johns
2051e6ef9f sb/defaults: Add LDLIBS as some packages use this rather than LIBS. 2019-08-29 13:28:51 +10:00
Chris Johns
831ae05364 rtems/bsp: Build packages for the beagle BSP.
Closes #3769
2019-07-22 09:36:38 +10:00
Chris Johns
b1c2cb4f72 sb/setbuilder: Support staging of build set build before installing.
- Staging lets build sets use previously built build sets.

- Fix the rtems-bsp builds to support staging.
2019-07-21 21:09:34 +10:00
Chris Johns
8db33fbe43 rtems: Add kernel, libbsd and BSP building as packages. 2019-07-21 21:09:34 +10:00
Chris Johns
c799e04a8f 5/packages: Add curl and update all packages with RTEMS 5 and LibBSD
- Update rtems-bsp support to correctly handle hosts for BSP.
- Clean up the options for a BSP.
- Check all RTEMS 5 packages and add 5/rtems-packages for all that build.
- Update download locations and checksum of all packages.

- The work requires the kernel and Libbsd hacve the same prefix.
2019-07-21 21:09:34 +10:00
Sebastian Huber
f07504d271 Use HTTPS instead of FTP
FTP is an outdated protocol and blocked by some firewalls.
2019-01-23 13:41:30 +01:00
Chris Johns
96c414c8ff windows: Remove BuildRoot from all configs, add a short tmp path.
Closes #3562.
2018-11-05 15:46:42 +11:00
Chris Johns
13f4c37999 sb: Add support to search for a suitable version of python.
The command python has been removed from upstream python and python2
and python3 is now used. This patch wraps the commands in a shell
script that locates a suitable python to run.

Updates #3537
2018-10-21 09:49:02 +11:00
Sebastian Huber
2a5c9da489 Avoid hard coded GCC binary paths
In order to build a tool chain with Ada support a native GCC with Ada
support of the same version as the cross compiler is required.  The RSB
used hard coded paths for the gcc and g++ programs.  This forced the RSB
user to change the main GCC installation of the machine to build a
particular RTEMS tool chain.  This is undesired/infeasible in most
situations.

Close #3284.
2018-01-31 09:24:47 +01:00
Chris Johns
70e3e5e115 sb: Set the to email address to build@rtems.org.
- Fix a minor bug in the to addr processing.

Update #3210
2017-10-27 17:34:00 +11:00
Chris Johns
f5e724fc07 graphics: Add 3rd party graphics support back to the master branch.
The support is added at the top level and so not lost when we
move to a new version of RTEMS.

The change also moves all 3rd party packages to use a common
rtems-package.bset build set file.

All packages except Microwindows itself build cleanly.
2016-04-15 11:59:30 +10:00
Chris Johns
d3fa158109 sb: Add a download option --with-release-url/--without-release-url.
The default without the option is to prepend the release URL to the URL
list to download from the RTEMS FTP site first if the RSB is released. This
option can force the RTEMS FTP to be tried first when not a release,
or you can supply a different URL to download from or you can request
no RTEMS URL is tried first. Eg:

 --with-release-url
 --with-release-url=file://opt/local/cache
 --without-release-url

Move the RTEMS release URL to the default.mc file. Change the URL
to the RTEMS FTP server and do not use the https method of access.

The option's with_arg call was cleaned up to make sense.

Remove the log's raw output of an extra space.

Some download error message formating was cleaned up.

Closes #2636.
2016-03-10 16:32:49 +11:00
Chris Johns
dfc4a4f18f Make CVS optional. We should avoid using it. 2015-12-11 12:11:54 +11:00
Chris Johns
40e4222d87 Support released downloading of the RTEMS Tools and RTEMS Kernel.
Add a --without-error-reports flags to reduce the noise on --with-downloading.
2015-12-11 12:11:54 +11:00
Chris Johns
47d703fd8c sb. Add VERSION support for releasing the RSB.
Add support to release the RSB by adding the VERSION file. The file
is a single line with the version.

Fix the reports to include the version. Update the INI file
support to include the details of the build.

Show the GIT or released version when the command starts.

Closes #2480.
2015-12-03 22:25:00 +11:00
Chris Johns
6444d5806d Canandian Cross Compiling and RTEMS 3rd party package building Fixes.
The change fixes installing for RTEMS 3rd Party packages where the
RSB considered them Canadian Cross Compiling (Cxc). Fixing the
Cxc issue broke real Cxc builds. The change corrects the issue of
macros being changed in the Cxc and the prep data not being udpated.
The configuration is loaded again after the updated macros. The
macros are also copied and restored to ensure a clean stable base.

The change also introduces --rtems-tools and --rtems-bsp to align
the command line with the waf configure process or RTEMS application.
2015-07-20 13:49:42 +10:00
Chris Johns
b31d5e2dd9 Fix C++ build support for cross-compiling RTEMS 3rd party packages. 2015-01-23 14:31:25 +11:00
Chris Johns
0392c5fe6c Provide flags and include paths for the host when building a Cxc. 2015-01-18 11:23:12 +11:00
Chris Johns
712ef18988 sb: Add CXX flags support rather than use CFLAGS. 2014-07-25 21:45:01 +10:00
Chris Johns
0ffee19316 sb: Add support for building RTEMS 3rd party packages.
Remove the 'opt' from various macros and shell variables.

Add pkgconfig to the checks to make it clear the check is a
pkgconfig check.

Add NTP support as the first package to be built using the RSB.

Split the RTEMS URL's out from the base bset file into a separate
file that be included by other files.

Add an RTEMS BSP configuration file to help abstract the process
of building 3rd party packages.

Clean the cross and canadian cross support up so we can cleanly support
cross and canadian cross building.

Refactor the pkgconfig support and clean up the PC file handling of
loading modules.

Add support for %{?..} to return false if a macro is %{nil}.

Add %{pkgconfig ..} support to allow better control of access RTEMS
pkgconfig files.
2014-06-15 17:40:34 +12:00
Chris Johns
2a6acc7267 config: Fix the host and build options for Canadian cross builds.
The ARM on 4.9.0 with clang fails and needs an extra option and
this is only valid building the build cross compiler. This change
fxies the host and build flags so they only apply where needed.
2014-05-04 06:22:46 +00:00
Chris Johns
c4fefdeb55 sb: Add pkg-config support.
Add a pkg-config look alike command so packages that use pkg-config can
build if pkg-config is not present on a host.

Add support to query package config from configuration scripts.
2014-02-11 10:18:35 +11:00
Chris Johns
56e8d80055 config: Add support to build qemu.
Qemu requires gettext, glib, libffi, and pixman. DTC is built
as a submodule.

On Mavrick provide a pkg-config command so avoid needing a pkgconfig.
The one here is only just good enough to work.

Provide an internal autotools build including libtool so qemu can
be built from git.
2014-02-04 18:38:18 +11:00
Chris Johns
1e7eb16aec Fix the link path for GDB expat test.
If doing a Cxc add the ld flags to the CC to allow the expat to
build. This broke with the change to support clang on Mavrick.
2014-01-07 22:30:41 +11:00
Chris Johns
4a59eb9562 Split FLAGS into CFLAGS and LDFLAGS.
The clang compiler on MacOS 10.9 (Maverick) generated a warning when
LDFLAGS where passed on the command line. This change lets the RSB
build RTEMS GCC tools on a clean Maverick install.
2013-10-26 10:12:15 +11:00
Chris Johns
6201a0dd88 config: Add the iconv encodings to the defaults. 2013-08-14 13:55:33 +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
2626dbae7c Fix the Cxc build configuration for the DTC tool. 2013-07-14 09:11:21 +10:00
Chris Johns
db65c6aaf1 Support Canadian cross builds on FreeBSD (and other hosts).
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.
2013-05-15 12:15:14 +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
9815f5ffd2 CVS is required. The newlib version is based on cvs for 4.11. 2013-04-30 17:55:33 +10:00
Chris Johns
97a685fae3 Add mail support to mail reports. 2013-04-30 11:20:54 +10:00
Chris Johns
200f0a33b6 Add a CVS module to manage CVS. 2013-04-16 17:39:48 +10:00
Chris Johns
ff91af27c3 Add _forced_static to the default.
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.
2013-04-15 11:45:00 +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