21 Commits

Author SHA1 Message Date
Chris Johns
7f7363f5f4 waf: Implement module dependency checking in the build system
- Do not build a test if a dependency is not enabled.

- Perform a dependency check and generate an error if an enabled module
  depends on a disabled module.

Closes #4077
2020-09-16 15:49:37 +10:00
Chris Johns
c38f93b0c6 build: Separate the kernel and user land include paths
- Provide support for separate user and kernel include paths in
  libbsd.py.

- Update all added files with a suitable context to build them
  with. Supported contexts are `kernel` and `user`.

- Kernel source use the kernel, CPU, and build header paths in
  this order.

- User source use the user, kernel, CPU and build header paths
  in this order. The FreeBSD /usr/include tree has some kernel
  header files installed as well as user land header files. This
  complicates the separation as some kernel header files are not
  visible to user land code while other are. This is handled by
  appending the kernel header paths to the user header paths so
  user land code will include a user header with the same name as
  a kernel header over the kernel header but will find a kernel
  header if there is no matching user header file.

Closes #4067
2020-09-16 15:49:37 +10:00
Chris Johns
7afbccd8d7 waf: Reformat to PEP8 using yapf 2020-09-16 15:49:37 +10:00
Sebastian Huber
2e6bc2ab40 build: Do not convert cflags to defines
This makes it possible to use module-specific C flags, for example to
instrument functions (-finstrument-functions).
2020-08-06 13:22:42 +02:00
Moyano, Gabriel
89be2af266 testsuite: Using RTEMS tester functions at beginning and at the end of tests
puts() was replaced with rtems_test_begin() and rtems_test_end()
2020-03-31 11:19:48 +02:00
Chris Johns
cbdeec00de waf: Change the test configure check for libdebugger to it's lib
- Add support for a 'test-if-library'

- Use rtems_waf's 'test_application()' fragment in the check_cc
  call

Closes #3948
2020-03-05 21:18:05 +11:00
Jan Sommer
9215a81d08 i386: Add to build 2020-02-10 10:42:42 +01:00
Chris Johns
71365506a8 config: Control the interface from the command line net config file. 2019-06-12 17:20:28 +10:00
Chris Johns
8a7d33cd30 Fix the sed generator for processing INI configuration files. 2019-04-04 17:16:28 +11:00
Sebastian Huber
5432c6bed3 build: Make it possible to disable the tests 2019-02-18 10:39:50 +01:00
Christian Mauderer
01855a5acd waf: Allow to only generate lex and yacc.
In some applications, it's usefull if the files generated by lex or yacc
are not build automatically. With that it is for example possible to
create a wrapper source file that sets some defines before the generated
code is parsed.
2018-08-01 09:55:27 +02:00
Christian Mauderer
e1d62e8ace waf: Fix python3 compatibility. 2018-05-24 11:20:34 +02:00
Christian Mauderer
dd35ec5cd7 waf: Allow to add libs per test.
Update #3419.
2018-05-04 07:15:36 +02:00
Christian Mauderer
93f19042f9 waf: Generate a rtems/bsd/modules.h
The generated file defines a RTEMS_BSD_MODULE_xxx for each enabled
module. That is usefull for conditional compilation depending on whether
a module is build not.

Update #3351.
2018-05-03 07:09:46 +02:00
Christian Mauderer
1588cf1e03 waf: Fix source code generators.
There have been some bugs with the strings left from the transition to
directly building from libbsd.py.
2018-05-03 07:09:46 +02:00
Christian Mauderer
821976e825 waf: Fix usage of build-include from config. 2018-05-03 07:09:46 +02:00
Sebastian Huber
443a058db4 Use network services from RTEMS
Close #3419.
2018-04-30 13:42:18 +02:00
Christian Mauderer
854427bec4 waf: Add configurations with different modules.
Update #3351
2018-04-10 08:55:47 +02:00
Christian Mauderer
a6a6d54909 waf: Fix freebsd-to-rtems.py.
Update #3351
2018-04-10 08:55:28 +02:00
Chris Johns
d797c5dcd2 waf: Refactor libbsd.py to support per module generation.
This change allows us to control the modules we want to build.

Update #3351
2018-04-10 08:54:58 +02:00
Chris Johns
f7a09b5985 waf: Support building from libbsd.py directly from waf.
Remove the need to generate a waf script.

Move various pieces of data from the builder code to libbsd.py and make
it configuration data.

Update #3351
2018-04-10 08:54:52 +02:00