@Sebastian: Do you have a suggestion how I could resolve this? I think you have the most experience with the libbsd build system.
Best regards, Jan > -----Original Message----- > From: devel <devel-boun...@rtems.org> On Behalf Of jan.som...@dlr.de > Sent: Thursday, April 1, 2021 11:59 AM > To: chr...@rtems.org; devel@rtems.org > Subject: RE: [libbsd] How to install machine header files? > > > -----Original Message----- > > From: Chris Johns <chr...@rtems.org> > > Sent: Thursday, April 1, 2021 6:25 AM > > To: Sommer, Jan <jan.som...@dlr.de>; devel@rtems.org > > Subject: Re: [libbsd] How to install machine header files? > > > > On 1/4/21 6:37 am, jan.som...@dlr.de wrote: > > > Hello, > > > > > > I stumbled upon some include path problems in libbsd while looking > > > at > > Chris' ptpd port and I am not sure what is the recommended way to solve > it. > > > It starts with "freebsd/sys/sys/bus.h" including "machine/_bus.h". > > > Currently, this will be the one from within "rtemsbd" which will > > > redirect to > > "rtemsbsd/include/machine/bus.h" which is amd64 specific. > > > For the pc686 BSP this will create a compile error for applications > > > which > > include "<sys/bus.h>". > > > > OK. > > > > > I tried to solve it by removing the "_bus.h" in rtemsbsd and > > > installing the > > correct one from "freebsd/sys/i386/include/machine/_bus.h", but I am > > not sure how to tell waf to install the file. > > > Is there a way to add a single architecture specific header to the > > > install > > headers? > > > > Yes .... > > > > https://git.rtems.org/rtems-libbsd/tree/libbsd.py#n111 > > https://git.rtems.org/rtems-libbsd/tree/libbsd.py#n2903 > > > > > I could add a corresponding path and wildcard to the "header-paths" > > > in > > libbsd.py, but I am not sure if this is the right place. > > > > I think the PCI module is the place to handle this. I am sorry but I > > cannot see the issue clear at the moment and I cannot invest time > performing a build. > > > > Thank you for taking a look at it. > The main problem is, that the header files added there are not copied to the > prefix with "waf install". > To me it looks like only the files matched with header-paths > (https://git.rtems.org/rtems-libbsd/tree/libbsd.py#n123) are installed. > I checked today with the pc686 and zedboard builds and the header files > which end up in PREFIX/lib/include/machine are only the ones from within > the rtemsbsd directory and none from the > freebsd/sys/$ARCH/include/machine. > > > The addCPUDependentFreeBSDHeaderFiles() on line 2931 of libbsd.py in > > the PCI module looks a little suspect because there is no list of archs > provided. > > Could the issue be as simple as the list of archs is not there and the > > list is empty? > > > > It looks like only some of the add* functions take an archs list. > addCPUDependentFreeBSDHeaderFiles() only takes the header file list. > I dug around in the waf_libbsd.py, but I couldn't figure out what happens to > the header files added by this function. > > Best regards, > > Jan > > > Chris > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel