> Right, I understand.  Assuming that they exist at this point, you
> could theoretically pass enough options to make it work -- although,
> as you say, it's hard to know what those options ought to be.  If
> everything is set up right, it's -I options (for libc headers), -L
> options (for libc and libgloss), and a -T option (for appropriate
> linker script).

I did that for m32c, the problem is that we're explicitly denying
linking with a GCC_NO_EXECUTABLES, then we link anyway.  It will
*always* break, regardless of -I/-L options, because autoconf itself
is complaining.

> Personally, I'd just not do a one-tree build. :-) But, I know that's
> popular with lots of folks, for various reasons, including not
> having to build the compiler twice.

Right, our internal trees are *all* one-tree builds.  It's vastly
simpler to just do "./configure; make; make install" than all the
nastiness needed to bootstrap a cross compiler.  It still won't fix
the libstdc++ bug, nor does it catch the libgloss bits.

> (One big-hammer solution there is to revive the "staged install"
> proposal, where you would do something like "make install
> DESTDIR=$objdir/install" after building each component, so that
> Newlib, libgloss, etc., would already be in this staging area,
> before building libstdc++.  I think that would simplify a lot of our
> Makefiles -- but, of course, necessitate a fair bit of change.)

DJGPP builds this way.  The actual Makefile targets *are* in the local
install tree, so they get built-in-place.  Then you just cp -rp the
bits you need (or in djgpp's case, zip them together for distribution).

Reply via email to