This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]