Link tests after GCC_NO_EXECUTABLES
Sun Dec 2 21:11:00 GMT 2007
Rask Ingemann Lambertsen wrote:
> So, here is the patch to implement the config.cache file trick: Create a
> config.cache file with all the right link test answers for newlib just
> before running configure, in both Makefile.tpl and config-ml.in. This allows
> sparc-unknown-elf to build libstdc++-v3 with unmodified
> libstdc++-v3/configure.ac. Libgfortran's configure.ac needs just the symbol
> versioning patch ported from libssp. And that's it!
This trick seems plausible to me. Certainly, if it works, it would
simplify development of configure scripts for run-time libraries.
My only concern with this approach is that Newlib might not be entirely
consistent across configurations and architectures. The libstdc++
approach presumably entails some manual verification of each function's
presence or absence; before we claim that "Newlib has foo" someone
verifies that. I don't know if this is a problem in practice.
For example, these lines seem like things that might vary.
I suppose we could solve that problem, if it arises, with different
config.cache files for different targets. Perhaps it would be best to
generalize this by adding a top-level --with-target-lib-cache= option,
and then, if that's not present, and $with_newlib is set, passing in the
Newlib cache that you have?
That would give people a way to say that for their particular RTOS
and/or C library the following functions are available.
In theory, at least, we might also have differences between multilibs.
It Would Be Nice to be moving GCC in the direction of allowing different
multilibs for different operating systems and/or C libraries. So, I
suppose the all-singing, all-dancing version of this would be some
option that allows you to specify a cache file per multilib. But, I
think that could be left for later.
What do you and others think?
(650) 331-3385 x713
More information about the Gcc-patches