Thanks for the pointer!  I'll have a look at this.

Much obliged,

Bill

On 11/12/20 9:54 AM, Jonathan Wakely wrote:
On Thu, 12 Nov 2020 at 15:39, Bill Schmidt via Gcc <gcc@gcc.gnu.org> wrote:
Hi!  I'm working on a project where it's desirable to generate a 
target-specific header
file while building GCC, and install it with the rest of the target-specific 
headers
(i.e., in lib/gcc/<target>/11.0.0/include).  Today it appears that only those 
headers
listed in "extra_headers" in config.gcc will be placed there, and those are 
assumed to
be found in gcc/config/<target>.  In my case, the header file will end up in my 
build
directory instead.

Questions:

* Has anyone tried something like this before?  I didn't find anything.
* If so, can you please point me to an example?
* Otherwise, I'd be interested in advice about providing new infrastructure to 
support
    this.  I'm a relative noob with respect to the configury code, and I'm sure 
my
    initial instincts will be wrong. :)
I don't know how relevant it is to your requirement, but libstdc++
creates a target-specific $target/bits/c++config.h header for each
multilib target, but it installs them alongside the rest of the C++
library headers, not in lib/gcc/<target>/.

It's done with a bunch of shell commands that takes the
autoconf-generated config.h file, combines it with a template file
that's in the source repo (libstdc++-v3/include/bits/c++config) and
then modifies it with sed. See the ${host_builddir}/c++config.h target
in libstdc++-v3/include/Makefile.am for the gory details. The other
make targets below it (for gthr-single.h and gthr-posix.h) are also
target-specific.

Those headers are listed in the ${allcreated} variable which is a
prerequisite of the all-local target, and then in the install target
they get copied into place.

Reply via email to