This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
What's the right way to do host libraries required for gcc
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: gcc at gcc dot gnu dot org
- Cc: gcc-patches at gcc dot gnu dot org, dj at redhat dot com
- Date: Wed, 13 Nov 2002 13:32:00 -0500
- Subject: What's the right way to do host libraries required for gcc
(DJ, i cc'd you since you maintain libiberty, and thus, might have some
insight on how to do this)
A bit of context:
On the tree-ssa branch, i've added libbanshee, which is a support
library for a constraint engine generator (BSD licensed, before the
uproar starts) that is used for andersen points-to analysis (arguments
over whether we should do this are not wanted right now. If someone
feels like implementing Andersen's analysis, and can do it in a way
that is as memory efficient, fast, and easy to maintain as using this
constraint engine is, feel free, and I wish you luck. :P)
I've got it so if libbanshee isn't configured, we just leave out
Andersen's points-to analysis from gcc, no muss, no fuss. So it's not
*required* in the sense that if one wants to leave it out (or disable
it on your host or whatever), you can, and everything still works fine,
this feature just disappears from your gcc. I've done this mainly
because while libbanshee is portable, I'm sure that there will be some
odd platform on which it doesn't build at first (since it's ANSI C, not
K&R), and i don't want to break their bootstraps until it gets fixed.
But it's still a host built library required for gcc, much the same way
libiberty is, when it *is* used.
But it's not quite the same, since it's optional (GCC always just
assumes libiberty is built, since it's absolutely required).
I currently detect whether it was configured from gcc's configure.in
(since we need to not build tree-alias-ander.c or link in the libraries
when libbanshee isn't available) by checking for the existence of
../libbanshee/config.status.
Is there any better way to do this? I tried looking through variables
that the top level makefile uses when figuring out what directories are
configured, but they aren't exported, so when we configure gcc, they
aren't available. Should I just make them available?
As I said, I already have it cleanly doing the right thing to not need
libbanshee if we detect it's not around. I just need to know if there
is a better way to do the actual detection of whether it was configured
or not.
--Dan