30 Commits

Author SHA1 Message Date
Kinsey Moore
0baf1a8545 waf_libbsd: Fix typo in previous patch
There was a typo in the patch that added the HAVE_<LIBRARY> definition
that prevented "./waf configure" from succeeding. This adds the missing
character.
2021-10-08 09:05:05 -05:00
Kinsey Moore
e6bd18c10b waf_libbsd: Account for library check results
Conditionally compiled tests (consisting only of debugger01) were not
compiling as expected when libdebugger was present. This appears to have
occurred during the transition from header detection or due to an
intervening change in the waf internal libraries. The result of
check_cc() is the only location this information is reported, so library
checks now set HAVE_<LIBRARY> as appropriate when the library is found
so existing code for header configuration correctly recognize that a
library is present.
2021-10-06 08:35:37 -05:00
Chris Johns
7e282d2506 rtemsbsd/nfs: Add support to mount NFSv2
- NFSv2 requires userland RPC calls to determine the version of
  NFS and the FH. This is passed to the kernel.

- Port more libc/rpc.

Update #4475
2021-09-02 08:45:12 +10:00
Chris Johns
882425fe54 kern/sys: Add NFSv4 client
Update #4475
2021-08-31 18:38:48 +10:00
Kinsey Moore
a53aeb5eb9 rtemsbsd: Present all ZynqMP interfaces by default
Now that the issue with false PHY detection on unterminated MII busses
has been resolved, present all hardware interfaces for use on ZynqMP.
2021-07-15 10:07:16 -05:00
Kinsey Moore
b0c8153d54 rtemsbsd: Use config.inc to control ZynqMP ethernet
This alters the selection of the 4 Cadence GEM interfaces on the Zynq
Ultrascale+ MPSoC BSP to be provided by config.inc instead of being
provided by options in the RTEMS BSP itself since those options appear
to be dead code when not used in conjunction with LibBSD.
2021-07-01 10:33:39 -05:00
Jan Sommer
1ca0dc7309 waf_libbsd.py: Apply path-mappings to header-paths 2021-06-09 18:46:27 +02:00
Chris Johns
7027254d29 waf: Fix test module dependency check 2020-09-30 15:31:53 +10:00
Sebastian Huber
f1f0362080 build: Ensure mandatory compiler/linker flags 2020-09-19 13:26:41 +02:00
Chris Johns
089780d2de 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:52:15 +10:00
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