Commit Graph

76 Commits

Author SHA1 Message Date
Chris Johns
ef07c0c540 waf: Build all BSPs with -k with errors
Closes #5252
2025-05-29 17:57:38 +10:00
Chris Johns
7c79f8c63d waf: Handle no version label in VERSION with releases
No version label in the VERSION file broke with
releases.

Closes #5186
2025-05-08 22:44:43 +00:00
Sebastian Huber
4df7021740 build: Make tar archives reproducible
Reduce dependency on umask settings.
2025-03-13 06:45:25 +00:00
Kinsey Moore
04d25322ac wscript: Set the major version to 7
The 6 branch has been created and main should now officially be RTEMS 7.

Closes #5177
2024-12-15 22:16:49 -06:00
Sebastian Huber
f45ccfa167 build: Remove Windows quirk
The current version of gccdeps.py works on Windows.
2024-11-21 04:22:31 +01:00
Sebastian Huber
7c099f5613 build: Fix native Windows build
Replace the Windows path separator to get proper UIDs.
2024-11-21 04:22:31 +01:00
Sebastian Huber
f6e55fa4b0 build: Remove Python 2 quirks 2024-11-21 04:22:31 +01:00
Sebastian Huber
ae7a21c5e9 build: Report normal Git hash
Commit 3d782180ea changed the reported Git
hash to short.  Change this back to the normal Git hash.  Existing
support code may rely on this.  The short hash is generated based on the
current repository state.  The reported hash should be useful also for
future states of the repository.  If Git changes the hash algorithm in
the future, then the hash length may be used as an indicator for the
hash algorithm.  With a variable hash length this is more difficult.

Simplify expression.

Update #5037.
2024-11-20 15:13:45 +00:00
Sebastian Huber
f4875c8f4d build: Fix spec cache
The updated waf version deletes the waf cache directory in the build
tree.  This removes also the build specification item cache.  Move the
cache directory so that it works across configure commands.
2024-11-08 00:24:21 +00:00
Chris Johns
a1c3d4ba8e version: Add the release label interfaces
- Mark the VC key interfaces as deprecated in doxygen

Updates #5037
2024-10-30 22:40:15 +00:00
Chris Johns
3d782180ea waf: Fix handling of the VERSION file in a release
Fixes #5037
2024-10-30 22:40:15 +00:00
Chris Johns
2c4c73fd40 waf: Reformat using yapf 2024-10-30 22:40:15 +00:00
Gedare Bloom
6ae5a04766 wscript: remove long_gcc for windows command line
waf now builds in support to detect the long command line problems
for windows.

Closes #5138.
2024-10-28 21:39:14 -06:00
Sebastian Huber
bd9f5c1eb0 Revert "build: Fix "set-value-enabled-by""
This reverts commit a616d26d6d.

The change was accidentally submitted and relates to a different branch.
2024-10-05 19:31:02 +00:00
Sebastian Huber
a616d26d6d build: Fix "set-value-enabled-by"
Fix Python error:

  File "wscript", line 1096, in _set_value_enabled_by
    if _is_enabled(conf.env.ENABLE, value_enabled_by["enabled-by"]):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: _is_enabled() missing 1 required positional argument: 'enabled_by'
2024-10-04 03:01:16 +02:00
Sebastian Huber
5cc08c8f4c build: Add "set-value-enabled-by" build option action 2024-10-02 05:24:30 +02:00
Sebastian Huber
344526b3e4 build: Add "comment" build option action 2024-10-02 05:24:30 +02:00
Sebastian Huber
5c5b4b832b libtests/dl*: Make build reproducible
Do not use a temporary file to create the symbol map.

Close #4941.
2024-07-18 00:12:02 +00:00
Sebastian Huber
a85402f76f build: Simplify wscript code 2024-05-23 20:55:21 +00:00
Sebastian Huber
be81a22332 build: Fix script action
We have to use a custom dictionary to be able to set the "value" argument in
the exec() context.
2024-02-28 08:36:47 +01:00
Sebastian Huber
d4d257a1c0 build: Add assert-in-set option action 2023-12-06 11:46:02 +01:00
Chris Johns
72c11fa91a waf: Fix Python 3.12 escape sequences
Updates #4968
2023-11-23 08:25:38 +11:00
Sebastian Huber
8b6c64f9ec build: Let the get-integer action return None
If used with the format-and-define action, this will result in an
undefined define.
2023-10-23 11:10:17 +02:00
Sebastian Huber
109479e874 build: Remove enabled-by special case
Doing the enabled-by processing just for the ldflags and just for the
link custom commands is confusing.  Use an option instead which is
intended to be used for such use cases.
2023-09-22 07:59:11 +02:00
Sebastian Huber
d2d1fa18a9 build: Use build context for custom commands
Revert duplicated listing of TEST_OPTIMIZATION_FLAGS.

Close #4947.
2023-09-11 11:36:58 +02:00
Alex White
cfb8a68f51 build: Allow enabled-by in ldflags for link_cc and link_cxx
This allows for conditionally setting 'ldflags' in scripts that use
`link_cc` and `link_cxx`. The immediate use case is allowing a linker
flag to be used only for MicroBlaze builds of certain tests.
2023-08-30 11:05:33 -05:00
Sebastian Huber
67925cebd8 build: Make gzip archives reproducible 2023-08-14 08:25:28 +02:00
Sebastian Huber
0a766a88d7 build: Make tar archives reproducible
This helps to make the build reproducible.
2023-08-11 07:54:09 +02:00
Sebastian Huber
0d76cc9f04 build: Add PROGRAM_PREFIX option
Replace --rtems-version with a PROGRAM_PREFIX option.  This allows also
the use of vendor tools.
2023-08-03 09:23:10 +02:00
Sebastian Huber
aca1724c4c build: Optionally use a VERSION file
Define the RTEMS version in the wscript.  Optionally use a VERSION file
to change the default values of the wscript.  Allow the command line
option --rtems-version to override __RTEMS_MAJOR__.  Remove support for
command line configurable options (--rtems-option).

Rename internal define RTEMS_VERSION_VC_KEY to
RTEMS_VERSION_CONTROL_KEY.
2023-08-02 07:27:51 +02:00
Sebastian Huber
32c14694db build: Format with yapf 2023-06-14 14:19:39 +02:00
Sebastian Huber
bcef89f236 Update company name
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
2023-05-20 11:05:26 +02:00
Sebastian Huber
3612dc7d61 build: Print item UID in case of errors
This helps to identify issues in build items.
2023-03-06 16:37:06 +01:00
Sebastian Huber
f20078acea build: Use enabled by for defaults
Merge the "default" and "default-by-variant" attributes.  Use an
"enabled-by" expression to select the default value based on the enabled
set.  This makes it possible to select default values depending on other
options.  For example you could choose memory settings based on whether
RTEMS_SMP is enabled or disabled.

The change was tested by comparing the output of

  ./waf bspdefaults

before and after the change.
2023-01-17 08:31:48 +01:00
Sebastian Huber
cac528f85a build: Add reason to test state definitions 2023-01-17 08:30:21 +01:00
Gedare Bloom
a640854b5e wscript: rename bsp_list to bsplist 2022-11-11 11:58:05 -07:00
Gedare Bloom
9c15524f15 wscript: rename bsp_defaults to bspdefaults 2022-11-11 11:58:05 -07:00
Gedare Bloom
dc8539c108 wscript: fix formatting with yapf 2022-11-07 09:49:38 -07:00
Sebastian Huber
a13047ca0e build: Allow separate optimization flags
Allow separate optimization flags for the BSP, cpukit, and tests.  For example,
the BSP and cpukit may be built without optimization if coverage
instrumentation is enabled, however, the tests may still use optimization.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
42da08dd9d build: Add cppflags, cflags, cxxflags to groups
Propagate the group defined cppflags, cflags, and cxxflags from parent groups
to child items through the build item context.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
0bb7b84698 build: Improve value substitution
The waf build system uses lists for tool flags.  The build items may use
variable substitution.  Add the ability to use the variable substitution in
lists.  For example:

MORE_FLAGS = ['-more', '-flags']

flags:
- -some-flag
- ${MORE_FLAGS}

Before this change, the ${MORE_FLAGS} was substituted to "-more -flags".  This
would be passed by waf as a single command line argument to the tool.

After this change, the ${MORE_FLAGS} list extends the flags list:

flags = ['-some-flag', '-more', '-flags']

This list extension is performed if a list element consists of exactly one
variable.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
4aeebaee5b build: Fix identifier pattern
Allow upper case characters in identifiers.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
281f39a600 build: Move BSP_INCLUDES split
The goal is to let the build items define as much as possible.
2022-07-04 08:29:52 +02:00
Sebastian Huber
857fb17db1 build: Add more flags to BuildItemContext
Add cppflags, cflags, and cxxflags to BuildItemContext.  This allows to
propagate the flags from parent items to child items.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
ed51fad53a build: Assert value properties only if not None 2022-06-08 09:08:26 +02:00
Kinsey Moore
88dc1880ec wscript: Allow start code to be written in C
Start code for most platforms requires hand-coded ASM but some can be
bootstrapped entirely in C, especially for paravirtualized platforms.
This change allows start code to be written in C where possible instead
of requiring architecture-specific ASM to bridge to C.
2022-04-26 09:23:22 -05:00
Kinsey Moore
c3e8a97baf wscript: Allow substitution outside values
This expands the ability to substitute variables outside the current
limitation of values in options to asflags, cflags, cppflags, cxxflags,
ldflags, and includes. It is possible for all of these flags to utilize
user-defined information in config.ini, especially for paths to external
resources.
2022-04-14 13:11:45 -05:00
Sebastian Huber
1a5991e4e7 build: Apply command line options to all variants
Update #4548.
2022-03-18 14:57:43 +01:00
Sebastian Huber
c1395ca056 build: Add --rtems-version command line option
Update #4548.
2021-11-17 09:16:13 +01:00
Sebastian Huber
a0650f5f32 build: Support command line specified options
Update #4548.
2021-11-16 07:46:16 +01:00