[PATCH 0/3] libbsd: Create some basic buildsets.

Christian Mauderer christian.mauderer at embedded-brains.de
Thu Apr 26 09:50:19 UTC 2018


Hello,

after some other work interrupt I finally found the time to continue my
work on ticket #3351. Target of that ticket is to allow compiling libbsd
with some more or less functionality.

This patch set should close the ticket as soon as I have finished it.
Instead of influencing the compiler flags directly (which was my
original intention), the patches generate a header with defines for
active modules. This header can be used to change for example the
defines in the opt_xxx.h files or to remove the WiFi constructors in
ifconfig.


Patch 1 only fixes the usage of a config option.

Patch 2 adds the functionality to waf to generate a rtems/bsd/modules.h
that contains defines like

    #define RTEMS_BSD_MODULE_NETINET6 1

for each of the libbsd modules that are active in the current buildset
(defined by a buildset/*.ini file).

Patch 3 defines some buildsets:

a) It changes the default buildset to no longer include WiFi support.
>From my experience, that adds a lot of code but nearly no one needs it.

b) It adds a 'everything' buildset that includes WiFi.

c) It adds a 'minimal' buildset that has the target to disable as much
as possible. Currently it disables IPv6 and OpenSSL.


With this I get for example for the media01 test the following code
sizes for an ARM target:

   > arm-rtems5-size build/arm-rtems5-atsamv-*/media01.exe
   text    data     bss     dec     hex filename
   2430820  211448 30922152        33564420        2002704 build/arm-rtems5-atsamv-default/media01.exe
   3068860  211816 30283752        33564428        200270c build/arm-rtems5-atsamv-everything/media01.exe
   2284108  201520 31078760        33564388        20026e4 build/arm-rtems5-atsamv-minimal/media01.exe


I'm not sure whether I already have found all places in the tests where
the one or other functionality would be used (especially IPv6) so I
would expect that a lot of the tests fail on the minimal config. Beneath
that there are still some -DINET6 defines in libbsd.py that I have to
replace. But it would be great if I could already get some first
feedback for these patches.

With kind regards

Christian Mauderer



More information about the devel mailing list