summaryrefslogtreecommitdiffstats
path: root/source-builder/sb/config.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rtems: Do not build the RTEMS kernel by default in releases.Chris Johns2018-02-081-1/+2
| | | | Close #3292
* sb: Do not filter -f options from a BSP.Chris Johns2016-04-151-1/+1
|
* sb: fix the if logic to handle directives in if statements.Chris Johns2016-03-191-19/+61
| | | | | | | | | Directives in if statements end at the end of an if. The cannot change or split across directive boundaries. Add more trace detail to config.py. Updates #2661.
* sb: Fix vairable type in _if.Chris Johns2016-03-181-1/+1
| | | | Updates #2655.
* sb: Fix op parsing bug where the string was not created.Chris Johns2016-03-181-0/+2
| | | | Updates #2655.
* sb: Fix %if logical OP parsing.Chris Johns2016-03-181-3/+9
| | | | Updates #2655.
* bare: Update qemu package source hashes that are missing.Chris Johns2016-03-171-0/+4
| | | | | | | | Add support for pkgconfig checks to fail when just downloading the source so it is actually downloaded on hosts that may have a package installed. Updates #2657.
* sb: Support --dry-run --with-download for 3rd party RTEMS BSP packages.Chris Johns2016-03-171-12/+69
| | | | | | | | | | | | | | | | | | | | | | | The building of 3rd party packages for an RTEMS BSP requires a valid BSP so the standard method to download the source for releasing does not work. This change adds support to allow this. The RTEMS BSP support will not generate an error is no BSP or tools are provided or found. The change addis logic operators to the %if statement so you can '||' to 'or' and '&&' to 'and' logic expressions. A new %log directive has been added to clean up the messages. A new %{!define ...} has been added to aid checking within logic expressions. All command line --with/--without now appear as macros. Add version.version to get just the RTEMS major and minor version. Some pkg-config issues have been resolved. Closes #2655.
* sb: Update code base to support Python3 and Python2.Chris Johns2016-03-071-19/+22
| | | | | | Fix Windows support to allow MSYS2 Python to be used. Updates #2619.
* Remove the warning when undefining an undefined macro.Chris Johns2015-12-111-2/+0
|
* Canandian Cross Compiling and RTEMS 3rd party package building Fixes.Chris Johns2015-07-201-30/+38
| | | | | | | | | | | | 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.
* sb: Expand each data line.Chris Johns2015-06-051-0/+1
|
* sb: Fix the if logic for parameters.Chris Johns2014-08-231-3/+10
|
* rtems-4.11: Fix building the SPARC simulator.Chris Johns2014-08-211-1/+1
| | | | | Add support for simulator options to enable special features of some gdb simulators.
* Add checksum support for downloaded files.Chris Johns2014-07-291-2/+11
| | | | | | | | File download by http, ftp, pw support checksum. The %hash directive provides a means of setting a hash used to checksum the file. Files on disk or just downloaded are checked.
* sb: Trace relative paths for nesting configs.Chris Johns2014-06-171-16/+24
|
* sb: Add support for building RTEMS 3rd party packages.Chris Johns2014-06-151-61/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* sb: Implement %source and %patch to manage source and patches.Chris Johns2014-05-131-0/+12
| | | | | | Remove the numbered source and patches and automatically manage sources and patches. This removes the overhead in maintaining large collections of patches.
* config,sb: Qemu build updates for FreeBSD and the start of MinG32.Chris Johns2014-04-081-23/+37
| | | | | | | | | | Hack round the FreeBSD iconv support in Freebsd 10. In 10 libc now supports iconv however iconv.h is present under /usr/local. Start to add support to build qemu for MinGW via a Cxc. This is a work in progress and contains lots of hidden traps. In config.py separate out of the canadian build status.
* config: Change pkgconfig to check.Chris Johns2014-02-111-6/+49
| | | | | Add the extra actions: ccflags, cflags, ldflags and libs to allow the fetching of these from pkg-config files.
* sb: Add pkg-config support.Chris Johns2014-02-111-0/+28
| | | | | | | 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.
* sb: Fix the config _parse args.Chris Johns2013-09-031-1/+1
|
* sb: Fix nesting if statements.Chris Johns2013-09-031-68/+89
| | | | | | Nesting if statements did not correctly process the contents of the nested if script. This change makes the processing uniform across all the logic stages.
* Automtically build the Autotools to bootstrap RTEMS.Chris Johns2013-07-161-0/+8
| | | | | | | | | | | | | | | | | | 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.
* Fix support for Windows (MinGW) native builds using MSYS.Chris Johns2013-05-131-1/+5
| | | | | | | | | | 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.
* Add a function to return the config file name.Chris Johns2013-04-291-0/+3
|
* Fix the trace message for _disable.Chris Johns2013-04-281-1/+1
|
* Add '%disable select' to turn off the macros maps.Chris Johns2013-04-271-1/+15
|
* Refactor the logging support.Chris Johns2013-04-211-39/+32
|
* Add a %testing section to the configuration files.Chris Johns2013-04-151-1/+5
|
* Add support for snapshot testing.Chris Johns2013-04-131-25/+23
| | | | | | | | 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.
* Another defines bug fix.Chris Johns2013-04-131-1/+1
|
* Package data into macro, sources from macro and a bug fix.Chris Johns2013-04-131-10/+31
| | | | | | | | | 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.
* Refactor defaults, macros and options.Chris Johns2013-04-091-35/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Report the exit code on a shell macro failure.Chris Johns2013-04-031-1/+1
|
* Add Canadian Cross support.Chris Johns2013-04-011-25/+62
| | | | | | | | | | | | | | | | | | | | 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.
* Clean up the error message.Chris Johns2013-03-111-1/+1
|
* Define as a macro as the remaining fields of the split.Chris Johns2013-03-081-2/+2
|
* Macro %define updates an existing macro.Chris Johns2013-03-081-12/+27
| | | | | Analysis of the current script shows a number of updates are happening and this should be the default.
* Add a deps option to print the dependent config files.Chris Johns2013-03-071-0/+6
|
* More info helpers, allow info to append and fix %{?} expansion.Chris Johns2013-03-041-15/+27
| | | | | | | | | 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.
* Catch any importing errors.Chris Johns2013-03-041-5/+12
|
* Conditional macros are defined for true else must be 0 for false.Chris Johns2013-03-021-2/+3
| | | | | | | | | | | | | | | The RPM spec file will return value for %{?macro:value} if the macro is defined. This means you need to: %if %something %define macro 1 %else %undefine macro %endif which means you have to have more complex tests to check for the macro and its value. Therefore we support defined as true and defined and 0 as false.
* Fix %{?:} and %{!?:} conditional macros.Chris Johns2013-03-021-21/+29
| | | | | | | Building on Windows showed the --enable-plugin was being set yet it was disabled. The code was just checking if the macro was defined and not actually testing the value. The value is now being tested and it needs to be true to succeed.
* Fix the spelling.Chris Johns2013-02-271-1/+1
|
* Fix the != operator.Chris Johns2013-02-261-1/+1
|
* Clean out the unused directives.Chris Johns2013-02-241-10/+3
|
* Remove debug print from the config parsing.Chris Johns2013-02-131-1/+0
|
* Restructure RTEMS Config FilesChris Johns2013-02-131-2/+20
| | | | | | | | | | | | | | | 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.
* Move into the source-builder tree.Chris Johns2012-11-061-0/+873