Date: Sat, 20 Jun 1998 18:17:09 +0200 (CEST) From: Joachim Kuebart <joki@kuebart.stuttgart.netsurf.de> To: freebsd-current@FreeBSD.ORG Subject: ELF make world Message-ID: <199806201617.SAA23116@jaguar.domestic.de>
next in thread | raw e-mail | index | archive | help
Hi, I managed a complete make world from the 19980619-current with the below patches to Makefiles. >From the checked-out sources, no ELF buildworld was possible (at least not from my not-yet-completely-ELFified system). Note that this still doesn't support an ELF buildworld from an a.out system! You'll still have to compile all or some of lib/csu/i386-elf/, gnu/usr.bin/cc/libgcc/, lib/libc/, libexec/rtld-elf/, all of lib/, all of gnu/lib/, secure/lib/ and usr.bin/lex/lib/ by hand first (as suggested by John Birrell on June 1). However, I cannot compile LKMs at the moment due to symorder(1) incompatibility, or is it me? And what can be done about the fact that /sys/i386/boot/biosboot/* become too large files when built with ELF? Index: Makefile =================================================================== RCS file: /usr/CVS-Repository/src/Makefile,v retrieving revision 1.203 diff -u -r1.203 Makefile --- Makefile 1998/06/17 09:34:42 1.203 +++ Makefile 1998/06/20 18:11:58 @@ -207,8 +207,8 @@ COMPILER_ENV= BISON_SIMPLE=${WORLDTMP}/usr/share/misc/bison.simple \ COMPILER_PATH=${WORLDTMP}/usr/libexec:${WORLDTMP}/usr/bin \ GCC_EXEC_PREFIX=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib/ \ - LD_LIBRARY_PATH=${WORLDTMP}${SHLIBDIR} \ LIBRARY_PATH=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib +# LD_LIBRARY_PATH=${WORLDTMP}${SHLIBDIR} \ BMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} NOEXTRADEPEND=t \ OBJFORMAT_PATH=${WORLDTMP}/usr/libexec:/usr/libexec @@ -502,10 +502,11 @@ cd ${.CURDIR}/usr.bin/yacc; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \ ${MAKE} ${MK_FLAGS} all; \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} +# sh needs the lex libs, so build them! cd ${.CURDIR}/usr.bin/lex; ${MAKE} bootstrap; \ ${MAKE} ${MK_FLAGS} ${_DEPEND}; \ - ${MAKE} ${MK_FLAGS} -DNOLIB all; \ - ${MAKE} ${MK_FLAGS} -DNOLIB -B install ${CLEANDIR} + ${MAKE} ${MK_FLAGS} all; \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} .if !defined(NOOBJDIR) cd ${.CURDIR}/usr.bin/lex; ${MAKE} ${OBJDIR} .endif @@ -564,9 +565,13 @@ .else cd ${.CURDIR}/lib/libtelnet; ${MAKE} beforeinstall .endif +.if exists(${.CURDIR}/lib/csu/${MACHINE}-${BINFORMAT}) + cd ${.CURDIR}/lib/csu/${MACHINE}-${BINFORMAT}; ${MAKE} beforeinstall +.else .if exists(${.CURDIR}/lib/csu/${MACHINE}) cd ${.CURDIR}/lib/csu/${MACHINE}; ${MAKE} beforeinstall .endif +.endif cd ${.CURDIR}/lib/libalias; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libc; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libcalendar; ${MAKE} beforeinstall @@ -661,7 +666,11 @@ .if exists(lib/csu/${MACHINE}.pcc) _csu=lib/csu/${MACHINE}.pcc .else +.if exists(lib/csu/${MACHINE}-${BINFORMAT}) +_csu=lib/csu/${MACHINE}-${BINFORMAT} +.else _csu=lib/csu/${MACHINE} +.endif .endif .if !defined(NOSECURE) && !defined(NOCRYPT) Index: Makefile =================================================================== RCS file: /usr/CVS-Repository/src/sys/Makefile,v retrieving revision 1.9 diff -u -r1.9 Makefile --- Makefile 1998/02/20 07:37:08 1.9 +++ Makefile 1998/06/20 18:12:43 @@ -1,9 +1,9 @@ # $Id: Makefile,v 1.9 1998/02/20 07:37:08 jb Exp $ .if defined(MACHINE_PC98) && ${MACHINE_PC98} == "yes" -SUBDIR= pc98/boot +#SUBDIR= pc98/boot .elif exists(${MACHINE}/boot) -SUBDIR= ${MACHINE}/boot +#SUBDIR= ${MACHINE}/boot .endif HTAGSFLAGS+= -at `awk -F= '/^RELEASE *=/{release=$2}; END {print "FreeBSD", release, "kernel"}' < conf/newvers.sh` Index: Makefile =================================================================== RCS file: /usr/CVS-Repository/src/libexec/rtld-elf/Makefile,v retrieving revision 1.2 diff -u -r1.2 Makefile --- Makefile 1998/04/30 07:47:58 1.2 +++ Makefile 1998/06/20 18:13:43 @@ -12,4 +12,9 @@ .PATH: ${.CURDIR}/${MACHINE} +install: + cp -f ${PROG} ${DESTDIR}${BINDIR} + chmod ${BINMODE} ${DESTDIR}${BINDIR}/${PROG} + chown ${BINOWN} ${DESTDIR}${BINDIR}/${PROG} + .include <bsd.prog.mk> cu Jo --------------------------------------------------------------------- FreeBSD: The Power to Serve <http://www.freebsd.org> Joachim Kuebart Tel: +49 711 653706 Replicants are like any other machine -- Germany they're either a benefit or a hazard. 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?199806201617.SAA23116>