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

Reply via email to