[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GCC 2.8.0 + Libg++ 2.8.0



Niklas Hallqvist writes:

 > We have now committed the gcc 2.8.0 and the libg++ 2.8.0 release (with
 > our own modifications to the build system of course) to our tree.
 > There are some notes for you who track -current.

Note: libg++ depends upon some relativly recent changes to the system
includes.  If you haven't updated to current (and done a make build)
recently (since 1 Mar 98) then you need to first:

	cd /usr/src/include && make includes

Then you can continue with the steps Niklas specified.

 > A	If you are on an a.out system (i.e. any port except mips,
 > 	powerpc or alpha-based architectures) you *must* first rebuild
 > 	and install src/gnu/usr.bin/gas.
 > 
 > B	Before libg++ can be built you *must* build and install gcc,
 > 	preferrably twice, i.e.:
 > 
 > 	cd /usr/src/gnu/usr.bin/gcc
 > 	rm -rf /usr/obj/gnu/usr.bin/gcc
 > 	make -f Makefile.bsd-wrapper obj
 > 	make -f Makefile.bsd-wrapper includes
 > 	make -f Makefile.bsd-wrapper
 > 	make -f Makefile.bsd-wrapper install
 > 	rm -rf /usr/obj/gnu/usr.bin/gcc
 > 	make -f Makefile.bsd-wrapper obj
 > 	make -f Makefile.bsd-wrapper
 > 	make -f Makefile.bsd-wrapper install
 > 
 > 	This way your gcc will have been built by itself (if you are
 > 	paranoid, do it a third time, and cmp(1) the executables).
 > 
 > C	Build and install libg++
 > 
 > 	cd /usr/src/gnu/lib/libg++
 > 	rm -rf /usr/obj/gnu/lib/libg++
 > 	make -f Makefile.bsd-wrapper obj
 > 	make -f Makefile.bsd-wrapper includes
 > 	make -f Makefile.bsd-wrapper
 > 	make -f Makefile.bsd-wrapper install
 > 
 > If you are not having a standard obj tree setup, your milage will of
 > course vary.
 > 
 > Also, if you build your kernel with new gcc, remember to reconfig your
 > config files, as the Makefiles needs to be regenerated to work

This script worked for me.

#! /bin/sh
#
set -e

# Update system headers
#
(cd /usr/src/include &&
 make includes)

# Make gas
#
(cd /usr/src/gnu/usr.bin/gas &&
 rm -rf /usr/obj/gnu/usr.bin/gas &&
 make obj &&
 make &&
 make install)

# Make gcc
#
(cd /usr/src/gnu/usr.bin/gcc &&
 rm -rf /usr/obj/gnu/usr.bin/gcc &&
 make -f Makefile.bsd-wrapper obj &&
 make -f Makefile.bsd-wrapper includes &&
 make -f Makefile.bsd-wrapper &&
 make -f Makefile.bsd-wrapper install )

# Make gcc again, using the new gcc
#
(cd /usr/src/gnu/usr.bin/gcc &&
 rm -rf /usr/obj/gnu/usr.bin/gcc &&
 make -f Makefile.bsd-wrapper obj &&
 make -f Makefile.bsd-wrapper &&
 make -f Makefile.bsd-wrapper install )

# Make libg++ using the new gcc
#
(cd /usr/src/gnu/lib/libg++ &&
 rm -rf /usr/obj/gnu/lib/libg++ &&
 make -f Makefile.bsd-wrapper obj &&
 make -f Makefile.bsd-wrapper includes &&
 make -f Makefile.bsd-wrapper &&
 make -f Makefile.bsd-wrapper install )

exit 0