[PATCH] spec/pkgconfig: Allow builds to override headers

Chris Johns chrisj at rtems.org
Thu Sep 29 21:19:25 UTC 2022


On 29/9/22 11:24 pm, Kinsey Moore wrote:
> On 9/28/2022 19:03, Chris Johns wrote:
>> On 29/9/2022 7:13 am, Kinsey Moore wrote:
>>> This allows any builds targeting an installed RTEMS BSP to override
>>> headers in the installed BSP reliably, including headers previously
>>> installed by that or other builds. This includes applications, network
>>> stacks, libraries, and any other builds.
>> I am a little confused by these comments. This change effects the generated .pc
>> file for a BSP so it is only used once it is installed.
> Correct, this is a fix for things like rtems-libbsd and rtems-lwip that allows
> them to build correctly even if there are existing conflicting installations of
> that library already installed in the BSP install.

So this is a change to aid developers of these packages who use a single prefix
for the tools, BSP and packages? I split the install paths up and that avoids
the problem.

>> An install should update
>> the headers at the same time the .pc is installed and made available so what is
>> old or previous? What are the "builds targeting" you refer too?
> "builds targeting an installed RTEMS BSP" refers to any external build that uses
> installed RTEMS headers and libraries. These external builds can install their
> own files in the BSP install.

Is this install or reinstall?

>> I think defining the include search of RTEMS BSP and any vertical stack packages
>> headers installed under the same prefix as system headers seems like the right
>> thing to do. However this change will silence warnings from RTEMS (and installed
>> packages). Is that want we want?
> 
> What warnings will this silence? 

https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html

This changes the level of warnings we currently have for a specific but
important group of packages that are based on rtems_waf or use .pc files. I
think this is important to consider.

> It shouldn't affect RTEMS builds because RTEMS
> doesn't use the pkgconfg while building. It still places installed headers
> before actual system/tools headers in the include hierarchy, so any build errors
> generated that way should be preserved.

Is Makefile.inc also updated? It effects some users of RTEMS but not all. Is
that important?

Is this something we should document as mandated for all users of BSP installed
headers?

Chris


More information about the devel mailing list