Skip site navigation (1)Skip section navigation (2)
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>