264 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
43742834c2 waf: Add a config report 2020-09-16 15:49:37 +10:00
Christian Mauderer
fedd993da8 freebsd-to-rtems.py: Use all modules.
Update #3351
2018-04-10 08:55:47 +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
Sebastian Huber
445d59e39c Remove ability to synchronize with Linux 2017-10-24 08:15:06 +02:00
Sebastian Huber
23d6e507d6 scripts: Support Linux import 2017-10-20 14:59:55 +02:00
Sebastian Huber
fa4ec51293 scripts: Generalize names 2017-10-20 14:59:55 +02:00
Chris Johns
f9798adc4d Add a stats report command.
The report shows the level of changes we have made to the FreeBSD code.
2016-05-31 09:49:31 +10:00
Chris Johns
533808975e Fix coding to be CamelCase. 2016-05-04 16:24:11 +10:00
Chris Johns
f1fcdba863 waf: Refector the builder to work with Python3 and UTF-8 source files.
Python 3 requires better UTF-8 handling of files and FreeBSD has UTF-8
characters in some files.

Refactor builder.py to clean up the code and remove the need to have
a temporary file. Update other scripts to use the new code.
2016-04-27 12:08:23 +10:00
Chris Johns
97c5024a79 Add RTEMS version support, update all python to 2 and 3.
Add support to force the RTEMS version. This remove the need for using
the --rtems-version command line option if the automatic detection fails.

Update all python code to support python 2 and 3.

Update rtems_waf to the latest version to support the RTEMS version,
check environment variables and to display the CC version.

Sort all tests. I think the unsorted list is dependent on the version
of python and so would result in repo noise as if it regenerted.
2016-04-18 10:53:20 +10:00
Sebastian Huber
df811cf76c Makefile: Delete
Use waf instead.
2015-09-25 14:07:00 +02:00
Chris Johns
8440506ee8 Add tcpdump and libpcap.
- Update the file builder generator to handle generator specific cflags and
  includes. The tcpdump and libpcap have localised headers and need specific
  headers paths to see them. There are also module specific flags and these
  need to be passed to the lex and yacc generators.

- Add the tcpdump support.
2015-06-15 17:42:23 +10:00
Chris Johns
5ba6949578 Add support to build using waf. 2015-05-20 17:45:16 +10:00
Chris Johns
314be23eec freebsd-to-rtems: Refactor the conversion support to allow multiples build systems.
Split the freebsd-to-rtems.py into separate parts to allow more than
a single build system generator.
2015-05-15 14:08:42 +02:00
Sebastian Huber
4f75a78165 mghttpd: Import from RTEMS 2015-04-08 07:58:38 +02:00
Sebastian Huber
0c395c0502 Add generated files
This avoids dependencies on a particular generator tool version.  On
MinGW and Cygwin hosts these tools tend to be outdated or somehow
incapable.
2015-04-08 07:57:05 +02:00
Sebastian Huber
0c10bd5da2 if_dwc: Import from FreeBSD 2015-04-01 09:15:29 +02:00
Sebastian Huber
710d2a1e1d mii: Add phy devices 2015-04-01 09:15:29 +02:00
Sebastian Huber
49b9c5e2df LAGG(4): Enable and test 2015-03-30 23:02:15 +02:00
Sebastian Huber
012c263eb1 VLAN(4): Enable and test 2015-03-30 23:02:15 +02:00
Sebastian Huber
d0ecc91ac1 media01: New test 2015-03-26 13:53:24 +01:00
Sebastian Huber
fc9e83bb68 mmc: Import MMC/SDCard support from libusb 2015-03-26 13:53:24 +01:00
Sebastian Huber
5bcdc25e72 smp01: New test 2015-03-24 15:20:57 +01:00
Sebastian Huber
50553bcd8e CONDVAR(9): Use FreeBSD implementation 2015-03-24 15:20:57 +01:00
Sebastian Huber
8475e7aa0a SLEEPQUEUE(9): Port to RTEMS 2015-03-24 15:20:57 +01:00
Sebastian Huber
53b03a1a57 SLEEP(9): Port to RTEMS 2015-03-24 15:20:56 +01:00
Sebastian Huber
20b7d3d9c0 Update due to Newlib <sys/time.h> etc. changes 2015-03-24 15:20:56 +01:00
Sebastian Huber
67e7ea5433 Special case for <rtems/bsd/zerocopy.h> 2015-03-24 15:20:56 +01:00
Sebastian Huber
f59a2da89c Use C11 and C++11
This is necessary to use <stdatomic.h> and <atomic>.
2015-03-06 14:58:13 +01:00
Sebastian Huber
5c0aa976d3 Add zerocopy sendto 2015-02-13 10:34:20 +01:00
Sebastian Huber
948b1a5b57 freebsd-to-rtems.py: Fix revert includes 2015-02-13 10:34:19 +01:00
Sebastian Huber
cf20101e33 freebsd-to-rtems.py: Change default directories 2015-02-13 10:34:18 +01:00
Sebastian Huber
8fe59fe287 if_tsec: Add Nexus support 2015-02-13 10:34:18 +01:00
Sebastian Huber
5383ed4049 Add and use rtems_bsd_get_allocator_domain_size() 2015-02-13 10:34:18 +01:00
Sebastian Huber
3c302b62fd Add a simple page allocator 2015-01-29 08:51:43 +01:00
Sebastian Huber
dae9f66600 zy7_slcr: Import from FreeBSD 2015-01-21 15:00:20 +01:00
Sebastian Huber
946611a1af e1000phy: Import from FreeBSD 2015-01-21 15:00:20 +01:00
Sebastian Huber
b8e0c66e5f if_cgem: Import from FreeBSD 2015-01-21 15:00:19 +01:00
Sebastian Huber
8cdd1420c7 Add rtems_bsd_get_mac_address() 2015-01-21 15:00:19 +01:00
Sebastian Huber
33a15c304b Add and use rtems_bsd_get_task_stack_size() 2015-01-20 09:19:04 +01:00
Sebastian Huber
91ea7ea614 Add and use rtems_bsd_get_task_priority() 2015-01-20 09:19:00 +01:00
Sebastian Huber
026abfb7ae Add rtems_mdns_gethostname() 2014-11-10 08:28:38 +01:00
Sebastian Huber
7a3fe8ef43 Add rtems_mdns_sethostname()
Use it to set the multi-cast hostname of the default mDNS resolver
instance via sethostname().
2014-11-06 08:29:57 +01:00
Sebastian Huber
50e82a6d15 HOSTNAME(1): Import from FreeBSD 2014-11-05 14:28:11 +01:00
Sebastian Huber
7ba9b7f24c Add mDNS support for name service dispatcher 2014-11-04 13:02:56 +01:00
Sebastian Huber
54ed53794b Support sethostname() and gethostname() 2014-10-24 09:47:58 +02:00
Sebastian Huber
573b4cd62f ppp: Port to new stack 2014-10-08 15:03:29 +02:00