summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>1999-04-04 16:36:35 +0000
committerobrien <obrien@FreeBSD.org>1999-04-04 16:36:35 +0000
commit582be693c18cc73c5164f078f25e58e6b8d4294b (patch)
treec6b240bff3cb24de2473023aa283cea9dcfed0d3
parent218eb1e241e52da84b346bdc3fbe753278fdef2b (diff)
downloadFreeBSD-src-582be693c18cc73c5164f078f25e58e6b8d4294b.zip
FreeBSD-src-582be693c18cc73c5164f078f25e58e6b8d4294b.tar.gz
Minimum set of changes to switch from Gcc 2.7.2 (in contrib/gcc) to Egcs 1.1.2
(in contrib/egcs)
-rw-r--r--gnu/lib/Makefile4
-rw-r--r--gnu/lib/libgcc/Makefile75
-rw-r--r--gnu/lib/libobjc/Makefile24
-rw-r--r--gnu/lib/libstdc++/Makefile144
-rw-r--r--gnu/usr.bin/cc/Makefile4
-rw-r--r--gnu/usr.bin/cc/Makefile.inc35
-rw-r--r--gnu/usr.bin/cc/c++/Makefile13
-rw-r--r--gnu/usr.bin/cc/c++filt/Makefile6
-rw-r--r--gnu/usr.bin/cc/cc/Makefile18
-rw-r--r--gnu/usr.bin/cc/cc/f2c-specs.h29
-rw-r--r--gnu/usr.bin/cc/cc1/Makefile10
-rw-r--r--gnu/usr.bin/cc/cc1obj/Makefile11
-rw-r--r--gnu/usr.bin/cc/cc1plus/Makefile24
-rw-r--r--gnu/usr.bin/cc/cc_drv/Makefile24
-rw-r--r--gnu/usr.bin/cc/cc_int/Makefile11
-rw-r--r--gnu/usr.bin/cc/cc_tools/Makefile102
-rw-r--r--gnu/usr.bin/cc/cc_tools/auto-host.h204
-rw-r--r--gnu/usr.bin/cc/cccp/Makefile9
-rw-r--r--gnu/usr.bin/cc/cpp/Makefile9
19 files changed, 560 insertions, 196 deletions
diff --git a/gnu/lib/Makefile b/gnu/lib/Makefile
index 5750f60..e4dec01 100644
--- a/gnu/lib/Makefile
+++ b/gnu/lib/Makefile
@@ -1,5 +1,5 @@
-# $Id: Makefile,v 1.19 1998/09/02 14:56:59 bde Exp $
+# $Id: Makefile,v 1.20 1999/03/31 06:30:40 obrien Exp $
-SUBDIR= libdialog libg++ libgcc libgmp libmp libobjc libregex libreadline libstdc++
+SUBDIR= libdialog libgcc libgmp libmp libobjc libregex libreadline libstdc++
.include <bsd.subdir.mk>
diff --git a/gnu/lib/libgcc/Makefile b/gnu/lib/libgcc/Makefile
index f2841d9..01e9c62 100644
--- a/gnu/lib/libgcc/Makefile
+++ b/gnu/lib/libgcc/Makefile
@@ -1,8 +1,9 @@
#
-# $Id: Makefile,v 1.19 1999/01/09 21:50:55 jdp Exp $
+# $Id: Makefile,v 1.25 1999/03/14 21:30:05 obrien Exp $
#
-GCCDIR= ${.CURDIR}/../../../contrib/gcc
+GCCDIR= ${.CURDIR}/../../../contrib/egcs/gcc
+
.PATH: ${GCCDIR}/cp ${GCCDIR}
LIB= gcc
@@ -25,6 +26,7 @@ INSTALL_PIC_ARCHIVE= yes
# (CC).
#
XCC= ${CC}
+XCXX= ${CXX}
# Members of libgcc1.a.
LIB1FUNCS= _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
@@ -42,14 +44,27 @@ LIB2FUNCS= _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \
_fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi \
_fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi \
_fixtfdi _fixunstfdi _floatditf \
- __gcc_bcmp _varargs _eprintf _op_new _op_vnew _new_handler \
- _op_delete \
- _op_vdel _bb _shtab _clear_cache _trampoline __main _exit _ctors \
+ __gcc_bcmp _varargs __dummy _eprintf \
+ _bb _shtab _clear_cache _trampoline __main _exit _ctors \
_eh _pure
+# Library members defined in new1.cc.
+NEW1FUNCS= _op_new _op_newnt
+
+# Library members defined in new2.cc.
+NEW2FUNCS= _op_vnew _op_vnewnt _op_delete _op_delnt _op_vdel _op_vdelnt
+
+SRCS= frame.c tinfo.cc tinfo2.cc new.cc exception.cc
+
+CFLAGS+= -I${GCCDIR}/config -I${GCCDIR} -I.
+CFLAGS+= -fexceptions
+CFLAGS+= -DIN_GCC
+CXXFLAGS+= -I${GCCDIR}/cp/inc
+CXXFLAGS+= -nostdinc++
+
COMMONHDRS= config.h tconfig.h tm.h
-CFLAGS+= -I${GCCDIR}/config -I.
CLEANFILES+= ${COMMONHDRS}
+SRCS+= ${COMMONHDRS}
LIB1OBJS= ${LIB1FUNCS:S/$/.o/}
LIB2OBJS= ${LIB2FUNCS:S/$/.o/}
@@ -57,14 +72,26 @@ LIB1SOBJS= ${LIB1FUNCS:S/$/.So/}
LIB2SOBJS= ${LIB2FUNCS:S/$/.So/}
LIB1POBJS= ${LIB1FUNCS:S/$/.po/}
LIB2POBJS= ${LIB2FUNCS:S/$/.po/}
+NEW1OBJS= ${NEW1FUNCS:S/$/.o/}
+NEW2OBJS= ${NEW2FUNCS:S/$/.o/}
+NEW1SOBJS= ${NEW1FUNCS:S/$/.So/}
+NEW2SOBJS= ${NEW2FUNCS:S/$/.So/}
+NEW1POBJS= ${NEW1FUNCS:S/$/.po/}
+NEW2POBJS= ${NEW2FUNCS:S/$/.po/}
-OBJS= ${LIB1OBJS} ${LIB2OBJS}
+OBJS= ${LIB1OBJS} ${LIB2OBJS} ${NEW1OBJS} ${NEW2OBJS}
-config.h tconfig.h:
+config.h:
echo '#include "${MACHINE_ARCH}/xm-freebsd.h"' > ${.TARGET}
+tconfig.h:
+ echo '#include "${MACHINE_ARCH}/xm-${MACHINE_ARCH}.h"' > ${.TARGET}
+
tm.h:
- echo '#include "${MACHINE_ARCH}/freebsd.h"' > ${.TARGET}
+ echo '#include "${MACHINE_ARCH}/${MACHINE_ARCH}.h"' > ${.TARGET}
+ echo '#include "${MACHINE_ARCH}/att.h"' >> ${.TARGET}
+ echo '#include "${MACHINE_ARCH}/freebsd.h"' >> ${.TARGET}
+ echo '#include "${MACHINE_ARCH}/perform.h"' >> ${.TARGET}
${OBJS}: ${COMMONHDRS}
@@ -78,6 +105,16 @@ ${LIB2OBJS}: libgcc2.c
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
+${NEW1OBJS}: new1.cc
+ ${XCXX} -c ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc}
+ @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
+ @mv ${.TARGET}.tmp ${.TARGET}
+
+${NEW2OBJS}: new2.cc
+ ${CXX} -c ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc}
+ @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
+ @mv ${.TARGET}.tmp ${.TARGET}
+
.if !defined(NOPIC)
${LIB1SOBJS}: libgcc1.c
${CC} -c -fpic ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
@@ -88,6 +125,16 @@ ${LIB2SOBJS}: libgcc2.c
${XCC} -c -fpic ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
+
+${NEW1SOBJS}: new1.cc
+ ${XCXX} -c -fpic ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc}
+ @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
+ @mv ${.TARGET}.tmp ${.TARGET}
+
+${NEW2SOBJS}: new2.cc
+ ${CXX} -c -fpic ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc}
+ @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
+ @mv ${.TARGET}.tmp ${.TARGET}
.endif
.if !defined(NOPROFILE)
@@ -100,6 +147,16 @@ ${LIB2POBJS}: libgcc2.c
${XCC} -c -p ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
+
+${NEW1POBJS}: new1.cc
+ ${XCXX} -c -p ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc}
+ @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
+ @mv ${.TARGET}.tmp ${.TARGET}
+
+${NEW2POBJS}: new2.cc
+ ${CXX} -c -p ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc}
+ @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
+ @mv ${.TARGET}.tmp ${.TARGET}
.endif
.include <bsd.lib.mk>
diff --git a/gnu/lib/libobjc/Makefile b/gnu/lib/libobjc/Makefile
index 7822c6e..385602d 100644
--- a/gnu/lib/libobjc/Makefile
+++ b/gnu/lib/libobjc/Makefile
@@ -1,7 +1,7 @@
# Makefile for libobjc
-# $Id: Makefile,v 1.3 1997/02/22 15:43:02 peter Exp $
+# $Id: Makefile,v 1.6 1999/03/17 00:10:22 obrien Exp $
-GCCDIR= ${.CURDIR}/../../../contrib/gcc
+GCCDIR= ${.CURDIR}/../../../contrib/egcs/gcc
.PATH: ${GCCDIR}/objc
@@ -9,12 +9,13 @@ LIB= objc
NOMAN= sorry
NOPIC= works but method lookup slowdown is significant
-SRCS= archive.c class.c encoding.c hash.c init.c misc.c \
+SRCS= my_archive.c class.c encoding.c hash.c init.c misc.c nil_method.c \
my_objects.c sarray.c selector.c my_sendmsg.c \
- NXConstStr.m Object.m Protocol.m
+ thr.c thr-single.c \
+ NXConstStr.m Object.m Protocol.m linking.m
-HDRS= encoding.h hash.h list.h objc-api.h objc.h sarray.h typedstream.h \
- NXConstStr.h Object.h Protocol.h
+HDRS= encoding.h hash.h objc-act.h objc-api.h objc-list.h objc.h runtime.h \
+ sarray.h thr.h typedstream.h NXConstStr.h Object.h Protocol.h
CFLAGS+= -I${GCCDIR}/objc -I${GCCDIR}
@@ -25,9 +26,16 @@ beforeinstall:
my_objects.c: objects.c
sed -e '/\.\.\/tconfig.h/d' < ${GCCDIR}/objc/objects.c > my_objects.c
-my_sendmsg.c: sendmsg.c
+my_sendmsg.c: sendmsg.c runtime-info.h
sed -e '/\.\.\/tconfig.h/d' < ${GCCDIR}/objc/sendmsg.c > my_sendmsg.c
-CLEANFILES+= my_objects.c my_sendmsg.c
+my_archive.c: archive.c
+ sed -e '/config.h/d' < ${GCCDIR}/objc/archive.c > my_archive.c
+
+runtime-info.h:
+ `${CC} --print-prog-name=cc1obj` -print-objc-runtime-info /dev/null \
+ >${.TARGET}
+
+CLEANFILES+= my_objects.c my_sendmsg.c my_archive.c runtime-info.h
.include <bsd.lib.mk>
diff --git a/gnu/lib/libstdc++/Makefile b/gnu/lib/libstdc++/Makefile
index b8059d4..c6c534d 100644
--- a/gnu/lib/libstdc++/Makefile
+++ b/gnu/lib/libstdc++/Makefile
@@ -1,63 +1,57 @@
#
-# $Id: Makefile,v 1.11 1998/12/27 17:25:27 bde Exp $
+# $Id: Makefile,v 1.19 1999/03/14 22:54:18 obrien Exp $
#
-GPPDIR= ${.CURDIR}/../../../contrib/libg++
+EGCSDIR= ${.CURDIR}/../../../contrib/egcs
-.PATH: ${GPPDIR}/libstdc++ ${GPPDIR}/libstdc++/stl ${GPPDIR}/libio \
- ${GPPDIR}/libiberty
+.PATH: ${EGCSDIR}/libstdc++ ${EGCSDIR}/libstdc++/stl ${EGCSDIR}/libio
LIB= stdc++
-SHLIB_MAJOR= 2
+SHLIB_MAJOR= 3
SHLIB_MINOR= 0
-CFLAGS+= -I${GPPDIR}/include -I${DESTDIR}/usr/include/g++ -I.
-CXXFLAGS+= -I${GPPDIR}/include -I${GPPDIR}/libio -I${GPPDIR}/libstdc++
-CXXFLAGS+= -fno-implicit-templates
+CFLAGS+= -I${EGCSDIR}/include -I${EGCSDIR}/libio -I.
+CXXFLAGS+= -I${EGCSDIR}/libstdc++/stl -I${EGCSDIR}/libstdc++ \
+ -I${EGCSDIR}/gcc/cp/inc -I.
+CXXFLAGS+= -nostdinc++ -fno-implicit-templates
LDADD+= -lm
DPADD+= ${LIBM}
-DIR= ${GPPDIR}/libstdc++
+DIR= ${EGCSDIR}/libstdc++
HDRS= cassert cctype cerrno cfloat ciso646 climits clocale cmath complex \
csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime \
- cwchar cwctype new stddef string exception stdexcept typeinfo \
- algorithm deque list map queue set stack vector utility functional \
- iterator memory numeric \
- complex.h new.h stl.h
-
-SHDRS= bastring.cc bastring.h cassert.h cctype.h cerrno.h cfloat.h cinst.h \
- ciso646.h climits.h clocale.h cmath.h complex.h complext.cc \
- complext.h csetjmp.h csignal.h cstdarg.h cstddef.h cstdio.h \
- cstdlib.h cstring.h ctime.h cwchar.h cwctype.h dcomplex.h exception.h \
- fcomplex.h ldcomplex.h new.h sinst.h stddef.h stdexcept.h straits.h \
- string.h typeinfo.h
-
-STLHDRS=algo.h algobase.h bool.h bvector.h defalloc.h deque.h faralloc.h \
- fdeque.h flist.h fmap.h fmultmap.h fmultset.h fset.h function.h \
- hdeque.h heap.h hlist.h hmap.h hmultmap.h hmultset.h hset.h \
- hugalloc.h hvector.h iterator.h lbvector.h ldeque.h list.h llist.h \
- lmap.h lmultmap.h lmultset.h lngalloc.h lset.h map.h multimap.h \
- multiset.h neralloc.h nmap.h nmultmap.h nmultset.h nset.h pair.h \
- projectn.h set.h stack.h tempbuf.h tree.h vector.h
-
-SRCS+= newi.cc cstringi.cc stddefi.cc typeinfoi.cc exceptioni.cc \
- stdexcepti.cc cstdlibi.cc cmathi.cc
-
-# stl sources.
-SRCS+= tempbuf.cc tree.cc random.cc
-
-# "standard" C parts of libiberty (strerror is a superset of the libc version)
-SRCS+= insque.c strerror.c
-
-# Headers for iostream
+ cwchar cwctype fstream iomanip iosfwd iostream stdexcept string \
+ strstream complex.h stl.h
+
+SHDRS= bastring.cc bastring.h complext.cc complext.h dcomplex.h fcomplex.h \
+ ldcomplex.h straits.h
+
+STLHDRS=algo.h algobase.h algorithm alloc.h bvector.h defalloc.h deque deque.h \
+ function.h functional hash_map hash_map.h hash_set hash_set.h \
+ hashtable.h heap.h iterator iterator.h list list.h map map.h memory \
+ multimap.h multiset.h numeric pair.h pthread_alloc pthread_alloc.h \
+ queue rope rope.h ropeimpl.h set set.h slist slist.h stack stack.h \
+ stl_algo.h stl_algobase.h stl_alloc.h stl_bvector.h stl_config.h \
+ stl_construct.h stl_deque.h stl_function.h stl_hash_fun.h \
+ stl_hash_map.h stl_hash_set.h stl_hashtable.h stl_heap.h \
+ stl_iterator.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h \
+ stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h \
+ stl_relops.h stl_rope.h stl_set.h stl_slist.h stl_stack.h \
+ stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h \
+ tempbuf.h tree.h type_traits.h utility vector vector.h
+
+# libstdc++ sources
+SRCS+= cmathi.cc cstdlibi.cc cstringi.cc stdexcepti.cc stlinst.cc
+
+# Headers for iostream / libio
IHDRS= PlotFile.h SFile.h builtinbuf.h editbuf.h floatio.h fstream.h \
indstream.h iolibio.h iomanip.h iostdio.h iostream.h iostreamP.h \
istream.h libio.h libioP.h ostream.h parsestream.h pfstream.h \
procbuf.h stdiostream.h stream.h streambuf.h strfile.h strstream.h
-# C++ parts of iostream
+# C++ parts of iostream / libio
SRCS+= PlotFile.cc SFile.cc builtinbuf.cc editbuf.cc filebuf.cc fstream.cc \
indstream.cc ioassign.cc ioextend.cc iomanip.cc iostream.cc \
isgetline.cc isgetsb.cc isscan.cc osform.cc parsestream.cc \
@@ -65,41 +59,49 @@ SRCS+= PlotFile.cc SFile.cc builtinbuf.cc editbuf.cc filebuf.cc fstream.cc \
stdiostream.cc stdstrbufs.cc stdstreams.cc stream.cc streambuf.cc \
strstream.cc
-# C parts of iostream
+# C parts of iostream / libio
SRCS+= cleanup.c filedoalloc.c fileops.c floatconv.c genops.c iofclose.c \
- iofgetpos.c iofread.c iofscanf.c iofsetpos.c iogetdelim.c iogetline.c \
- ioignore.c iopadn.c iopopen.c ioprims.c ioprintf.c ioseekoff.c \
- ioseekpos.c iostrerror.c ioungetc.c iovfprintf.c iovfscanf.c \
- outfloat.c strops.c
-
-SRCS+= config.h
-CLEANFILES+= config.h
-
-config.h:
- touch config.h
-
-beforeinstall:
+ iofdopen.c iofeof.c ioferror.c iofflush.c iofflush_u.c iofgetpos.c \
+ iofgets.c iofopen.c iofprintf.c iofputs.c iofread.c iofscanf.c \
+ iofsetpos.c ioftell.c iofwrite.c iogetc.c iogetdelim.c iogetline.c \
+ iogets.c ioignore.c iopadn.c ioperror.c iopopen.c ioprims.c ioprintf.c \
+ ioputc.c ioputs.c ioscanf.c ioseekoff.c ioseekpos.c iosetbuffer.c \
+ iosetvbuf.c iosprintf.c iosscanf.c iostrerror.c ioungetc.c \
+ iovfprintf.c iovfscanf.c iovsprintf.c iovsscanf.c outfloat.c \
+ peekc.c strops.c
+
+beforeinstall: _G_config.h
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
- ${.CURDIR}/_G_config.h \
- ${HDRS:S;^;${GPPDIR}/libstdc++/;} \
- ${IHDRS:S;^;${GPPDIR}/libio/;} \
- ${STLHDRS:S;^;${GPPDIR}/libstdc++/stl/;} \
+ _G_config.h \
${DESTDIR}/usr/include/g++
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
- ${SHDRS:S;^;${GPPDIR}/libstdc++/std/;} \
+ ${HDRS:S;^;${EGCSDIR}/libstdc++/;} \
+ ${IHDRS:S;^;${EGCSDIR}/libio/;} \
+ ${STLHDRS:S;^;${EGCSDIR}/libstdc++/stl/;} \
+ ${DESTDIR}/usr/include/g++
+ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
+ ${SHDRS:S;^;${EGCSDIR}/libstdc++/std/;} \
${DESTDIR}/usr/include/g++/std
+SRCS+= _G_config.h
+CLEANFILES+= _G_config.h dummy.h dummy.c dummy.C
+_G_config.h: Makefile ${EGCSDIR}/libio/gen-params
+ CC="${CC}" CXX="${CXX}" CONFIG_NM="nm" \
+ CPP="${CC} -E -nostdinc -idirafter ${DESTDIR}/usr/include" \
+ sh ${EGCSDIR}/libio/gen-params \
+ LIB_VERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}.0 >${.TARGET}
+
# Lots of special cases
# ======== typeinfoi.o, stdexcepti.o ========
.for file in typeinfoi stdexcepti
CLEANFILES+= ${file}.o.tmp ${file}.po.tmp ${file}.so.tmp
${file}.o: ${file}.cc
- ${CXX} ${CXXFLAGS} -frtti -c ${DIR}/${file}.cc -o ${.TARGET}
+ ${CXX} -nostdinc++ ${CXXFLAGS} -frtti -c ${DIR}/${file}.cc -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
-${file}.So: ${file}.cc
+${file}.so: ${file}.cc
${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -frtti -c ${DIR}/${file}.cc -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
@@ -114,17 +116,17 @@ ${file}.po: ${file}.cc
.for file in exceptioni
CLEANFILES+= ${file}.o.tmp ${file}.po.tmp ${file}.so.tmp
${file}.o: ${file}.cc
- ${CXX} ${CXXFLAGS} -O0 -frtti -fhandle-exceptions -c ${DIR}/${file}.cc -o ${.TARGET}
+ ${CXX} ${CXXFLAGS} -O0 -c ${DIR}/${file}.cc -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
-${file}.So: ${file}.cc
- ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -O0 -frtti -fhandle-exceptions -c ${DIR}/${file}.cc -o ${.TARGET}
+${file}.so: ${file}.cc
+ ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -O0 -c ${DIR}/${file}.cc -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
${file}.po: ${file}.cc
- ${CXX} -p ${CXXFLAGS} -O0 -frtti -fhandle-exceptions -c ${DIR}/${file}.cc -o ${.TARGET}
+ ${CXX} -p ${CXXFLAGS} -O0 -c ${DIR}/${file}.cc -o ${.TARGET}
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
.endfor
@@ -136,7 +138,7 @@ CLEANFILES+= cstrmain.cc
cstrmain.cc: sinst.cc
echo "#define C 1" > ${.TARGET}
.for i in REP MAIN TRAITS ADDSS ADDPS ADDCS ADDSP ADDSC EQSS EQPS EQSP NESS \
- NEPS NESP LTSS LTPS LTSP GTSS GTPS GTSP LESS LEPS LESP GESS GEPS GESP
+ NEPS NESP LTSS LTPS LTSP GTSS GTPS GTSP LESS LEPS LESP GESS GEPS GESP
echo "#define $i 1" >> ${.TARGET}
.endfor
cat ${.ALLSRC} >> ${.TARGET}
@@ -159,8 +161,8 @@ CLEANFILES+= fcomplex.cc
fcomplex.cc: cinst.cc
echo "#define F 1" > ${.TARGET}
.for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \
- DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \
- CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT
+ DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \
+ CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT
echo "#define $i 1" >> ${.TARGET}
.endfor
cat ${.ALLSRC} >> ${.TARGET}
@@ -183,8 +185,8 @@ CLEANFILES+= dcomplex.cc
dcomplex.cc: cinst.cc
echo "#define D 1" > ${.TARGET}
.for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \
- DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \
- CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT
+ DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \
+ CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT
echo "#define $i 1" >> ${.TARGET}
.endfor
cat ${.ALLSRC} >> ${.TARGET}
@@ -207,8 +209,8 @@ CLEANFILES+= ldcomplex.cc
ldcomplex.cc: cinst.cc
echo "#define LD 1" > ${.TARGET}
.for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \
- DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \
- CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT
+ DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \
+ CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT
echo "#define $i 1" >> ${.TARGET}
.endfor
cat ${.ALLSRC} >> ${.TARGET}
diff --git a/gnu/usr.bin/cc/Makefile b/gnu/usr.bin/cc/Makefile
index 7511002..d796748 100644
--- a/gnu/usr.bin/cc/Makefile
+++ b/gnu/usr.bin/cc/Makefile
@@ -1,10 +1,10 @@
#
-# $Id: Makefile,v 1.9 1997/02/22 15:44:47 peter Exp $
+# $Id: Makefile,v 1.11 1999/03/26 12:43:56 obrien Exp $
#
# The order of some of these are rather important. Some depend on previous
# subdirs.
-SUBDIR= cc_tools cc_int cpp cc1 cc cc1obj cc1plus c++ f77 c++filt doc
+SUBDIR= cc_tools cc_int cc_drv cpp cc1 cc cc1obj cc1plus c++ c++filt ## doc
.include <bsd.subdir.mk>
diff --git a/gnu/usr.bin/cc/Makefile.inc b/gnu/usr.bin/cc/Makefile.inc
index 105c183..99d3722 100644
--- a/gnu/usr.bin/cc/Makefile.inc
+++ b/gnu/usr.bin/cc/Makefile.inc
@@ -1,11 +1,10 @@
#
-# $Id: Makefile.inc,v 1.24 1998/10/26 18:27:32 imp Exp $
+# $Id: Makefile.inc,v 1.28 1999/03/10 09:04:18 obrien Exp $
#
# Sometimes this is .include'd several times...
.if !defined(GCCDIR)
-GCCDIR= ${.CURDIR}/../../../../contrib/gcc
-.PATH: ../cc_tools ${GCCDIR} ${GCCDIR}/cp ${GCCDIR}/objc
+GCCDIR= ${.CURDIR}/../../../../contrib/egcs/gcc
BISON?= bison
@@ -13,16 +12,40 @@ BISON?= bison
MD_FILE= ${GCCDIR}/config/${MACHINE_ARCH}/${MACHINE_ARCH}.md
OUT_FILE= ${MACHINE_ARCH}.c
OUT_OBJ= ${MACHINE_ARCH}
-.PATH: ${GCCDIR}/config/${MACHINE_ARCH}
+.if ${MACHINE_ARCH} != "i386"
+BINFORMAT= elf
+.else
+BINFORMAT?= elf
+.endif
+
+# same backend, just change compiled-in default.
+.if ${BINFORMAT} == aout
+CFLAGS+= -DFREEBSD_AOUT
+target= ${MACHINE_ARCH}-unknown-freebsd-aout
+.endif
+.if ${BINFORMAT} == elf
+CFLAGS+= -DFREEBSD_ELF
target= ${MACHINE_ARCH}-unknown-freebsd
+.endif
+
+# These architectures are Cygnus's default for enabling Haifa
+.if (${MACHINE_ARCH} == "alpha") || (${MACHINE_ARCH} == "sparc")
+USE_EGCS_HAIFA=1
+.endif
+
version!= sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${GCCDIR}/version.c
+#version!= sed -e 's/.*\(egcs-[0-9\.]*\).*/\1/' < ${GCCDIR}/version.c
CFLAGS+= -I${GCCDIR} -I${GCCDIR}/config
CFLAGS+= -DFREEBSD_NATIVE
CFLAGS+= -DDEFAULT_TARGET_VERSION=\"$(version)\"
CFLAGS+= -DDEFAULT_TARGET_MACHINE=\"$(target)\"
+.if defined(USE_EGCS_HAIFA)
+CFLAGS+= -DHAIFA
+.endif
+
.if exists(${.OBJDIR}/../cc_tools)
CFLAGS+= -I${.OBJDIR}/../cc_tools
.else
@@ -31,10 +54,12 @@ CFLAGS+= -I${.CURDIR}/../cc_tools
.if exists(${.OBJDIR}/../cc_int)
LIBDESTDIR= ${.OBJDIR}/../cc_int
+LIBCC_DRV= ${.OBJDIR}/../cc_drv/libcc_drv.a
.else
LIBDESTDIR= ${.CURDIR}/../cc_int
+LIBCC_DRV= ${.CURDIR}/../cc_drv/libcc_drv.a
.endif
LIBCC_INT= ${LIBDESTDIR}/libcc_int.a
-.endif
+.endif # !GCCDIR
diff --git a/gnu/usr.bin/cc/c++/Makefile b/gnu/usr.bin/cc/c++/Makefile
index 0fec071..0dc2ec7 100644
--- a/gnu/usr.bin/cc/c++/Makefile
+++ b/gnu/usr.bin/cc/c++/Makefile
@@ -1,12 +1,21 @@
#
-# $Id: Makefile,v 1.8 1998/03/08 12:27:04 obrien Exp $
+# $Id: Makefile,v 1.11 1999/03/05 04:54:59 obrien Exp $
#
+.include "../Makefile.inc"
+
+.PATH: ${GCCDIR}/cp ${GCCDIR}
+
PROG = c++
-SRCS = g++.c
+SRCS = gcc.c g++spec.c
BINDIR= /usr/bin
LINKS= ${BINDIR}/c++ ${BINDIR}/g++
LINKS+= ${BINDIR}/c++ ${BINDIR}/CC
NOMAN= 1
+CFLAGS+= -DLANG_SPECIFIC_DRIVER
+
+DPADD+= ${LIBCC_DRV}
+LDADD+= ${LIBCC_DRV}
+
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/c++filt/Makefile b/gnu/usr.bin/cc/c++filt/Makefile
index 34cd99e..2707496 100644
--- a/gnu/usr.bin/cc/c++filt/Makefile
+++ b/gnu/usr.bin/cc/c++filt/Makefile
@@ -1,7 +1,11 @@
#
-# $Id: Makefile,v 1.3 1997/02/22 15:44:50 peter Exp $
+# $Id: Makefile,v 1.5 1999/03/05 04:55:03 obrien Exp $
#
+.include "../Makefile.inc"
+
+.PATH: ${GCCDIR}
+
PROG = c++filt
SRCS = cplus-dem.c getopt.c getopt1.c underscore.c
BINDIR= /usr/bin
diff --git a/gnu/usr.bin/cc/cc/Makefile b/gnu/usr.bin/cc/cc/Makefile
index 91400cc..398878d 100644
--- a/gnu/usr.bin/cc/cc/Makefile
+++ b/gnu/usr.bin/cc/cc/Makefile
@@ -1,20 +1,20 @@
#
-# $Id: Makefile,v 1.12 1997/02/22 15:44:52 peter Exp $
+# $Id: Makefile,v 1.15 1999/03/05 04:55:03 obrien Exp $
#
+.include "../Makefile.inc"
+
+.PATH: ${GCCDIR}
+
PROG = cc
MAN1 = gcc.1
SRCS = gcc.c
BINDIR= /usr/bin
-SRCS+= multilib.h obstack.c version.c
-LINKS= ${BINDIR}/cc ${BINDIR}/gcc
-MLINKS= gcc.1 cc.1 gcc.1 c++.1 gcc.1 g++.1
-CLEANFILES+= multilib.h
-CFLAGS+= -I. # I mean it!
-CFLAGS+= -I${.CURDIR}
+LINKS= ${BINDIR}/cc ${BINDIR}/gcc
+MLINKS= gcc.1 cc.1 gcc.1 c++.1 gcc.1 g++.1 gcc.1 CC.1
-multilib.h: genmultilib
- echo '#define MULTILIB_SELECT "aout maout;elf !maout;"' > multilib.h
+DPADD+= ${LIBCC_DRV}
+LDADD+= ${LIBCC_DRV}
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/cc/f2c-specs.h b/gnu/usr.bin/cc/cc/f2c-specs.h
deleted file mode 100644
index aafab0e..0000000
--- a/gnu/usr.bin/cc/cc/f2c-specs.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/***** ljo's Fortran rule *****/
- {".f", "@f2c"},
- {"@f2c",
- "f2c %{checksubscripts:-C} %{I2} %{onetrip} %{honorcase:-U} %{u} %{w}\
- %{ANSIC:-A} %{a} %{C++}\
- %{c} %{E} %{ec} %{ext} %{f} %{72} %{g} %{h} %{i2} %{kr} %{krd}\
- %{P} %{p} %{v} %{r} %{r8} %{s} %{w8} %{z} %{N*}\
- %i %{!pipe: -o %g.c} %{pipe:-o -}|\n",
- "cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
- %{C:%{!E:%eGNU C does not support -C without using -E}}\
- %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
- -undef -D__GNUC__=%v1 -D__GNUC_MINOR__=%v2\
- %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
- %{!undef:%{!ansi:%p} %P} %{trigraphs} \
- %c %{O*:%{!O0:-D__OPTIMIZE__}} %{traditional} %{ftraditional:-traditional}\
- %{traditional-cpp:-traditional}\
- %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*}\
- %{pipe:-} %{!pipe:%g.c} %{!M:%{!MM:%{!E:%{!pipe:%g.i}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n",
- "%{!M:%{!MM:%{!E:cc1 %{!pipe:%g.i} %1 \
- %{!Q:-quiet} -dumpbase %b.c %{d*} %{m*} %{a}\
- %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi} \
- %{traditional} %{v:-version} %{pg:-p} %{p} %{f*}\
- %{aux-info*}\
- %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
- %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
- %{!S:as %{R} %{j} %{J} %{h} %{d2} %a %Y\
- %{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%u.o}\
- %{!pipe:%g.s} %A\n }}}}"},
-/***** End of ljo's Fortran rule *****/
diff --git a/gnu/usr.bin/cc/cc1/Makefile b/gnu/usr.bin/cc/cc1/Makefile
index 9be4343..091203e 100644
--- a/gnu/usr.bin/cc/cc1/Makefile
+++ b/gnu/usr.bin/cc/cc1/Makefile
@@ -1,11 +1,15 @@
#
-# $Id: Makefile,v 1.11 1997/02/22 15:44:53 peter Exp $
+# $Id: Makefile,v 1.14 1999/03/05 04:55:03 obrien Exp $
#
+
+.include "../Makefile.inc"
+
+.PATH: ../cc_tools ${GCCDIR}
PROG = cc1
SRCS = c-parse.c \
- c-aux-info.c c-convert.c c-decl.c c-iterate.c c-lang.c c-lex.c \
- c-typeck.c
+ c-aux-info.c c-common.c c-convert.c c-decl.c c-iterate.c c-lang.c \
+ c-lex.c c-pragma.c c-typeck.c
BINDIR= /usr/libexec
NOMAN= 1
NOSHARED=yes
diff --git a/gnu/usr.bin/cc/cc1obj/Makefile b/gnu/usr.bin/cc/cc1obj/Makefile
index 05aac08..71245e8 100644
--- a/gnu/usr.bin/cc/cc1obj/Makefile
+++ b/gnu/usr.bin/cc/cc1obj/Makefile
@@ -1,15 +1,22 @@
#
-# $Id: Makefile,v 1.4 1997/02/22 15:44:54 peter Exp $
+# $Id: Makefile,v 1.7 1999/03/05 04:55:03 obrien Exp $
#
+.include "../Makefile.inc"
+
+.PATH: ../cc_tools ${GCCDIR}/objc ${GCCDIR}
+
PROG = cc1obj
SRCS = objc-parse.c objc-act.c
# Ugh, compiled twice...
-SRCS += c-aux-info.c c-convert.c c-decl.c c-iterate.c c-lex.c c-typeck.c
+SRCS += c-aux-info.c c-common.c c-convert.c c-decl.c c-iterate.c c-lex.c \
+ c-pragma.c c-typeck.c
BINDIR= /usr/libexec
NOMAN= 1
NOSHARED=yes
DPADD+= ${LIBCC_INT}
LDADD+= ${LIBCC_INT}
+CFLAGS+= -I${GCCDIR}/objc
+
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/cc1plus/Makefile b/gnu/usr.bin/cc/cc1plus/Makefile
index 5143507..f9b4051 100644
--- a/gnu/usr.bin/cc/cc1plus/Makefile
+++ b/gnu/usr.bin/cc/cc1plus/Makefile
@@ -1,21 +1,22 @@
#
-# $Id: Makefile,v 1.12 1997/06/29 06:03:27 pst Exp $
+# $Id: Makefile,v 1.16 1999/03/05 04:55:03 obrien Exp $
#
-#First, so that we get cp/tree.c and cp/expr.c instead of the C version
-.PATH: ${.CURDIR}/../../../../contrib/gcc/cp
+.include "../Makefile.inc"
+
+.PATH: ${GCCDIR}/cp
PROG = cc1plus
-SRCS = parse.c parse.h \
- call.c class.c cvt.c decl.c decl2.c edsel.c errfn.c \
- error.c except.c expr.c gc.c init.c lex.c method.c pt.c \
- ptree.c repo.c search.c sig.c spew.c tree.c typeck.c typeck2.c xref.c
+SRCS = parse.c parse.h
+SRCS += call.c class.c cvt.c decl.c decl2.c errfn.c error.c except.c expr.c \
+ friend.c init.c lex.c method.c pt.c ptree.c repo.c rtti.c \
+ search.c semantics.c sig.c spew.c tree.c typeck.c typeck2.c xref.c
BINDIR= /usr/libexec
NOMAN= 1
NOSHARED=yes
DPADD+= ${LIBCC_INT}
LDADD+= ${LIBCC_INT}
-CFLAGS+= -I. # I mean it.
+CFLAGS+= -I${GCCDIR}/cp -I.
.ORDER: parse.c parse.h
parse.c parse.h: parse.y
@@ -24,4 +25,11 @@ parse.c parse.h: parse.y
CLEANFILES+= parse.c parse.h
+CPPHDRS= exception new new.h typeinfo
+
+beforeinstall:
+ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
+ ${CPPHDRS:S;^;${GCCDIR}/cp/inc/;} \
+ ${DESTDIR}/usr/include/g++
+
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/cc_drv/Makefile b/gnu/usr.bin/cc/cc_drv/Makefile
new file mode 100644
index 0000000..1388c87
--- /dev/null
+++ b/gnu/usr.bin/cc/cc_drv/Makefile
@@ -0,0 +1,24 @@
+#
+# $Id: Makefile,v 1.2 1999/03/05 04:55:03 obrien Exp $
+#
+.include "../Makefile.inc"
+
+.PATH: ../cc_tools ${GCCDIR}
+
+SRCS= multilib.h choose-temp.c obstack.c prefix.c pexecute.c version.c
+# XXX change choose-temp.c to use stock mkstemp()
+SRCS+= mkstemp.c
+
+CFLAGS+= -DPREFIX=\"/usr\"
+CFLAGS+= -DIN_GCC
+
+LIB= cc_drv
+NOPROFILE= YES
+NOPIC= YES
+
+install:
+ @true
+
+${OUT_OBJ}.o ${OUT_OBJ}.so: ${OUT_FILE}
+
+.include <bsd.lib.mk>
diff --git a/gnu/usr.bin/cc/cc_int/Makefile b/gnu/usr.bin/cc/cc_int/Makefile
index 3c0f2e8..a00b9b6 100644
--- a/gnu/usr.bin/cc/cc_int/Makefile
+++ b/gnu/usr.bin/cc/cc_int/Makefile
@@ -1,10 +1,11 @@
#
-# $Id: Makefile,v 1.14 1997/02/22 15:44:57 peter Exp $
+# $Id: Makefile,v 1.17 1999/03/05 04:55:03 obrien Exp $
#
.include "../Makefile.inc"
-SRCS= bc-emit.c bc-optab.c \
- c-common.c c-pragma.c \
+.PATH: ../cc_tools ${GCCDIR}/config/${MACHINE_ARCH} ${GCCDIR}
+
+SRCS= c-common.c c-pragma.c \
caller-save.c calls.c combine.c convert.c cse.c \
dbxout.c dwarfout.c emit-rtl.c explow.c expmed.c expr.c \
final.c flow.c fold-const.c function.c getpwd.c global.c \
@@ -15,8 +16,12 @@ SRCS= bc-emit.c bc-optab.c \
reload.c reload1.c reorg.c rtl.c rtlanal.c \
sched.c sdbout.c stmt.c stor-layout.c stupid.c \
toplev.c tree.c unroll.c varasm.c version.c xcoffout.c \
+ alias.c bitmap.c dwarf2out.c dyn-string.c except.c \
+ gcse.c genrtl.c profile.c regmove.c varray.c \
${OUT_FILE}
+CFLAGS+= -DTARGET_NAME=\"${MACHINE_ARCH}-unknown-freebsd\"
+
LIB= cc_int
NOPROFILE= YES
NOPIC= YES
diff --git a/gnu/usr.bin/cc/cc_tools/Makefile b/gnu/usr.bin/cc/cc_tools/Makefile
index 72e563c..f7cbe0c 100644
--- a/gnu/usr.bin/cc/cc_tools/Makefile
+++ b/gnu/usr.bin/cc/cc_tools/Makefile
@@ -1,5 +1,5 @@
#
-# $Id: Makefile,v 1.13 1998/08/20 21:45:46 jb Exp $
+# $Id: Makefile,v 1.16 1999/03/05 04:55:03 obrien Exp $
#
#
@@ -13,32 +13,11 @@
# Prevent mkdep from using it, so that we don't have to give rules for
# aliases of generated headers.
#
-CFLAGS+= -I.
+CFLAGS+= -I${GCCDIR}/objc
.include "../Makefile.inc"
-#-----------------------------------------------------------------------
-# Bytecode components
-
-.for i in arity opcode opname
-build-tools: bi-$i
-
-bc-$i.h: bi-$i bytecode.def
- ./bi-$i < ${GCCDIR}/bytecode.def > bc-$i.h
-
-bi-$i: bi-$i.o bi-parser.o bi-lexer.o bi-reverse.o
- ${CC} -static ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
-
-GENSRCS+= bc-$i.h bi-$i.c
-CLEANFILES+= bi-$i
-.endfor
-
-.ORDER: bi-parser.c bi-parser.h
-bi-parser.c bi-parser.h: bi-parser.y
- ${BISON} ${BISONFLAGS} -d ${.ALLSRC} -o bi-parser.c
-
-SRCS+= bi-lexer.c bi-reverse.c
-GENSRCS+= bi-parser.c bi-parser.h
+.PATH: ${GCCDIR} ${GCCDIR}/cp
#-----------------------------------------------------------------------
# insn-* gunk
@@ -58,25 +37,40 @@ GENSRCS+= insn-$i.c
.for i in attr codes config emit extract flags opinit output peep recog
build-tools: gen$i
-gen$i: gen$i.o rtl.o obstack.o
+gen$i: gen$i.o rtl.o obstack.o bitmap.o
${CC} -static ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
GENSRCS+= gen$i.c
CLEANFILES+= gen$i
.endfor
-.for i in attrtab
+.for i in check genrtl
build-tools: gen$i
-gen$i: gen$i.o rtl.o rtlanal.o print-rtl.o obstack.o
+gen$i: gen$i.o
${CC} -static ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
GENSRCS+= gen$i.c
CLEANFILES+= gen$i
.endfor
-SRCS+= print-rtl.c rtl.c rtlanal.c obstack.c
+genrtl.h genrtl.c: gengenrtl
+ ./gengenrtl genrtl.h genrtl.c
+
+#GENSRCS+= genrtl.c genrtl.h
+CLEANFILES+= genrtl.c genrtl.h
+
+.for i in attrtab
+build-tools: gen$i
+
+gen$i: gen$i.o rtl.o rtlanal.o print-rtl.o obstack.o bitmap.o
+ ${CC} -static ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
+
+GENSRCS+= gen$i.c
+CLEANFILES+= gen$i
+.endfor
+SRCS+= bitmap.c print-rtl.c rtl.c rtlanal.c obstack.c
#-----------------------------------------------------------------------
# C hash codes
c-gperf.h: c-parse.gperf
@@ -92,6 +86,19 @@ hash.h: gxx.gperf
GENSRCS+= hash.h
#-----------------------------------------------------------------------
+# common parser stuff
+
+.for i in c objc
+$i-parse.c: tree-check.h
+.endfor
+
+tree-check.h: gencheck
+ ./gencheck > ${.TARGET}
+
+##GENSRCS+= tree-check.h
+CLEANFILES+= tree-check.h
+
+#-----------------------------------------------------------------------
# C parser
.ORDER: c-parse.c c-parse.h
c-parse.c c-parse.h: c-parse.in
@@ -124,18 +131,35 @@ CLEANFILES+= objc-parse.y # insurance
#-----------------------------------------------------------------------
# the host/target compiler config.
-COMMONHDRS= config.h hconfig.h options.h specs.h tconfig.h tm.h
+COMMONHDRS= config.h hconfig.h options.h specs.h tconfig.h tm.h multilib.h
GENSRCS+= ${COMMONHDRS}
-config.h hconfig.h tconfig.h:
- echo '#include "${MACHINE_ARCH}/xm-freebsd.h"' > ${.TARGET}
+config.h hconfig.h:
+ echo '#include "auto-host.h"' > ${.TARGET}
+ echo '#include "${MACHINE_ARCH}/xm-${MACHINE_ARCH}.h"' >> ${.TARGET}
+
+tconfig.h:
+ echo '#include "${MACHINE_ARCH}/xm-${MACHINE_ARCH}.h"' > ${.TARGET}
+
options.h:
echo '#include "cp/lang-options.h"' > ${.TARGET}
+ #echo '#include "f/lang-options.h"' >> ${.TARGET}
+
specs.h:
- echo '#include "cp/lang-specs.h"'> ${.TARGET}
- echo '#include "f2c-specs.h"' >> ${.TARGET}
+ echo '#include "cp/lang-specs.h"' > ${.TARGET}
+ #echo '#include "f/lang-specs.h"' >> ${.TARGET}
+
tm.h:
- echo '#include "${MACHINE_ARCH}/freebsd.h"' > ${.TARGET}
+ echo '#include "${MACHINE_ARCH}/${MACHINE_ARCH}.h"' > ${.TARGET}
+ echo '#include "${MACHINE_ARCH}/att.h"' >> ${.TARGET}
+ echo '#include "${MACHINE_ARCH}/freebsd.h"' >> ${.TARGET}
+ echo '#include "${MACHINE_ARCH}/perform.h"' >> ${.TARGET}
+
+multilib.h: genmultilib
+ echo 'static char *multilib_raw[] = {"aout maout;elf !maout;", NULL};' > multilib.h
+ echo 'static char *orig_port_multilib_raw[] = {".;", NULL};' >> multilib.h
+ echo 'static char *multilib_matches_raw[] = {NULL};' >> multilib.h
+ echo 'static char **multilib_extra = "";' >> multilib.h
#-----------------------------------------------------------------------
# General things.
@@ -158,12 +182,12 @@ OBJS+= ${SRCS:N*.h:R:S/$/.o/g}
.if !exists(${DEPENDFILE})
# Fudge pre-dependfile dependencies of objects the same as bsd.prog.mk
# would do if we defined PROG, except for leaving out dependencies on
-# bc-*.h and insn-*.h because these dependencies would be circular.
+# insn-*.h because these dependencies would be circular.
#
-${OBJS}: ${SRCS:M*.h:Nbc-*.h:Ninsn-*.h}
+${OBJS}: ${SRCS:M*.h:Ninsn-*.h}
-# Give all dependencies on bc-*.h and insn-*.h explicitly (none here for
-# bc-*.h). This suffices for `make -j<any> depend', and after that all
+# Give all dependencies on insn-*.h explicitly
+# This suffices for `make -j<any> depend', and after that all
# the dependencies will be in .depend since all .c source files are in
# SRCS.
#
@@ -173,4 +197,6 @@ insn-emit.o: insn-codes.h insn-config.h insn-flags.h
insn-opinit.o: insn-codes.h insn-config.h insn-flags.h
insn-output.o: insn-attr.h insn-codes.h insn-config.h insn-flags.h
insn-recog.o: insn-config.h
+
+genattr.o gencodes.o genconfig.o genemit.o genextract.o genflags.o genopinit.o genoutput.o genpeep.o genrecog.o: genrtl.h
.endif
diff --git a/gnu/usr.bin/cc/cc_tools/auto-host.h b/gnu/usr.bin/cc/cc_tools/auto-host.h
new file mode 100644
index 0000000..d171704
--- /dev/null
+++ b/gnu/usr.bin/cc/cc_tools/auto-host.h
@@ -0,0 +1,204 @@
+/* auto-host.h. Generated automatically by configure. */
+
+/* config.in. Generated automatically from configure.in by autoheader. */
+/* Define if printf supports "%p". */
+#define HAVE_PRINTF_PTR 1
+
+/* Define if you want expensive run-time checks. */
+/* #undef ENABLE_CHECKING */
+
+/* Define if your cpp understands the stringify operator. */
+#define HAVE_CPP_STRINGIFY 1
+
+/* Define if your compiler understands volatile. */
+#define HAVE_VOLATILE 1
+
+/* Define if your assembler supports specifying the maximum number
+ of bytes to skip when using the GAS .p2align command. */
+/* #undef HAVE_GAS_MAX_SKIP_P2ALIGN */
+
+/* Define if your assembler supports .balign and .p2align. */
+/* #undef HAVE_GAS_BALIGN_AND_P2ALIGN */
+
+/* Define if you have a working <inttypes.h> header file. */
+/* #undef HAVE_INTTYPES_H */
+
+/* Whether malloc must be declared even if <stdlib.h> is included. */
+/* #undef NEED_DECLARATION_MALLOC */
+
+/* Whether realloc must be declared even if <stdlib.h> is included. */
+/* #undef NEED_DECLARATION_REALLOC */
+
+/* Whether calloc must be declared even if <stdlib.h> is included. */
+/* #undef NEED_DECLARATION_CALLOC */
+
+/* Whether free must be declared even if <stdlib.h> is included. */
+/* #undef NEED_DECLARATION_FREE */
+
+/* Whether bcopy must be declared even if <string.h> is included. */
+/* #undef NEED_DECLARATION_BCOPY */
+
+/* Whether bcmp must be declared even if <string.h> is included. */
+/* #undef NEED_DECLARATION_BCMP */
+
+/* Whether bzero must be declared even if <string.h> is included. */
+/* #undef NEED_DECLARATION_BZERO */
+
+/* Whether index must be declared even if <string.h> is included. */
+/* #undef NEED_DECLARATION_INDEX */
+
+/* Whether rindex must be declared even if <string.h> is included. */
+/* #undef NEED_DECLARATION_RINDEX */
+
+/* Whether getenv must be declared even if <stdlib.h> is included. */
+/* #undef NEED_DECLARATION_GETENV */
+
+/* Whether atol must be declared even if <stdlib.h> is included. */
+/* #undef NEED_DECLARATION_ATOL */
+
+/* Whether sbrk must be declared even if <stdlib.h> is included. */
+/* #undef NEED_DECLARATION_SBRK */
+
+/* Whether abort must be declared even if <stdlib.h> is included. */
+/* #undef NEED_DECLARATION_ABORT */
+
+/* Whether strerror must be declared even if <string.h> is included. */
+/* #undef NEED_DECLARATION_STRERROR */
+
+/* Whether getcwd must be declared even if <unistd.h> is included. */
+/* #undef NEED_DECLARATION_GETCWD */
+
+/* Whether getwd must be declared even if <unistd.h> is included. */
+/* #undef NEED_DECLARATION_GETWD */
+
+/* Whether getrlimit must be declared even if <sys/resource.h> is included. */
+#define NEED_DECLARATION_GETRLIMIT 1
+
+/* Whether setrlimit must be declared even if <sys/resource.h> is included. */
+#define NEED_DECLARATION_SETRLIMIT 1
+
+/* Define if you want expensive run-time checks. */
+/* #undef ENABLE_CHECKING */
+
+/* Define if you don't have vprintf but do have _doprnt. */
+/* #undef HAVE_DOPRNT */
+
+/* Define if you have the vprintf function. */
+#define HAVE_VPRINTF 1
+
+/* Define if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define if `sys_siglist' is declared by <signal.h>. */
+#define SYS_SIGLIST_DECLARED 1
+
+/* Define if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define if you have the atoll function. */
+/* #undef HAVE_ATOLL */
+
+/* Define if you have the atoq function. */
+/* #undef HAVE_ATOQ */
+
+/* Define if you have the bcmp function. */
+#define HAVE_BCMP 1
+
+/* Define if you have the bcopy function. */
+#define HAVE_BCOPY 1
+
+/* Define if you have the bsearch function. */
+#define HAVE_BSEARCH 1
+
+/* Define if you have the bzero function. */
+#define HAVE_BZERO 1
+
+/* Define if you have the getrlimit function. */
+#define HAVE_GETRLIMIT 1
+
+/* Define if you have the gettimeofday function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define if you have the index function. */
+#define HAVE_INDEX 1
+
+/* Define if you have the isascii function. */
+#define HAVE_ISASCII 1
+
+/* Define if you have the kill function. */
+#define HAVE_KILL 1
+
+/* Define if you have the popen function. */
+#define HAVE_POPEN 1
+
+/* Define if you have the putenv function. */
+#define HAVE_PUTENV 1
+
+/* Define if you have the rindex function. */
+#define HAVE_RINDEX 1
+
+/* Define if you have the setrlimit function. */
+#define HAVE_SETRLIMIT 1
+
+/* Define if you have the strchr function. */
+#define HAVE_STRCHR 1
+
+/* Define if you have the strerror function. */
+#define HAVE_STRERROR 1
+
+/* Define if you have the strrchr function. */
+#define HAVE_STRRCHR 1
+
+/* Define if you have the strtoul function. */
+#define HAVE_STRTOUL 1
+
+/* Define if you have the sysconf function. */
+#define HAVE_SYSCONF 1
+
+/* Define if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define if you have the <stab.h> header file. */
+#define HAVE_STAB_H 1
+
+/* Define if you have the <stddef.h> header file. */
+#define HAVE_STDDEF_H 1
+
+/* Define if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define if you have the <sys/file.h> header file. */
+#define HAVE_SYS_FILE_H 1
+
+/* Define if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define if you have the <sys/times.h> header file. */
+#define HAVE_SYS_TIMES_H 1
+
+/* Define if you have the <sys/wait.h> header file. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define if you have the <time.h> header file. */
+#define HAVE_TIME_H 1
+
+/* Define if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define if you have the <wait.h> header file. */
+/* #undef HAVE_WAIT_H */
diff --git a/gnu/usr.bin/cc/cccp/Makefile b/gnu/usr.bin/cc/cccp/Makefile
index 35efdec..881c5f5 100644
--- a/gnu/usr.bin/cc/cccp/Makefile
+++ b/gnu/usr.bin/cc/cccp/Makefile
@@ -1,7 +1,12 @@
-# $Id$
+# $Id: Makefile,v 1.13 1999/03/05 04:55:03 obrien Exp $
+
+.include "../Makefile.inc"
+
+.PATH: ${GCCDIR}
PROG= cpp
-SRCS= cccp.c cexp.y obstack.c version.c
+SRCS= cccp.c cexp.y obstack.c prefix.c version.c
+CFLAGS+= -DPREFIX=\"/usr\"
YACC= ${BISON}
YFLAGS=
BINDIR= /usr/libexec
diff --git a/gnu/usr.bin/cc/cpp/Makefile b/gnu/usr.bin/cc/cpp/Makefile
index 35efdec..881c5f5 100644
--- a/gnu/usr.bin/cc/cpp/Makefile
+++ b/gnu/usr.bin/cc/cpp/Makefile
@@ -1,7 +1,12 @@
-# $Id$
+# $Id: Makefile,v 1.13 1999/03/05 04:55:03 obrien Exp $
+
+.include "../Makefile.inc"
+
+.PATH: ${GCCDIR}
PROG= cpp
-SRCS= cccp.c cexp.y obstack.c version.c
+SRCS= cccp.c cexp.y obstack.c prefix.c version.c
+CFLAGS+= -DPREFIX=\"/usr\"
YACC= ${BISON}
YFLAGS=
BINDIR= /usr/libexec
OpenPOWER on IntegriCloud