diff options
author | jb <jb@FreeBSD.org> | 1998-03-12 03:20:48 +0000 |
---|---|---|
committer | jb <jb@FreeBSD.org> | 1998-03-12 03:20:48 +0000 |
commit | 06ff1ba87744c7a1e8d3a131c005dd41fd577483 (patch) | |
tree | 201946cf5f6020ba3d455eb5d5c5a2754449ba5f /Makefile.alpha | |
parent | 0ba671bfd1becf7cf771dfcca1a9cbd9017460bf (diff) | |
download | FreeBSD-src-06ff1ba87744c7a1e8d3a131c005dd41fd577483.zip FreeBSD-src-06ff1ba87744c7a1e8d3a131c005dd41fd577483.tar.gz |
Once the new gcc is built, the shared library loader is configured as
the FreeBSD one which isn't built during the bootstrap. This causes all
programs that normally use shared libraries to fail to exec with
"ELF: not found". Sub-optimal. So force the boot strapped programs
to be linked statically.
To install the FreeBSD header files requires both the include tools and the
lib tools. And the libraries require the FreeBSD headers, so the first
build of the tools compiles FreeBSD source against NetBSD headers and
libraries. These tools are then used to install the headers and build
the FreeBSD libraries. After doing that, go back and rebuild the tools
_again_ so that they are fully FreeBSD (src, headers, libs). And only
then go on to build the rest of the FreeBSD system with _only_ FreeBSD
tools.
Diffstat (limited to 'Makefile.alpha')
-rw-r--r-- | Makefile.alpha | 51 |
1 files changed, 23 insertions, 28 deletions
diff --git a/Makefile.alpha b/Makefile.alpha index 1b1ef43..827b55e 100644 --- a/Makefile.alpha +++ b/Makefile.alpha @@ -1,4 +1,4 @@ -# $Id: Makefile.alpha,v 1.4 1998/03/10 20:25:17 jb Exp $ +# $Id: Makefile.alpha,v 1.5 1998/03/11 21:00:49 jb Exp $ # # NOTE: # @@ -69,8 +69,10 @@ COMPILER_ENV= BISON_SIMPLE=${WORLDTMP}/usr/share/misc/bison.simple \ LD_LIBRARY_PATH=${WORLDTMP}${SHLIBDIR} \ LIBRARY_PATH=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib -BMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} NOEXTRADEPEND=t +BMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} NOEXTRADEPEND=t \ + LDFLAGS=-static LMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} CC='cc -nostdinc' \ + LDFLAGS=-static \ MKDEP_CPP='${WORLDTMP}/usr/bin/cc -E -nostdinc' XMAKEENV= PATH=${STRICTTMPPATH} ${COMPILER_ENV} \ CC='cc -nostdinc' MKDEP_CPP='${WORLDTMP}/usr/bin/cc -nostdinc -E' @@ -182,10 +184,16 @@ buildworld: @cd ${.CURDIR} && ${LMAKE} build-tools @echo @echo "--------------------------------------------------------------" + @echo " Rebuilding all tools with the new FreeBSD tools to see" + @echo " if they work..." + @echo "--------------------------------------------------------------" + @cd ${.CURDIR} && ${LMAKE} build-tools +.if IHAVELOTSOFDISKSPACE + @echo + @echo "--------------------------------------------------------------" @echo " Rebuilding dependencies" @echo "--------------------------------------------------------------" @cd ${.CURDIR} && ${XMAKE} par-depend -.if IHAVELOTSOFDISKSPACE @echo @echo "--------------------------------------------------------------" @echo " Building everything.." @@ -366,48 +374,36 @@ libraries: @cd ${.CURDIR}/lib/libc && ${MAKE} depend && \ ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} -.if exists(lib/libcompat) @echo "-----------------------" @echo "Making ${.CURDIR}/lib/libcompat" @cd ${.CURDIR}/lib/libcompat && ${MAKE} depend && \ ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} -.endif -.if exists(lib/libutil) @echo "-----------------------" @echo "Making ${.CURDIR}/lib/libutil" @cd ${.CURDIR}/lib/libutil && ${MAKE} depend && \ ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} -.endif -.if exists(lib/libmytinfo) @echo "-----------------------" @echo "Making ${.CURDIR}/lib/libmytinfo" @cd ${.CURDIR}/lib/libmytinfo && ${MAKE} depend && \ ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} -.endif -.if exists(lib/libncurses) @echo "-----------------------" @echo "Making ${.CURDIR}/lib/libncurses" @cd ${.CURDIR}/lib/libncurses && ${MAKE} depend && \ ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} -.endif -.if exists(lib/libtermcap) @echo "-----------------------" @echo "Making ${.CURDIR}/lib/libtermcap" @cd ${.CURDIR}/lib/libtermcap && ${MAKE} depend && \ ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} -.endif -.if exists(gnu) @echo "-----------------------" @echo "Making ${.CURDIR}/gnu/lib" @cd ${.CURDIR}/gnu/lib && ${MAKE} ${CLEANDIR} ${OBJDIR} depend && \ ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} -.endif .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) @echo "-----------------------" @echo "Making ${.CURDIR}/secure/lib" @@ -415,20 +411,16 @@ libraries: ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif -.if exists(lib) @echo "-----------------------" @echo "Making ${.CURDIR}/lib" @cd ${.CURDIR}/lib && ${MAKE} depend && \ ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} -.endif -.if exists(usr.bin/lex/lib) @echo "-----------------------" @echo "Making ${.CURDIR}/usr.bin/lex/lib" @cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \ ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} -.endif .if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4) @echo "-----------------------" @echo "Making ${.CURDIR}/kerberosIV/lib" @@ -436,13 +428,6 @@ libraries: ${MAKE} ${MK_FLAGS} all && \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif -.if exists(usr.sbin/pcvt/keycap) - @echo "-----------------------" - @echo "Making ${.CURDIR}/usr.sbin/pcvt/keycap" - @cd ${.CURDIR}/usr.sbin/pcvt/keycap && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all && \ - ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} -.endif # # build-tools - build and install any other tools needed to complete the @@ -457,8 +442,6 @@ libraries: # gnu/usr.bin/awk # gnu/usr.bin/groff # bin/sh - # usr.bin/size - # usr.bin/strip # usr.bin/symorder build-tools: @-rm -f ${WORLDTMP}/usr/bin/awk @@ -466,6 +449,18 @@ build-tools: ln -s /usr/bin/awk ${WORLDTMP}/usr/bin/awk ln -s /bin/sh ${WORLDTMP}/bin/sh .for d in \ + gnu/usr.bin/make \ + gnu/usr.bin/xinstall \ + gnu/usr.bin/lex \ + gnu/usr.bin/gperf \ + gnu/usr.bin/bison \ + gnu/usr.bin/binutils \ + usr.bin/tsort \ + gnu/usr.bin/cc \ + usr.bin/compile_et \ + usr.bin/lex/lib \ + usr.bin/mk_cmds \ + usr.bin/uudecode \ bin/cat \ bin/chmod \ bin/cp \ |