Terry Lambert wrote:
> Julian Elischer wrote:
> > how about a port that uses the installed sources
> > together with some uploaded parts to 'reconstitute' gcj as if it had been
> > compiled wit the rest of the system.
>
> FreeBSD does a fairly evil thing: it takes the compiler
> source code post-config instead of pre-config.
>
> It's really an incredibly bad idea to import *after* a
> config instead of before.
Terry, you have no f*cking idea what we do. The last time this
happened was with gcc-2.6.1 / 2.6.3 about 8 years ago. We do not import
after a configure. We import direct from the distributed tarballs.
The following files:
src/gnu/usr.bin/cc/cc_tools/auto-host.h
src/gnu/usr.bin/cc/cc_tools/freebsd-native.h
.. are vaguely based on stuff that configure generated and are hand tweaked
to deal with the *freebsd* environment (eg: whether printf supports %p
etc), rather than compiler configuration. The compiler and language
configuration is done at runtime in the bmake files. eg:
config.h hconfig.h:
echo '#include "auto-host.h"' > ${.TARGET}
echo '#include "gansidecl.h"' >> ${.TARGET}
echo '#include "${GCC_ARCH}/xm-${GCC_ARCH}.h"' >> ${.TARGET}
echo '#include "hwint.h"' >> ${.TARGET}
..
tm.h:
echo '#include "${GCC_ARCH}/${GCC_ARCH}.h"' > ${.TARGET}
.if ${GCC_ARCH} == "i386"
echo '#include "${GCC_ARCH}/att.h"' >> ${.TARGET}
.endif
echo '#include <freebsd.h>' >> ${.TARGET}
echo '#include "dbxelf.h"' >> ${.TARGET}
.if exists(${GCCDIR}/config/${GCC_ARCH}/elf.h)
echo '#include "${GCC_ARCH}/elf.h"' >> ${.TARGET}
.endif
echo '#include "${GCC_ARCH}/freebsd.h"' >> ${.TARGET}
.if ${GCC_ARCH} == "i386"
echo '#include "${GCC_ARCH}/perform.h"' >> ${.TARGET}
.endif
echo '#include <freebsd-native.h>' >> ${.TARGET}
About 8 years ago, this stuff was imported as generated by configure.
Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
"All of this is for nothing if we don't go to the stars" - JMS/B5
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message