Date: Wed, 06 Feb 2002 19:32:39 -0800 From: Peter Wemm <peter@wemm.org> To: Terry Lambert <tlambert2@mindspring.com> Cc: Julian Elischer <julian@elischer.org>, Mike Barcroft <mike@FreeBSD.ORG>, Wilko Bulte <wkb@freebie.xs4all.nl>, Alfred Perlstein <bright@mu.org>, current@FreeBSD.ORG Subject: Re: Non 386 testers REALLY NEEDED Message-ID: <20020207033239.480313BAC@overcee.wemm.org> In-Reply-To: <3C61EC5E.C3E6BF54@mindspring.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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 - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020207033239.480313BAC>
