20 Commits

Author SHA1 Message Date
Chris Johns
025af7c529 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:52:15 +10:00
Chris Johns
93effa4b01 waf: Reformat to PEP8 using yapf 2020-09-16 15:52:15 +10:00
Sebastian Huber
36a19bfde4 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-06-25 09:38:10 +02:00
Jan Sommer
dbf72c205d waf: Add path-mappings feature
- path-mappings allow to fix autogenerated include paths for some corner
cases of target platforms without the need to change the build system
- Currently used for i386 based bsps
2020-04-17 13:15:50 +02:00
Moyano, Gabriel
b4937b0792 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:13:43 +02:00
Chris Johns
3cc039cdac 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:53:18 +11:00
Chris Johns
35a7b448f9 Fix the sed generator for processing INI configuration files. 2019-06-26 13:32:06 +02:00
Chris Johns
103d31c044 config: Control the interface from the command line net config file. 2019-06-13 08:57:39 +02:00
Sebastian Huber
88f21b5e2a build: Make it possible to disable the tests 2019-02-18 10:40:44 +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