summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gnu/lib/csu/Makefile67
-rw-r--r--gnu/lib/libgcc/Makefile273
-rw-r--r--gnu/lib/libiberty/Makefile1
-rw-r--r--gnu/lib/libobjc/Makefile27
-rw-r--r--gnu/lib/libstdc++/Makefile245
-rw-r--r--gnu/lib/libstdc++/config.h1075
-rw-r--r--gnu/lib/libsupc++/Makefile27
-rw-r--r--gnu/usr.bin/cc/Makefile8
-rw-r--r--gnu/usr.bin/cc/Makefile.fe4
-rw-r--r--gnu/usr.bin/cc/Makefile.inc21
-rw-r--r--gnu/usr.bin/cc/Makefile.tgt15
-rw-r--r--gnu/usr.bin/cc/c++/Makefile1
-rw-r--r--gnu/usr.bin/cc/c++filt/Makefile22
-rw-r--r--gnu/usr.bin/cc/cc/Makefile4
-rw-r--r--gnu/usr.bin/cc/cc1/Makefile20
-rw-r--r--gnu/usr.bin/cc/cc1obj/Makefile20
-rw-r--r--gnu/usr.bin/cc/cc1plus/Makefile36
-rw-r--r--gnu/usr.bin/cc/cc_int/Makefile68
-rw-r--r--gnu/usr.bin/cc/cc_tools/Makefile147
-rw-r--r--gnu/usr.bin/cc/cc_tools/auto-host.h562
-rw-r--r--gnu/usr.bin/cc/cc_tools/freebsd-native.h28
-rw-r--r--gnu/usr.bin/cc/cccp/Makefile29
-rw-r--r--gnu/usr.bin/cc/collect2/Makefile23
-rw-r--r--gnu/usr.bin/cc/cpp/Makefile1
-rw-r--r--gnu/usr.bin/cc/cpp0/Makefile33
-rw-r--r--gnu/usr.bin/cc/doc/Makefile29
-rw-r--r--gnu/usr.bin/cc/f77/Makefile2
-rw-r--r--gnu/usr.bin/cc/f771/Makefile16
-rw-r--r--gnu/usr.bin/cc/f77doc/Makefile5
-rw-r--r--gnu/usr.bin/cc/gcov/Makefile9
-rw-r--r--gnu/usr.bin/cc/protoize/Makefile16
-rw-r--r--gnu/usr.bin/cc/tradcpp0/Makefile21
32 files changed, 2148 insertions, 707 deletions
diff --git a/gnu/lib/csu/Makefile b/gnu/lib/csu/Makefile
index 2f8d3ad..e4ba719 100644
--- a/gnu/lib/csu/Makefile
+++ b/gnu/lib/csu/Makefile
@@ -1,70 +1,55 @@
# $FreeBSD$
-GCCDIR= ${.CURDIR}/../../../contrib/gcc.295
-
-.if ${MACHINE_ARCH} == "alpha"
-.PATH: ${GCCDIR}/config/alpha
-SRCS= crtbegin.s crtend.s
-UGLYHACK= -x assembler
-.else
+GCCDIR= ${.CURDIR}/../../../contrib/gcc
.PATH: ${GCCDIR}
-SRCS= crtstuff.c tm.h
-.endif
+CCDIR= ${.CURDIR}/../../usr.bin/cc
+.include "${CCDIR}/Makefile.tgt"
+
+SRCS= crtstuff.c tconfig.h
OBJS= crtbegin.o crtend.o
SOBJS= crtbegin.So crtend.So
-CFLAGS+= -I${GCCDIR}/config -I. -DIN_GCC \
- -finhibit-size-directive -fno-inline-functions \
+CFLAGS+= -DIN_GCC -DHAVE_LD_EH_FRAME_HDR
+CFLAGS+= -finhibit-size-directive -fno-inline-functions \
-fno-exceptions -fno-omit-frame-pointer
-INTERNALLIB= true
-
+CFLAGS+= -I${GCCDIR}/config -I${GCCDIR} -I. \
+ -I${CCDIR}/cc_tools
CRTS_CFLAGS= -DCRTSTUFFS_O ${PICFLAG}
+MKDEPCMD= CC=${CC} MKDEP_CPP_OPTS="-M -DCRT_BEGIN" mkdep
+NOLIB= true
+
+.if ${TARGET_ARCH} == "sparc64"
+.PATH: ${GCCDIR}/config/${GCC_CPU}
+TGTOBJS= crtfastmath.o
+SRCS+= crtfastmath.c
+.endif
-all: ${OBJS} ${SOBJS}
+all: ${OBJS} ${SOBJS} ${TGTOBJS}
-.if ${MACHINE_ARCH} == "alpha"
-crtbegin.o crtbegin.So: crtbegin.s
-crtend.o crtend.So: crtend.s
-.for PART in begin end
-CLEANFILES+= crt${PART}.s
-crt${PART}.s: crt${PART}.asm
- ln -sf ${.ALLSRC} ${.TARGET}
-.endfor
-.else
crtbegin.o crtbegin.So crtend.o crtend.So: ${SRCS}
-.endif
crtbegin.o:
${CC} ${CFLAGS} -g0 -DCRT_BEGIN \
- -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
+ -c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
crtbegin.So:
${CC} ${CFLAGS} -g0 -DCRT_BEGIN ${CRTS_CFLAGS} \
- -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
+ -c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
crtend.o:
${CC} ${CFLAGS} -g0 -DCRT_END \
- -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
+ -c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
crtend.So:
${CC} ${CFLAGS} -g0 -DCRT_END ${CRTS_CFLAGS} \
- -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
+ -c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
-CLEANFILES+= tm.h
-# KEEP THIS IN SYNC with src/gnu/usr.bin/cc/cc_tools/Makefile !!
-tm.h:
- echo '#include "${MACHINE_ARCH}/${MACHINE_ARCH}.h"' > ${.TARGET}
-.if ${MACHINE_ARCH} == "i386"
- echo '#include "${MACHINE_ARCH}/att.h"' >> ${.TARGET}
-.endif
- echo '#include <freebsd.h>' >> ${.TARGET}
- echo '#include "${MACHINE_ARCH}/freebsd.h"' >> ${.TARGET}
-.if ${MACHINE_ARCH} == "i386"
- echo '#include "${MACHINE_ARCH}/perform.h"' >> ${.TARGET}
-.endif
+CLEANFILES= tconfig.h
+tconfig.h: ${CCDIR}/cc_tools/Makefile
+ ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}
realinstall:
-.for file in ${OBJS} ${SOBJS}
+.for file in ${OBJS} ${SOBJS} ${TGTOBJS}
${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
${file} ${DESTDIR}${LIBDIR}/${file:S/.So$/S.o/}
.endfor
diff --git a/gnu/lib/libgcc/Makefile b/gnu/lib/libgcc/Makefile
index a8a3c1a..4346fd2 100644
--- a/gnu/lib/libgcc/Makefile
+++ b/gnu/lib/libgcc/Makefile
@@ -1,23 +1,26 @@
# $FreeBSD$
-GCCDIR= ${.CURDIR}/../../../contrib/gcc.295
+TARGET_ARCH?= ${MACHINE_ARCH}
-.PATH: ${GCCDIR}/cp ${GCCDIR}
+GCCDIR= ${.CURDIR}/../../../contrib/gcc
+.PATH: ${GCCDIR}/config/${TARGET_ARCH} ${GCCDIR}
# allow to be overridden for the a.out case
.if !defined(LIB) || ${LIB} != "gcc_r"
LIB= gcc
.endif
+#SHLIB_MAJOR= 1
+#SHLIB_MINOR= 0
+
.if ${OBJFORMAT} == aout
# Install libgcc_pic.a, since ld.so uses it.
INSTALL_PIC_ARCHIVE= yes
.endif
#
-# XXX This is a hack, but it seems to work. libgcc1.a is supposed to be
-# compiled by the native compiler, and libgcc2.a is meant to be compiled
-# by *this* version of gcc.
+# XXX This is a hack, but it seems to work.
+# libgcc2.a is meant to be compiled by *this* version of gcc.
#
# Normally, this does not make any difference, since we only have gcc, but
# when bootstrapping from gcc-2.6.3, we have to use the freshly built 2.7.2
@@ -31,146 +34,178 @@ INSTALL_PIC_ARCHIVE= yes
XCC= ${CC}
XCXX= ${CXX}
-# Members of libgcc1.a.
-LIB1FUNCS= _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
- _lshrsi3 _ashrsi3 _ashlsi3 \
- _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 \
- _fixdfsi _fixsfsi _floatsidf _floatsisf _truncdfsf2 _extendsfdf2 \
- _addsf3 _negsf2 _subsf3 _mulsf3 _divsf3 \
- _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
- _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
-
-# Library members defined in libgcc2.c.
-LIB2FUNCS= _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \
- _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 \
- _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf \
- _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi \
- _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi \
- _fixtfdi _fixunstfdi _floatditf \
- __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+= -fexceptions
-CFLAGS+= -DIN_GCC
+CFLAGS+= -nostdlib -fexceptions
+CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \
+ -DFINE_GRAINED_LIBRARIES
.if ${OBJFORMAT} != aout
CFLAGS+= -D_PTHREADS -DGTHREAD_USE_WEAK
.endif
-CFLAGS+= -I${GCCDIR}/config -I${GCCDIR} -I.
-CXXFLAGS+= -I${GCCDIR}/cp/inc
-CXXFLAGS+= -nostdinc++
+CFLAGS+= -I${.CURDIR}/../../usr.bin/cc/cc_tools \
+ -I${GCCDIR}/config -I${GCCDIR} -I.
+
+# Remove any objects from LIB2FUNCS and LIB2_DIVMOD_FUNCS that are
+# defined as optimized assembly code in LIB1ASMFUNCS.
+.if defined(LIB1ASMFUNCS)
+.for sym in ${LIB1ASMFUNCS}
+LIB2FUNCS_1= ${LIB2FUNCS_1:S/${sym}//g}
+LIB2FUNCS_2= ${LIB2FUNCS_2:S/${sym}//g}
+LIB2_DIVMOD_FUNCS= ${LIB2_DIVMOD_FUNCS:S/${sym}//g}
+.endfor
+.endif
-COMMONHDRS= config.h tconfig.h tm.h
-CLEANFILES+= ${COMMONHDRS}
-SRCS+= ${COMMONHDRS}
+SYMS= ${LIB1ASMFUNCS} \
+ ${LIB2FUNCS_1} \
+ ${LIB2FUNCS_2} \
+ ${LIB2_DIVMOD_FUNCS}
+.if ${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "sparc64"
+SYMS+= ${FPBIT_FUNCS} ${DPBIT_FUNCS}
+.endif
+SYMS_ST= ${LIB2FUNCS_ST} \
+ ${LIB2ADD_ST}
+OBJS_T= ${SYMS:S/$/.o/} ${SYMS_ST:S/$/.o/}
+OBJS_P= ${SYMS:S/$/.po/} ${SYMS_ST:S/$/.po/}
+OBJS_S= ${SYMS:S/$/.So/}
+OBJS= ${SYMS:S/$/.o/}
+STATICOBJS= ${SYMS_ST:S/$/.o/}
+SRCS= ${LIB2ADD} ${LIB2ADDEH}
+
+
+
+#---------------------------------------------------------------------------
+#
+# When upgrading GCC, get the following defintions straight from Makefile.in
+#
+
+# Library members defined in libgcc2.c.
+# Variable length limited to 255 charactes when passed to a shell script.
+LIB2FUNCS_1 = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz \
+ _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi \
+ _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
+
+LIB2FUNCS_2 = _floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf \
+ _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3 \
+ _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+
+# Defined in libgcc2.c, included only in the static library.
+LIB2FUNCS_ST = _eprintf _bb __gcc_bcmp
-LIB1OBJS= ${LIB1FUNCS:S/$/.o/}
-LIB2OBJS= ${LIB2FUNCS:S/$/.o/}
-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} ${NEW1OBJS} ${NEW2OBJS}
-
-config.h:
- echo '#include <${MACHINE_ARCH}/xm-${MACHINE_ARCH}.h>' > ${.TARGET}
- echo '#include <xm-freebsd.h>' >> ${.TARGET}
-
-tconfig.h:
- echo '#include "gansidecl.h"' > ${.TARGET}
- echo '#include "${MACHINE_ARCH}/xm-${MACHINE_ARCH}.h"' >> ${.TARGET}
-
-# KEEP THIS IN SYNC with src/gcc/usr.bin/cc/cc_tools/Makefile !!
-tm.h:
- echo '#include "${MACHINE_ARCH}/${MACHINE_ARCH}.h"' > ${.TARGET}
-.if ${MACHINE_ARCH} == "i386"
- echo '#include "${MACHINE_ARCH}/att.h"' >> ${.TARGET}
+FPBIT_FUNCS = _pack_sf _unpack_sf _addsub_sf _mul_sf _div_sf \
+ _fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \
+ _lt_sf _le_sf _unord_sf _si_to_sf _sf_to_si _negate_sf _make_sf \
+ _sf_to_df _thenan_sf _sf_to_usi _usi_to_sf
+
+DPBIT_FUNCS = _pack_df _unpack_df _addsub_df _mul_df _div_df \
+ _fpcmp_parts_df _compare_df _eq_df _ne_df _gt_df _ge_df \
+ _lt_df _le_df _unord_df _si_to_df _df_to_si _negate_df _make_df \
+ _df_to_sf _thenan_df _df_to_usi _usi_to_df
+
+# These might cause a divide overflow trap and so are compiled with
+# unwinder info.
+LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
+
+MACHMODE_H = machmode.h machmode.def
+
+LIB2ADD = $(LIB2FUNCS_EXTRA)
+LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
+
+# Additional sources to handle exceptions; overridden on ia64.
+LIB2ADDEH = unwind-dw2.c unwind-dw2-fde.c unwind-sjlj.c
+
+#-----------------------------------------------------------------------
+#
+# Platform specific bits.
+# When upgrading GCC, get the following defintions from config/<cpu>/t-*
+#
+
+.if ${TARGET_ARCH} == "alpha"
+# from config/alpha/t-alpha
+LIB2FUNCS_EXTRA = qrnnd.asm
.endif
- echo '#include <freebsd.h>' >> ${.TARGET}
- echo '#include "${MACHINE_ARCH}/freebsd.h"' >> ${.TARGET}
-.if ${MACHINE_ARCH} == "i386"
- echo '#include "${MACHINE_ARCH}/perform.h"' >> ${.TARGET}
+
+.if ${TARGET_ARCH} == "arm"
+# from config/arm/t-strongarm-elf
+LIB1ASMSRC = arm/lib1funcs.asm
+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func
+# We want fine grained libraries, so use the new code to build the
+# floating point emulation libraries.
+XXX fix this: NEED_FP_EMULATION set to "yes" with different rules per platform
.endif
-${OBJS}: ${COMMONHDRS}
+.if ${TARGET_ARCH} == "ia64"
+# from config/ia64/t-ia64
+LIB1ASMSRC = ia64/lib1funcs.asm
+LIB1ASMFUNCS = __divtf3 __divdf3 __divsf3 \
+ __divdi3 __moddi3 __udivdi3 __umoddi3 \
+ __divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal \
+ __nonlocal_goto __restore_stack_nonlocal __trampoline
+LIB2ADDEH = unwind-ia64.c unwind-sjlj.c
+.endif
-${LIB1OBJS}: libgcc1.c
- ${CC} -c ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
- @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
- @mv ${.TARGET}.tmp ${.TARGET}
+.if ${TARGET_ARCH} == "powerpc"
+# from config/rs6000/t-ppccomm
+LIB2FUNCS_EXTRA = tramp.S
+# This one can't end up in shared libgcc
+LIB2FUNCS_STATIC_EXTRA = eabi.S
+# We want fine grained libraries, so use the new code to build the
+# floating point emulation libraries.
+OBJS+= dp-bit.o fp-bit.o
+.endif
-${LIB2OBJS}: libgcc2.c
- ${XCC} -c ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
- @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
- @mv ${.TARGET}.tmp ${.TARGET}
+.if ${TARGET_ARCH} == "sparc64"
+# from config/sparc/t-elf
+# We want fine grained libraries, so use the new code to build the
+# floating point emulation libraries.
+LIB1ASMSRC = sparc/lb1spc.asm
+LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
+OBJS+= dp-bit.o fp-bit.o
+.endif
-${NEW1OBJS}: new1.cc
- ${XCXX} -c ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc}
- @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
- @mv ${.TARGET}.tmp ${.TARGET}
+dp-bit.o: config/fp-bit.c
+ ${XCC} -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*}
-${NEW2OBJS}: new2.cc
- ${CXX} -c ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc}
- @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
- @mv ${.TARGET}.tmp ${.TARGET}
+dp-bit.So: config/fp-bit.c
+ ${XCC} ${PICFLAG} -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*}
-.if !defined(NOPIC)
-${LIB1SOBJS}: libgcc1.c
- ${CC} -c ${PICFLAG} ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
- @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
- @mv ${.TARGET}.tmp ${.TARGET}
+dp-bit.po: config/fp-bit.c
+ ${XCC} -p -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*}
-${LIB2SOBJS}: libgcc2.c
- ${XCC} -c ${PICFLAG} ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
- @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
- @mv ${.TARGET}.tmp ${.TARGET}
+fp-bit.o: config/fp-bit.c
+ ${XCC} -DFLOAT=1 -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*}
+
+fp-bit.So: config/fp-bit.c
+ ${XCC} ${PICFLAG} -DFLOAT=1 -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*}
+
+fp-bit.po: config/fp-bit.c
+ ${XCC} -p -DFLOAT=1 -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*}
+
+#-----------------------------------------------------------------------
+
+COMMONHDRS= tconfig.h
+SRCS+= ${COMMONHDRS}
+CLEANFILES+= ${COMMONHDRS}
+
+tconfig.h: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile
+ ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}
+
+${OBJS} beforedepend: ${COMMONHDRS}
-${NEW1SOBJS}: new1.cc
- ${XCXX} -c ${PICFLAG} ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc}
+${OBJS_T}: libgcc2.c
+ ${XCC} -c ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
-${NEW2SOBJS}: new2.cc
- ${CXX} -c ${PICFLAG} ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc}
+.if !defined(NOPIC)
+${OBJS_S}: libgcc2.c
+ ${XCC} -c ${PICFLAG} ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
@mv ${.TARGET}.tmp ${.TARGET}
.endif
.if !defined(NOPROFILE)
-${LIB1POBJS}: libgcc1.c
- ${CC} -c -p ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
- @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
- @mv ${.TARGET}.tmp ${.TARGET}
-
-${LIB2POBJS}: libgcc2.c
+${OBJS_P}: 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/libiberty/Makefile b/gnu/lib/libiberty/Makefile
index 27224ee..06b3f20 100644
--- a/gnu/lib/libiberty/Makefile
+++ b/gnu/lib/libiberty/Makefile
@@ -6,6 +6,7 @@ SRCDIR= ${.CURDIR}/../../../contrib/binutils/libiberty
LIB= iberty
NOPIC= true
+INTERNALLIB= true
NOMAN= sorry
# miniumally required sources
diff --git a/gnu/lib/libobjc/Makefile b/gnu/lib/libobjc/Makefile
index da9badd..65c5c63 100644
--- a/gnu/lib/libobjc/Makefile
+++ b/gnu/lib/libobjc/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
-OBJCDIR=${.CURDIR}/../../../contrib/libobjc.295
-GCCDIR= ${.CURDIR}/../../../contrib/gcc.295
+OBJCDIR=${.CURDIR}/../../../contrib/libobjc
+GCCDIR= ${.CURDIR}/../../../contrib/gcc
.PATH: ${OBJCDIR}/objc ${OBJCDIR}
@@ -17,14 +17,16 @@ SRCS= archive.c class.c encoding.c gc.c hash.c init.c misc.c \
HDRS= encoding.h hash.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${OBJCDIR}/objc -I${OBJCDIR} -I.
+CFLAGS+= -fgnu-runtime -DHAVE_GTHR_DEFAULT -DIN_TARGET_LIBS
+CFLAGS+= -I. -I${.CURDIR}/../../usr.bin/cc/cc_tools
+CFLAGS+= -I${OBJCDIR}/objc -I${OBJCDIR}
CFLAGS+= -I${GCCDIR}/config -I${GCCDIR}
beforeinstall:
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
${HDRS:S;^;${OBJCDIR}/objc/;} ${DESTDIR}/usr/include/objc
-GENHDRS= runtime-info.h tconfig.h tm.h
+GENHDRS= runtime-info.h tconfig.h
CLEANFILES+= ${GENHDRS}
SRCS+= ${GENHDRS}
@@ -34,20 +36,7 @@ runtime-info.h:
`${CC} --print-prog-name=cc1obj` -print-objc-runtime-info \
< /dev/null > ${.TARGET}
-tconfig.h:
- echo '#include "gansidecl.h"' > ${.TARGET}
- echo '#include "${MACHINE_ARCH}/xm-${MACHINE_ARCH}.h"' >> ${.TARGET}
-
-# KEEP THIS IN SYNC with src/gcc/usr.bin/cc/cc_tools/Makefile !!
-tm.h:
- echo '#include "${MACHINE_ARCH}/${MACHINE_ARCH}.h"' > ${.TARGET}
-.if ${MACHINE_ARCH} == "i386"
- echo '#include "${MACHINE_ARCH}/att.h"' >> ${.TARGET}
-.endif
- echo '#include <freebsd.h>' >> ${.TARGET}
- echo '#include "${MACHINE_ARCH}/freebsd.h"' >> ${.TARGET}
-.if ${MACHINE_ARCH} == "i386"
- echo '#include "${MACHINE_ARCH}/perform.h"' >> ${.TARGET}
-.endif
+tconfig.h: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile
+ ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}
.include <bsd.lib.mk>
diff --git a/gnu/lib/libstdc++/Makefile b/gnu/lib/libstdc++/Makefile
index 1160fe1..3e7e943 100644
--- a/gnu/lib/libstdc++/Makefile
+++ b/gnu/lib/libstdc++/Makefile
@@ -1,75 +1,97 @@
# $FreeBSD$
-SRCDIR= ${.CURDIR}/../../../contrib/libstdc++.295
-
-.PATH: ${SRCDIR} ${SRCDIR}/stl ${SRCDIR}/../libio
+SRCDIR= ${.CURDIR}/../../../contrib/libstdc++-v3/src
+.PATH: ${SRCDIR}/src ${SRCDIR}/libmath ${SRCDIR}/config/io \
+ ${SRCDIR}/config/locale/generic ${SRCDIR}
SUBDIR= doc
LIB= stdc++
-SHLIB_MAJOR= 3
+SHLIB_MAJOR= 4
SHLIB_MINOR= 0
-CFLAGS+= -I${.CURDIR} -I${SRCDIR}/include -I${SRCDIR}/../libio -I.
-CXXFLAGS+= -I${SRCDIR}/stl -I${SRCDIR} -I${SRCDIR}/../gcc/cp/inc -I.
-CXXFLAGS+= -nostdinc++ -fno-implicit-templates
+CFLAGS+= -DHAVE_CONFIG_H
+CFLAGS+= -I${.CURDIR} -I${SRCDIR}/include -I.
+CXXFLAGS+= -nostdinc++ \
+ -fno-implicit-templates -ffunction-sections -fdata-sections
+LDFLAGS+= -version-info 4:0:0 -Wl,--version-script=linker.map
+
+LDADD+= -lm -lsupc++
+DPADD+= ${LIBM} ${LIBSUPCXX}
+
+# libstdc++ sources (libstdc++-v3/src/Makefile.in, do not reorder)
+SRCS+= globals.cc limits.cc basic_file_stdio.cc complex_io.cc ios.cc \
+ strstream.cc cmath.cc bitset.cc functexcept.cc stdexcept.cc \
+ vterminate.cc c_locale.cc locale.cc localename.cc codecvt.cc \
+ collate_members.cc ctype_members.cc messages_members.cc \
+ monetary_members.cc numeric_members.cc time_members.cc concept-inst.cc \
+ locale-inst.cc misc-inst.cc stl-inst.cc string-inst.cc wstring-inst.cc \
+ valarray-inst.cc ext-inst.cc
+
+# C parts of math
+SRCS+= nan.c signbit.c signbitf.c signbitl.c # stubs.c
+
+#------------------------------------------------------------------------------
+# From libstdc++-v3/include/Makefile.am
+
+BITHDRS=basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc \
+ boost_concept_check.h char_traits.h codecvt.h concept_check.h \
+ cpp_type_traits.h fpos.h fstream.tcc functexcept.h generic_shadow.h \
+ gslice.h gslice_array.h indirect_array.h ios_base.h istream.tcc \
+ locale_facets.h locale_facets.tcc localefwd.h mask_array.h ostream.tcc \
+ pthread_allocimpl.h stream_iterator.h streambuf_iterator.h slice.h \
+ slice_array.h sstream.tcc \
+ stl_algo.h stl_algobase.h stl_alloc.h stl_bvector.h stl_construct.h \
+ stl_deque.h stl_function.h stl_heap.h stl_iterator.h \
+ stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h \
+ stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h \
+ stl_pthread_alloc.h stl_queue.h stl_raw_storage_iter.h stl_relops.h \
+ stl_set.h stl_stack.h stl_tempbuf.h stl_threads.h stl_tree.h \
+ stl_uninitialized.h stl_vector.h \
+ streambuf.tcc stringfwd.h type_traits.h valarray_array.h \
+ valarray_array.tcc valarray_meta.h
-LDADD+= -lm
-DPADD+= ${LIBM}
+BKWHDRS=complex.h iomanip.h istream.h ostream.h stream.h streambuf.h algo.h \
+ algobase.h alloc.h bvector.h defalloc.h deque.h function.h hash_map.h \
+ hash_set.h hashtable.h heap.h iostream.h iterator.h list.h map.h \
+ multimap.h new.h multiset.h pair.h queue.h rope.h set.h slist.h \
+ stack.h tempbuf.h tree.h vector.h fstream.h strstream.h strstream \
+ backward_warning.h
-HDRS= cassert cctype cerrno cfloat ciso646 climits clocale cmath complex \
- csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime \
- cwchar cwctype fstream iomanip iosfwd iostream sstream stdexcept \
- string strstream complex.h stl.h valarray
+EXTHDRS=algorithm functional hash_map hash_set iterator memory numeric \
+ rb_tree rope ropeimpl.h slist stl_hash_fun.h stl_hashtable.h stl_rope.h
-STDHDRS=bastring.cc bastring.h complext.cc complext.h dcomplex.h fcomplex.h \
- gslice.h gslice_array.h indirect_array.h ldcomplex.h mask_array.h \
- slice.h slice_array.h std_valarray.h straits.h valarray_array.h \
- valarray_array.tcc valarray_meta.h
+# This is the common subset of files that all three "C" header models use.
+BASEDHDRS=std_cassert.h std_cctype.h std_cerrno.h std_cfloat.h std_ciso646.h \
+ std_climits.h std_clocale.h std_cmath.h std_csetjmp.h std_csignal.h \
+ std_cstdarg.h std_cstddef.h std_cstdio.h std_cstdlib.h std_cstring.h \
+ std_ctime.h std_cwchar.h std_cwctype.h \
+ cmath.tcc
+
+STDHDRS=std_algorithm.h std_bitset.h std_complex.h std_deque.h std_fstream.h \
+ std_functional.h std_iomanip.h std_ios.h std_iosfwd.h std_iostream.h \
+ std_istream.h std_iterator.h std_limits.h std_list.h std_locale.h \
+ std_map.h std_memory.h std_numeric.h std_ostream.h std_queue.h \
+ std_set.h std_sstream.h std_stack.h std_stdexcept.h std_streambuf.h \
+ std_string.h std_utility.h std_valarray.h std_vector.h
+
+TGTHDRS=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h \
+ atomicity.h cpu_limits.h
-STLHDRS=algo.h algobase.h algorithm alloc.h bitset 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 / 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 \
- pfstream.cc procbuf.cc sbform.cc sbgetline.cc sbscan.cc \
- stdiostream.cc stdstrbufs.cc stdstreams.cc stream.cc streambuf.cc \
- strstream.cc
-
-# C parts of iostream / libio
-SRCS+= cleanup.c filedoalloc.c fileops.c floatconv.c genops.c iofclose.c \
- 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
+# These extra_target_headers files are all built with ad hoc naming rules.
+XTGHDRS=basic_file.h c++config.h c++io.h c++locale.h messages_members.h \
+ codecvt_specializations.h
+THDHDRS=gthr.h gthr-single.h gthr-posix.h gthr-default.h
+
+BASEDHDRS_renamed= ${BASEDHDRS:Mstd_*:S/std_//g:S/.h//g}
+STDHDRS_renamed= ${STDHDRS:Mstd_*:S/std_//g:S/.h//g}
+
+#------------------------------------------------------------------------------
+
+# gxx_include_dir = $(prefix)/include/g++-v3
beforeinstall:
+ mkdir -p ${DESTDIR}/usr/include/g++/{backward,ext}
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
${.CURDIR}/_G_config.h \
${HDRS:S;^;${SRCDIR}/;} \
@@ -80,111 +102,4 @@ beforeinstall:
${STDHDRS:S;^;${SRCDIR}/std/;} \
${DESTDIR}/usr/include/g++/std
-CLEANFILES+= dummy.h dummy.c dummy.C
-
-# Lots of special cases
-
-# ======== cstrmain.o ========
-SRCS+= cstrmain.cc
-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
- echo "#define $i 1" >> ${.TARGET}
-.endfor
- cat ${.ALLSRC} >> ${.TARGET}
-
-# ======== cstrio.o ========
-SRCS+= cstrio.cc
-CLEANFILES+= cstrio.cc
-
-cstrio.cc: sinst.cc
- echo "#define C 1" > ${.TARGET}
-.for i in EXTRACT INSERT GETLINE
- echo "#define $i 1" >> ${.TARGET}
-.endfor
- cat ${.ALLSRC} >> ${.TARGET}
-
-# ======== fcomplex.o =======
-SRCS+= fcomplex.cc
-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
- echo "#define $i 1" >> ${.TARGET}
-.endfor
- cat ${.ALLSRC} >> ${.TARGET}
-
-# ======== fcomio.o =======
-SRCS+= fcomio.cc
-CLEANFILES+= fcomio.cc
-
-fcomio.cc: cinst.cc
- echo "#define F 1" > ${.TARGET}
-.for i in EXTRACT INSERT
- echo "#define $i 1" >> ${.TARGET}
-.endfor
- cat ${.ALLSRC} >> ${.TARGET}
-
-# ======== dcomplex.o =======
-SRCS+= dcomplex.cc
-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
- echo "#define $i 1" >> ${.TARGET}
-.endfor
- cat ${.ALLSRC} >> ${.TARGET}
-
-# ======== dcomio.o =======
-SRCS+= dcomio.cc
-CLEANFILES+= dcomio.cc
-
-dcomio.cc: cinst.cc
- echo "#define D 1" > ${.TARGET}
-.for i in EXTRACT INSERT
- echo "#define $i 1" >> ${.TARGET}
-.endfor
- cat ${.ALLSRC} >> ${.TARGET}
-
-# ======== ldcomplex.o =======
-SRCS+= ldcomplex.cc
-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
- echo "#define $i 1" >> ${.TARGET}
-.endfor
- cat ${.ALLSRC} >> ${.TARGET}
-
-# ======== ldcomio.o =======
-SRCS+= ldcomio.cc
-CLEANFILES+= ldcomio.cc
-
-ldcomio.cc: cinst.cc
- echo "#define LD 1" > ${.TARGET}
-.for i in EXTRACT INSERT
- echo "#define $i 1" >> ${.TARGET}
-.endfor
- cat ${.ALLSRC} >> ${.TARGET}
-
-# ======== _G_config.h generation =======
-# In case you want or need to generate a _G_config.h file.
-make_G_config_h:
- CC="${CC}" CXX="${CXX}" CONFIG_NM="nm" \
- CPP="${CC} -E -nostdinc -idirafter ${DESTDIR}/usr/include" \
- sh ${SRCDIR}/../libio/gen-params \
- LIB_VERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}.0 >${.TARGET}
-
.include <bsd.lib.mk>
diff --git a/gnu/lib/libstdc++/config.h b/gnu/lib/libstdc++/config.h
index da23dbe..645d0ac 100644
--- a/gnu/lib/libstdc++/config.h
+++ b/gnu/lib/libstdc++/config.h
@@ -1 +1,1076 @@
/* $FreeBSD$ */
+
+/* config.h. Generated automatically by configure. */
+/* config.h.in. Generated automatically from configure.in by autoheader. */
+
+/* Define if you have a working `mmap' system call. */
+#define HAVE_MMAP 1
+
+// Define if GCC supports weak symbols.
+#define _GLIBCPP_SUPPORTS_WEAK __GXX_WEAK__
+
+// Define if gthr-default.h exists (meaning that threading support is enabled).
+#define HAVE_GTHR_DEFAULT 1
+
+// Include I/O support for 'long long' and 'unsigned long long'.
+#define _GLIBCPP_USE_LONG_LONG 1
+
+// Define if C99 features such as lldiv_t, llabs, lldiv should be exposed.
+/* #undef _GLIBCPP_USE_C99 */
+
+// Define if code specialized for wchar_t should be used.
+/* #undef _GLIBCPP_USE_WCHAR_T */
+
+// Define if using setrlimit to limit memory usage during 'make check'.
+/* #undef _GLIBCPP_MEM_LIMITS */
+
+// Define to use concept checking code from the boost libraries.
+/* #undef _GLIBCPP_CONCEPT_CHECKS */
+
+// Define if mbstate_t exists in wchar.h.
+#define HAVE_MBSTATE_T 1
+
+// Define if you have the modff function.
+#define HAVE_MODFF 1
+
+// Define if you have the modfl function.
+/* #undef HAVE_MODFL */
+
+// Define if you have the expf function.
+#define HAVE_EXPF 1
+
+// Define if you have the expl function.
+/* #undef HAVE_EXPL */
+
+// Define if you have the hypotf function.
+#define HAVE_HYPOTF 1
+
+// Define if you have the hypotl function.
+/* #undef HAVE_HYPOTL */
+
+// Define if the compiler/host combination has __builtin_abs
+#define HAVE___BUILTIN_ABS 1
+
+// Define if the compiler/host combination has __builtin_labs
+#define HAVE___BUILTIN_LABS 1
+
+// Define if the compiler/host combination has __builtin_cos
+/* #undef HAVE___BUILTIN_COS */
+
+// Define if the compiler/host combination has __builtin_cosf
+/* #undef HAVE___BUILTIN_COSF */
+
+// Define if the compiler/host combination has __builtin_cosl
+/* #undef HAVE___BUILTIN_COSL */
+
+// Define if the compiler/host combination has __builtin_fabs
+#define HAVE___BUILTIN_FABS 1
+
+// Define if the compiler/host combination has __builtin_fabsf
+#define HAVE___BUILTIN_FABSF 1
+
+// Define if the compiler/host combination has __builtin_fabsl
+#define HAVE___BUILTIN_FABSL 1
+
+// Define if the compiler/host combination has __builtin_sin
+/* #undef HAVE___BUILTIN_SIN */
+
+// Define if the compiler/host combination has __builtin_sinf
+/* #undef HAVE___BUILTIN_SINF */
+
+// Define if the compiler/host combination has __builtin_sinl
+/* #undef HAVE___BUILTIN_SINL */
+
+// Define if the compiler/host combination has __builtin_sqrt
+/* #undef HAVE___BUILTIN_SQRT */
+
+// Define if the compiler/host combination has __builtin_sqrtf
+/* #undef HAVE___BUILTIN_SQRTF */
+
+// Define if the compiler/host combination has __builtin_sqrtl
+/* #undef HAVE___BUILTIN_SQRTL */
+
+// Define if LC_MESSAGES is available in <locale.h>.
+#define HAVE_LC_MESSAGES 1
+
+/* Define if you have the __signbit function. */
+/* #undef HAVE___SIGNBIT */
+
+/* Define if you have the __signbitf function. */
+/* #undef HAVE___SIGNBITF */
+
+/* Define if you have the __signbitl function. */
+/* #undef HAVE___SIGNBITL */
+
+/* Define if you have the _acosf function. */
+/* #undef HAVE__ACOSF */
+
+/* Define if you have the _acosl function. */
+/* #undef HAVE__ACOSL */
+
+/* Define if you have the _asinf function. */
+/* #undef HAVE__ASINF */
+
+/* Define if you have the _asinl function. */
+/* #undef HAVE__ASINL */
+
+/* Define if you have the _atan2f function. */
+/* #undef HAVE__ATAN2F */
+
+/* Define if you have the _atan2l function. */
+/* #undef HAVE__ATAN2L */
+
+/* Define if you have the _atanf function. */
+/* #undef HAVE__ATANF */
+
+/* Define if you have the _atanl function. */
+/* #undef HAVE__ATANL */
+
+/* Define if you have the _ceilf function. */
+/* #undef HAVE__CEILF */
+
+/* Define if you have the _ceill function. */
+/* #undef HAVE__CEILL */
+
+/* Define if you have the _copysign function. */
+/* #undef HAVE__COPYSIGN */
+
+/* Define if you have the _copysignl function. */
+/* #undef HAVE__COPYSIGNL */
+
+/* Define if you have the _cosf function. */
+/* #undef HAVE__COSF */
+
+/* Define if you have the _coshf function. */
+/* #undef HAVE__COSHF */
+
+/* Define if you have the _coshl function. */
+/* #undef HAVE__COSHL */
+
+/* Define if you have the _cosl function. */
+/* #undef HAVE__COSL */
+
+/* Define if you have the _expf function. */
+/* #undef HAVE__EXPF */
+
+/* Define if you have the _expl function. */
+/* #undef HAVE__EXPL */
+
+/* Define if you have the _fabsf function. */
+/* #undef HAVE__FABSF */
+
+/* Define if you have the _fabsl function. */
+/* #undef HAVE__FABSL */
+
+/* Define if you have the _finite function. */
+/* #undef HAVE__FINITE */
+
+/* Define if you have the _finitef function. */
+/* #undef HAVE__FINITEF */
+
+/* Define if you have the _finitel function. */
+/* #undef HAVE__FINITEL */
+
+/* Define if you have the _floorf function. */
+/* #undef HAVE__FLOORF */
+
+/* Define if you have the _floorl function. */
+/* #undef HAVE__FLOORL */
+
+/* Define if you have the _fmodf function. */
+/* #undef HAVE__FMODF */
+
+/* Define if you have the _fmodl function. */
+/* #undef HAVE__FMODL */
+
+/* Define if you have the _fpclass function. */
+/* #undef HAVE__FPCLASS */
+
+/* Define if you have the _frexpf function. */
+/* #undef HAVE__FREXPF */
+
+/* Define if you have the _frexpl function. */
+/* #undef HAVE__FREXPL */
+
+/* Define if you have the _hypot function. */
+/* #undef HAVE__HYPOT */
+
+/* Define if you have the _hypotf function. */
+/* #undef HAVE__HYPOTF */
+
+/* Define if you have the _hypotl function. */
+/* #undef HAVE__HYPOTL */
+
+/* Define if you have the _isinf function. */
+/* #undef HAVE__ISINF */
+
+/* Define if you have the _isinff function. */
+/* #undef HAVE__ISINFF */
+
+/* Define if you have the _isinfl function. */
+/* #undef HAVE__ISINFL */
+
+/* Define if you have the _isnan function. */
+/* #undef HAVE__ISNAN */
+
+/* Define if you have the _isnanf function. */
+/* #undef HAVE__ISNANF */
+
+/* Define if you have the _isnanl function. */
+/* #undef HAVE__ISNANL */
+
+/* Define if you have the _ldexpf function. */
+/* #undef HAVE__LDEXPF */
+
+/* Define if you have the _ldexpl function. */
+/* #undef HAVE__LDEXPL */
+
+/* Define if you have the _log10f function. */
+/* #undef HAVE__LOG10F */
+
+/* Define if you have the _log10l function. */
+/* #undef HAVE__LOG10L */
+
+/* Define if you have the _logf function. */
+/* #undef HAVE__LOGF */
+
+/* Define if you have the _logl function. */
+/* #undef HAVE__LOGL */
+
+/* Define if you have the _modff function. */
+/* #undef HAVE__MODFF */
+
+/* Define if you have the _modfl function. */
+/* #undef HAVE__MODFL */
+
+/* Define if you have the _powf function. */
+/* #undef HAVE__POWF */
+
+/* Define if you have the _powl function. */
+/* #undef HAVE__POWL */
+
+/* Define if you have the _qfpclass function. */
+/* #undef HAVE__QFPCLASS */
+
+/* Define if you have the _sincos function. */
+/* #undef HAVE__SINCOS */
+
+/* Define if you have the _sincosf function. */
+/* #undef HAVE__SINCOSF */
+
+/* Define if you have the _sincosl function. */
+/* #undef HAVE__SINCOSL */
+
+/* Define if you have the _sinf function. */
+/* #undef HAVE__SINF */
+
+/* Define if you have the _sinhf function. */
+/* #undef HAVE__SINHF */
+
+/* Define if you have the _sinhl function. */
+/* #undef HAVE__SINHL */
+
+/* Define if you have the _sinl function. */
+/* #undef HAVE__SINL */
+
+/* Define if you have the _sqrtf function. */
+/* #undef HAVE__SQRTF */
+
+/* Define if you have the _sqrtl function. */
+/* #undef HAVE__SQRTL */
+
+/* Define if you have the _tanf function. */
+/* #undef HAVE__TANF */
+
+/* Define if you have the _tanhf function. */
+/* #undef HAVE__TANHF */
+
+/* Define if you have the _tanhl function. */
+/* #undef HAVE__TANHL */
+
+/* Define if you have the _tanl function. */
+/* #undef HAVE__TANL */
+
+/* Define if you have the acosf function. */
+#define HAVE_ACOSF 1
+
+/* Define if you have the acosl function. */
+/* #undef HAVE_ACOSL */
+
+/* Define if you have the asinf function. */
+#define HAVE_ASINF 1
+
+/* Define if you have the asinl function. */
+/* #undef HAVE_ASINL */
+
+/* Define if you have the atan2f function. */
+#define HAVE_ATAN2F 1
+
+/* Define if you have the atan2l function. */
+/* #undef HAVE_ATAN2L */
+
+/* Define if you have the atanf function. */
+#define HAVE_ATANF 1
+
+/* Define if you have the atanl function. */
+/* #undef HAVE_ATANL */
+
+/* Define if you have the btowc function. */
+/* #undef HAVE_BTOWC */
+
+/* Define if you have the ceilf function. */
+#define HAVE_CEILF 1
+
+/* Define if you have the ceill function. */
+/* #undef HAVE_CEILL */
+
+/* Define if you have the copysign function. */
+#define HAVE_COPYSIGN 1
+
+/* Define if you have the copysignf function. */
+#define HAVE_COPYSIGNF 1
+
+/* Define if you have the copysignl function. */
+/* #undef HAVE_COPYSIGNL */
+
+/* Define if you have the cosf function. */
+#define HAVE_COSF 1
+
+/* Define if you have the coshf function. */
+#define HAVE_COSHF 1
+
+/* Define if you have the coshl function. */
+/* #undef HAVE_COSHL */
+
+/* Define if you have the cosl function. */
+/* #undef HAVE_COSL */
+
+/* Define if you have the drand48 function. */
+#define HAVE_DRAND48 1
+
+/* Define if you have the expf function. */
+#define HAVE_EXPF 1
+
+/* Define if you have the expl function. */
+/* #undef HAVE_EXPL */
+
+/* Define if you have the fabsf function. */
+#define HAVE_FABSF 1
+
+/* Define if you have the fabsl function. */
+/* #undef HAVE_FABSL */
+
+/* Define if you have the fgetwc function. */
+/* #undef HAVE_FGETWC */
+
+/* Define if you have the fgetws function. */
+/* #undef HAVE_FGETWS */
+
+/* Define if you have the finite function. */
+#define HAVE_FINITE 1
+
+/* Define if you have the finitef function. */
+#define HAVE_FINITEF 1
+
+/* Define if you have the finitel function. */
+/* #undef HAVE_FINITEL */
+
+/* Define if you have the floorf function. */
+#define HAVE_FLOORF 1
+
+/* Define if you have the floorl function. */
+/* #undef HAVE_FLOORL */
+
+/* Define if you have the fmodf function. */
+#define HAVE_FMODF 1
+
+/* Define if you have the fmodl function. */
+/* #undef HAVE_FMODL */
+
+/* Define if you have the fpclass function. */
+/* #undef HAVE_FPCLASS */
+
+/* Define if you have the fputwc function. */
+/* #undef HAVE_FPUTWC */
+
+/* Define if you have the fputws function. */
+/* #undef HAVE_FPUTWS */
+
+/* Define if you have the frexpf function. */
+#define HAVE_FREXPF 1
+
+/* Define if you have the frexpl function. */
+/* #undef HAVE_FREXPL */
+
+/* Define if you have the fwide function. */
+/* #undef HAVE_FWIDE */
+
+/* Define if you have the fwprintf function. */
+/* #undef HAVE_FWPRINTF */
+
+/* Define if you have the fwscanf function. */
+/* #undef HAVE_FWSCANF */
+
+/* Define if you have the getpagesize function. */
+#define HAVE_GETPAGESIZE 1
+
+/* Define if you have the getwc function. */
+/* #undef HAVE_GETWC */
+
+/* Define if you have the getwchar function. */
+/* #undef HAVE_GETWCHAR */
+
+/* Define if you have the hypot function. */
+#define HAVE_HYPOT 1
+
+/* Define if you have the hypotf function. */
+#define HAVE_HYPOTF 1
+
+/* Define if you have the hypotl function. */
+/* #undef HAVE_HYPOTL */
+
+/* Define if you have the iconv function. */
+/* #undef HAVE_ICONV */
+
+/* Define if you have the iconv_close function. */
+/* #undef HAVE_ICONV_CLOSE */
+
+/* Define if you have the iconv_open function. */
+/* #undef HAVE_ICONV_OPEN */
+
+/* Define if you have the isinf function. */
+#define HAVE_ISINF 1
+
+/* Define if you have the isinff function. */
+/* #undef HAVE_ISINFF */
+
+/* Define if you have the isinfl function. */
+/* #undef HAVE_ISINFL */
+
+/* Define if you have the isnan function. */
+#define HAVE_ISNAN 1
+
+/* Define if you have the isnanf function. */
+#define HAVE_ISNANF 1
+
+/* Define if you have the isnanl function. */
+/* #undef HAVE_ISNANL */
+
+/* Define if you have the ldexpf function. */
+#define HAVE_LDEXPF 1
+
+/* Define if you have the ldexpl function. */
+/* #undef HAVE_LDEXPL */
+
+/* Define if you have the log10f function. */
+#define HAVE_LOG10F 1
+
+/* Define if you have the log10l function. */
+/* #undef HAVE_LOG10L */
+
+/* Define if you have the logf function. */
+#define HAVE_LOGF 1
+
+/* Define if you have the logl function. */
+/* #undef HAVE_LOGL */
+
+/* Define if you have the mbrlen function. */
+/* #undef HAVE_MBRLEN */
+
+/* Define if you have the mbrtowc function. */
+/* #undef HAVE_MBRTOWC */
+
+/* Define if you have the mbsinit function. */
+/* #undef HAVE_MBSINIT */
+
+/* Define if you have the mbsrtowcs function. */
+/* #undef HAVE_MBSRTOWCS */
+
+/* Define if you have the modff function. */
+#define HAVE_MODFF 1
+
+/* Define if you have the modfl function. */
+/* #undef HAVE_MODFL */
+
+/* Define if you have the nan function. */
+/* #undef HAVE_NAN */
+
+/* Define if you have the nl_langinfo function. */
+#define HAVE_NL_LANGINFO 1
+
+/* Define if you have the powf function. */
+#define HAVE_POWF 1
+
+/* Define if you have the powl function. */
+/* #undef HAVE_POWL */
+
+/* Define if you have the putwc function. */
+/* #undef HAVE_PUTWC */
+
+/* Define if you have the putwchar function. */
+/* #undef HAVE_PUTWCHAR */
+
+/* Define if you have the qfpclass function. */
+/* #undef HAVE_QFPCLASS */
+
+/* Define if you have the setenv function. */
+#define HAVE_SETENV 1
+
+/* Define if you have the sincos function. */
+/* #undef HAVE_SINCOS */
+
+/* Define if you have the sincosf function. */
+/* #undef HAVE_SINCOSF */
+
+/* Define if you have the sincosl function. */
+/* #undef HAVE_SINCOSL */
+
+/* Define if you have the sinf function. */
+#define HAVE_SINF 1
+
+/* Define if you have the sinhf function. */
+#define HAVE_SINHF 1
+
+/* Define if you have the sinhl function. */
+/* #undef HAVE_SINHL */
+
+/* Define if you have the sinl function. */
+/* #undef HAVE_SINL */
+
+/* Define if you have the sqrtf function. */
+#define HAVE_SQRTF 1
+
+/* Define if you have the sqrtl function. */
+/* #undef HAVE_SQRTL */
+
+/* Define if you have the strtof function. */
+/* #undef HAVE_STRTOF */
+
+/* Define if you have the strtold function. */
+/* #undef HAVE_STRTOLD */
+
+/* Define if you have the swprintf function. */
+/* #undef HAVE_SWPRINTF */
+
+/* Define if you have the swscanf function. */
+/* #undef HAVE_SWSCANF */
+
+/* Define if you have the tanf function. */
+#define HAVE_TANF 1
+
+/* Define if you have the tanhf function. */
+#define HAVE_TANHF 1
+
+/* Define if you have the tanhl function. */
+/* #undef HAVE_TANHL */
+
+/* Define if you have the tanl function. */
+/* #undef HAVE_TANL */
+
+/* Define if you have the ungetwc function. */
+/* #undef HAVE_UNGETWC */
+
+/* Define if you have the vfwprintf function. */
+/* #undef HAVE_VFWPRINTF */
+
+/* Define if you have the vfwscanf function. */
+/* #undef HAVE_VFWSCANF */
+
+/* Define if you have the vswprintf function. */
+/* #undef HAVE_VSWPRINTF */
+
+/* Define if you have the vswscanf function. */
+/* #undef HAVE_VSWSCANF */
+
+/* Define if you have the vwprintf function. */
+/* #undef HAVE_VWPRINTF */
+
+/* Define if you have the vwscanf function. */
+/* #undef HAVE_VWSCANF */
+
+/* Define if you have the wcrtomb function. */
+/* #undef HAVE_WCRTOMB */
+
+/* Define if you have the wcscat function. */
+#define HAVE_WCSCAT 1
+
+/* Define if you have the wcschr function. */
+#define HAVE_WCSCHR 1
+
+/* Define if you have the wcscmp function. */
+#define HAVE_WCSCMP 1
+
+/* Define if you have the wcscoll function. */
+/* #undef HAVE_WCSCOLL */
+
+/* Define if you have the wcscpy function. */
+#define HAVE_WCSCPY 1
+
+/* Define if you have the wcscspn function. */
+#define HAVE_WCSCSPN 1
+
+/* Define if you have the wcsftime function. */
+/* #undef HAVE_WCSFTIME */
+
+/* Define if you have the wcslen function. */
+#define HAVE_WCSLEN 1
+
+/* Define if you have the wcsncat function. */
+#define HAVE_WCSNCAT 1
+
+/* Define if you have the wcsncmp function. */
+#define HAVE_WCSNCMP 1
+
+/* Define if you have the wcsncpy function. */
+#define HAVE_WCSNCPY 1
+
+/* Define if you have the wcspbrk function. */
+#define HAVE_WCSPBRK 1
+
+/* Define if you have the wcsrchr function. */
+#define HAVE_WCSRCHR 1
+
+/* Define if you have the wcsrtombs function. */
+/* #undef HAVE_WCSRTOMBS */
+
+/* Define if you have the wcsspn function. */
+#define HAVE_WCSSPN 1
+
+/* Define if you have the wcsstr function. */
+#define HAVE_WCSSTR 1
+
+/* Define if you have the wcstod function. */
+/* #undef HAVE_WCSTOD */
+
+/* Define if you have the wcstof function. */
+/* #undef HAVE_WCSTOF */
+
+/* Define if you have the wcstok function. */
+/* #undef HAVE_WCSTOK */
+
+/* Define if you have the wcstol function. */
+/* #undef HAVE_WCSTOL */
+
+/* Define if you have the wcstoul function. */
+/* #undef HAVE_WCSTOUL */
+
+/* Define if you have the wcsxfrm function. */
+/* #undef HAVE_WCSXFRM */
+
+/* Define if you have the wctob function. */
+/* #undef HAVE_WCTOB */
+
+/* Define if you have the wmemchr function. */
+#define HAVE_WMEMCHR 1
+
+/* Define if you have the wmemcmp function. */
+#define HAVE_WMEMCMP 1
+
+/* Define if you have the wmemcpy function. */
+#define HAVE_WMEMCPY 1
+
+/* Define if you have the wmemmove function. */
+#define HAVE_WMEMMOVE 1
+
+/* Define if you have the wmemset function. */
+#define HAVE_WMEMSET 1
+
+/* Define if you have the wprintf function. */
+/* #undef HAVE_WPRINTF */
+
+/* Define if you have the wscanf function. */
+/* #undef HAVE_WSCANF */
+
+/* Define if you have the <endian.h> header file. */
+/* #undef HAVE_ENDIAN_H */
+
+/* Define if you have the <float.h> header file. */
+#define HAVE_FLOAT_H 1
+
+/* Define if you have the <fp.h> header file. */
+/* #undef HAVE_FP_H */
+
+/* Define if you have the <gconv.h> header file. */
+/* #undef HAVE_GCONV_H */
+
+/* Define if you have the <ieeefp.h> header file. */
+#define HAVE_IEEEFP_H 1
+
+/* Define if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define if you have the <machine/endian.h> header file. */
+#define HAVE_MACHINE_ENDIAN_H 1
+
+/* Define if you have the <machine/param.h> header file. */
+#define HAVE_MACHINE_PARAM_H 1
+
+/* Define if you have the <nan.h> header file. */
+/* #undef HAVE_NAN_H */
+
+/* Define if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define if you have the <sys/isa_defs.h> header file. */
+/* #undef HAVE_SYS_ISA_DEFS_H */
+
+/* Define if you have the <sys/machine.h> header file. */
+/* #undef HAVE_SYS_MACHINE_H */
+
+/* Define if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define if you have the <wchar.h> header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define if you have the <wctype.h> header file. */
+#define HAVE_WCTYPE_H 1
+
+/* Define if you have the m library (-lm). */
+#define HAVE_LIBM 1
+
+/* Name of package */
+#define PACKAGE "libstdc++"
+
+/* Version number of package */
+#define VERSION "3.1.0"
+
+/* Define if the compiler is configured for setjmp/longjmp exceptions. */
+/* #undef _GLIBCPP_SJLJ_EXCEPTIONS */
+
+/* Define if sigsetjmp is available. */
+#define HAVE_SIGSETJMP 1
+
+/* Only used in build directory testsuite_hooks.h. */
+#define HAVE_MEMLIMIT_DATA 0
+
+/* Only used in build directory testsuite_hooks.h. */
+#define HAVE_MEMLIMIT_RSS 0
+
+/* Only used in build directory testsuite_hooks.h. */
+#define HAVE_MEMLIMIT_VMEM 0
+
+/* Only used in build directory testsuite_hooks.h. */
+#define HAVE_MEMLIMIT_AS 0
+
+//
+// Systems that have certain non-standard functions prefixed with an
+// underscore, we'll handle those here. Must come after config.h.in.
+//
+#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN)
+# define HAVE_ISNAN 1
+# define isnan _isnan
+#endif
+
+#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF)
+# define HAVE_ISNANF 1
+# define isnanf _isnanf
+#endif
+
+#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL)
+# define HAVE_ISNANL 1
+# define isnanl _isnanl
+#endif
+
+#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF)
+# define HAVE_ISINF 1
+# define isinf _isinf
+#endif
+
+#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF)
+# define HAVE_ISINFF 1
+# define isinff _isinff
+#endif
+
+#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL)
+# define HAVE_ISINFL 1
+# define isinfl _isinfl
+#endif
+
+#if defined (HAVE__COPYSIGN) && ! defined (HAVE_COPYSIGN)
+# define HAVE_COPYSIGN 1
+# define copysign _copysign
+#endif
+
+#if defined (HAVE__COPYSIGNL) && ! defined (HAVE_COPYSIGNL)
+# define HAVE_COPYSIGNL 1
+# define copysignl _copysignl
+#endif
+
+#if defined (HAVE__COSF) && ! defined (HAVE_COSF)
+# define HAVE_COSF 1
+# define cosf _cosf
+#endif
+
+#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF)
+# define HAVE_ACOSF 1
+# define acosf _acosf
+#endif
+
+#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL)
+# define HAVE_ACOSL 1
+# define acosl _acosl
+#endif
+
+#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF)
+# define HAVE_ASINF 1
+# define asinf _asinf
+#endif
+
+#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL)
+# define HAVE_ASINL 1
+# define asinl _asinl
+#endif
+
+#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF)
+# define HAVE_ATANF 1
+# define atanf _atanf
+#endif
+
+#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL)
+# define HAVE_ATANL 1
+# define atanl _atanl
+#endif
+
+#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF)
+# define HAVE_CEILF 1
+# define aceil _ceilf
+#endif
+
+#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL)
+# define HAVE_CEILL 1
+# define aceil _ceill
+#endif
+
+#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF)
+# define HAVE_COSHF 1
+# define coshf _coshf
+#endif
+
+#if defined (HAVE__COSL) && ! defined (HAVE_COSL)
+# define HAVE_COSL 1
+# define cosl _cosl
+#endif
+
+#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF)
+# define HAVE_LOGF 1
+# define logf _logf
+#endif
+
+#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL)
+# define HAVE_COSHL 1
+# define coshl _coshl
+#endif
+
+#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF)
+# define HAVE_EXPF 1
+# define expf _expf
+#endif
+
+#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL)
+# define HAVE_EXPL 1
+# define expl _expl
+#endif
+
+#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF)
+# define HAVE_FABSF 1
+# define fabsf _fabsf
+#endif
+
+#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL)
+# define HAVE_FABSL 1
+# define fabsl _fabsl
+#endif
+
+#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF)
+# define HAVE_FLOORF 1
+# define floorf _floorf
+#endif
+
+#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL)
+# define HAVE_FLOORL 1
+# define floorl _floorl
+#endif
+
+#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF)
+# define HAVE_FMODF 1
+# define fmodf _fmodf
+#endif
+
+#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL)
+# define HAVE_FMODL 1
+# define fmodl _fmodl
+#endif
+
+#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF)
+# define HAVE_FREXPF 1
+# define frexpf _frexpf
+#endif
+
+#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL)
+# define HAVE_FREXPL 1
+# define frexpl _frexpl
+#endif
+
+#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF)
+# define HAVE_LDEXPF 1
+# define ldexpf _ldexpf
+#endif
+
+#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL)
+# define HAVE_LDEXPL 1
+# define ldexpl _ldexpl
+#endif
+
+#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F)
+# define HAVE_LOG10F 1
+# define log10f _log10f
+#endif
+
+#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL)
+# define HAVE_LOGL 1
+# define logl _logl
+#endif
+
+#if defined (HAVE__POWF) && ! defined (HAVE_POWF)
+# define HAVE_POWF 1
+# define powf _powf
+#endif
+
+#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L)
+# define HAVE_LOG10L 1
+# define log10l _log10l
+#endif
+
+#if defined (HAVE__MODF) && ! defined (HAVE_MODF)
+# define HAVE_MODF 1
+# define modf _modf
+#endif
+
+#if defined (HAVE__MODL) && ! defined (HAVE_MODL)
+# define HAVE_MODL 1
+# define modl _modl
+#endif
+
+#if defined (HAVE__SINF) && ! defined (HAVE_SINF)
+# define HAVE_SINF 1
+# define sinf _sinf
+#endif
+
+#if defined (HAVE__POWL) && ! defined (HAVE_POWL)
+# define HAVE_POWL 1
+# define powl _powl
+#endif
+
+#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF)
+# define HAVE_SINHF 1
+# define sinhf _sinhf
+#endif
+
+#if defined (HAVE__SINL) && ! defined (HAVE_SINL)
+# define HAVE_SINL 1
+# define sinl _sinl
+#endif
+
+#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF)
+# define HAVE_SQRTF 1
+# define sqrtf _sqrtf
+#endif
+
+#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL)
+# define HAVE_SINHL 1
+# define sinhl _sinhl
+#endif
+
+#if defined (HAVE__TANF) && ! defined (HAVE_TANF)
+# define HAVE_TANF 1
+# define tanf _tanf
+#endif
+
+#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL)
+# define HAVE_SQRTL 1
+# define sqrtl _sqrtl
+#endif
+
+#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF)
+# define HAVE_TANHF 1
+# define tanhf _tanhf
+#endif
+
+#if defined (HAVE__TANL) && ! defined (HAVE_TANL)
+# define HAVE_TANF 1
+# define tanf _tanf
+#endif
+
+#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF)
+# define HAVE_STRTOF 1
+# define strtof _strtof
+#endif
+
+#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL)
+# define HAVE_TANHL 1
+# define tanhl _tanhl
+#endif
+
+#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD)
+# define HAVE_STRTOLD 1
+# define strtold _strtold
+#endif
+
+#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS)
+# define HAVE_SINCOS 1
+# define sincos _sincos
+#endif
+
+#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF)
+# define HAVE_SINCOSF 1
+# define sincosf _sincosf
+#endif
+
+#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL)
+# define HAVE_SINCOSL 1
+# define sincosl _sincosl
+#endif
+
+#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE)
+# define HAVE_FINITE 1
+# define finite _finite
+#endif
+
+#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF)
+# define HAVE_FINITEF 1
+# define finitef _finitef
+#endif
+
+#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL)
+# define HAVE_FINITEL 1
+# define finitel _finitel
+#endif
+
+#if defined (HAVE__QFINITE) && ! defined (HAVE_QFINITE)
+# define HAVE_QFINITE 1
+# define qfinite _qfinite
+#endif
+
+#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS)
+# define HAVE_FPCLASS 1
+# define fpclass _fpclass
+#endif
+
+#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS)
+# define HAVE_QFPCLASS 1
+# define qfpclass _qfpclass
+#endif
+
diff --git a/gnu/lib/libsupc++/Makefile b/gnu/lib/libsupc++/Makefile
index e8c0da7..a35befc 100644
--- a/gnu/lib/libsupc++/Makefile
+++ b/gnu/lib/libsupc++/Makefile
@@ -1 +1,28 @@
# $FreeBSD$
+
+SRCDIR= ${.CURDIR}/../../../contrib/libstdc++-v3
+.PATH: ${SRCDIR} ${SRCDIR}/../../gcc
+
+LIB= stdc++
+SRCS= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc \
+ eh_alloc.cc eh_aux_runtime.cc eh_catch.cc eh_exception.cc \
+ eh_globals.cc eh_personality.cc eh_terminate.cc eh_throw.cc eh_type.cc \
+ new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc \
+ pure.cc tinfo.cc tinfo2.cc vec.cc
+
+# from libiberty:
+SRCS+= cp-demangle.c dyn-string.c
+
+CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H
+CFLAGS+= -I${SRCDIR}/../../gcc
+CXXFLAGS+= -nostdinc++ \
+ -fno-implicit-templates -ffunction-sections -fdata-sections
+
+HDRS= exception new typeinfo cxxabi.h exception_defines.h
+
+beforeinstall:
+ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
+ ${HDRS:S;^;${SRCDIR}/;} \
+ ${DESTDIR}/usr/include/g++-v3
+
+.include <bsd.lib.mk>
diff --git a/gnu/usr.bin/cc/Makefile b/gnu/usr.bin/cc/Makefile
index a75747b..06dee66 100644
--- a/gnu/usr.bin/cc/Makefile
+++ b/gnu/usr.bin/cc/Makefile
@@ -3,7 +3,7 @@
# The order of some of these are rather important. Some depend on previous
# subdirs.
-SUBDIR= cc_fbsd cc_tools cc_int cccp cc1 cc
+SUBDIR= cc_fbsd cc_tools cc_int cc cc1 cpp0 protoize tradcpp0
.if !defined(NO_CPP)
SUBDIR+= cpp
@@ -11,9 +11,9 @@ SUBDIR+= cpp
.if !defined(NO_CXX)
SUBDIR+= cc1plus c++ c++filt doc
-#.if !defined(NO_COLLECT2)
-#SUBDIR+= collect2
-#.endif
+.if !defined(NO_COLLECT2)
+SUBDIR+= collect2
+.endif
.endif
.if !defined(NO_OBJC)
diff --git a/gnu/usr.bin/cc/Makefile.fe b/gnu/usr.bin/cc/Makefile.fe
index e8c0da7..c4a02f8 100644
--- a/gnu/usr.bin/cc/Makefile.fe
+++ b/gnu/usr.bin/cc/Makefile.fe
@@ -1 +1,5 @@
# $FreeBSD$
+
+# Front-end-only bits
+
+version!= sed -n /version_string/p ${GCCDIR}/version.c | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'
diff --git a/gnu/usr.bin/cc/Makefile.inc b/gnu/usr.bin/cc/Makefile.inc
index 355b0bc..e9f4867 100644
--- a/gnu/usr.bin/cc/Makefile.inc
+++ b/gnu/usr.bin/cc/Makefile.inc
@@ -6,24 +6,17 @@
.if !defined(__CC_MAKEFILE_INC__)
__CC_MAKEFILE_INC__= ${MFILE}
-GCCDIR= ${.CURDIR}/../../../../contrib/gcc.295
+GCCDIR= ${.CURDIR}/../../../../contrib/gcc
-TARGET_ARCH?= ${MACHINE_ARCH}
+.include "Makefile.tgt"
# Machine description.
-MD_FILE= ${GCCDIR}/config/${TARGET_ARCH}/${TARGET_ARCH}.md
-target= ${TARGET_ARCH}-unknown-freebsd
-
-# These architectures are Cygnus's default for enabling Haifa.
-.if ${TARGET_ARCH} == "alpha"
-USE_EGCS_HAIFA= 1
-.endif
-
-version!= grep version_string ${GCCDIR}/version.c \
- | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'
+MD_FILE= ${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}.md
+target= ${TARGET_ARCH}-undermydesk-freebsd
CFLAGS+= -DIN_GCC -DHAVE_CONFIG_H
CFLAGS+= -DPREFIX=\"${TOOLS_PREFIX}/usr\"
+#CFLAGS+= -DWANT_COMPILER_INVARIANTS
# If building 64-bit longs for the i386, "_LARGE_LONG" should also be defined
# to get the proper sizes in limits.h
@@ -31,10 +24,6 @@ CFLAGS+= -DPREFIX=\"${TOOLS_PREFIX}/usr\"
CFLAGS+= -DLONG_TYPE_SIZE=${LONG_TYPE_SIZE}
.endif
-.if defined(USE_EGCS_HAIFA)
-CFLAGS+= -DHAIFA
-.endif
-
.if ${TARGET_ARCH} != ${MACHINE_ARCH}
CFLAGS+= -DCROSS_COMPILE
.endif
diff --git a/gnu/usr.bin/cc/Makefile.tgt b/gnu/usr.bin/cc/Makefile.tgt
index e8c0da7..19dc3fa 100644
--- a/gnu/usr.bin/cc/Makefile.tgt
+++ b/gnu/usr.bin/cc/Makefile.tgt
@@ -1 +1,16 @@
# $FreeBSD$
+
+TARGET_ARCH?= ${MACHINE_ARCH}
+
+.if ${TARGET_ARCH} == "alpha"
+GCC_CPU= alpha
+.elif ${TARGET_ARCH} == "arm"
+GCC_CPU= arm
+.elif ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "x86-64"
+GCC_CPU= i386
+.elif ${TARGET_ARCH} == "powerpc"
+GCC_CPU= rs6000
+.elif ${TARGET_ARCH} == "sparc64"
+GCC_CPU= sparc
+TARGET_CPU_DEFAULT= TARGET_CPU_ultrasparc
+.endif
diff --git a/gnu/usr.bin/cc/c++/Makefile b/gnu/usr.bin/cc/c++/Makefile
index d5a37ea..be23112 100644
--- a/gnu/usr.bin/cc/c++/Makefile
+++ b/gnu/usr.bin/cc/c++/Makefile
@@ -1,6 +1,7 @@
# $FreeBSD$
.include "../Makefile.inc"
+.include "../Makefile.fe"
.PATH: ${GCCDIR}/cp ${GCCDIR}
diff --git a/gnu/usr.bin/cc/c++filt/Makefile b/gnu/usr.bin/cc/c++filt/Makefile
index 8e188f1..49a9254 100644
--- a/gnu/usr.bin/cc/c++filt/Makefile
+++ b/gnu/usr.bin/cc/c++filt/Makefile
@@ -2,26 +2,22 @@
.include "../Makefile.inc"
-.PATH: ${GCCDIR}
+.PATH: ${GCCDIR} ${GCCDIR}/../libiberty
PROG= c++filt
-SRCS= cplus-dem.c getopt.c getopt1.c underscore.c
+SRCS= cp-demangle.c cplus-dem+%DIKED.c
BINDIR= /usr/libexec/${OBJFORMAT}
NOMAN= 1
CFLAGS+= -DMAIN -DIN_GCC -DVERSION=\"$(version)\"
-CLEANFILES= tmp-dum.c tmp-dum.s underscore.c
+DPADD+= ${LIBCC_INT}
+LDADD+= ${LIBCC_INT}
-underscore.c:
- echo "int xxy_us_dummy;" >tmp-dum.c
- ${CC} -S tmp-dum.c
- echo '/*WARNING: This file is automatically generated!*/' >underscore.c
- if grep _xxy_us_dummy tmp-dum.s > /dev/null ; then \
- echo "int prepends_underscore = 1;" >>underscore.c; \
- else \
- echo "int prepends_underscore = 0;" >>underscore.c; \
- fi
- rm -f tmp-dum.c tmp-dum.s
+cplus-dem+%DIKED.c: cplus-dem.c
+ sed \
+ -e 's/^xmalloc[ ]/_DONT_xmalloc /g' \
+ -e 's/^xrealloc[ ]/_DONT_xrealloc /g' \
+ ${.ALLSRC} > ${.TARGET}
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/cc/Makefile b/gnu/usr.bin/cc/cc/Makefile
index bc86c4d..0ad1e81 100644
--- a/gnu/usr.bin/cc/cc/Makefile
+++ b/gnu/usr.bin/cc/cc/Makefile
@@ -1,13 +1,15 @@
# $FreeBSD$
.include "../Makefile.inc"
+.include "../Makefile.fe"
.PATH: ${GCCDIR}
PROG= cc
MAN= gcc.1
+NOMAN= # not while compile from GCC repo checkout
SRCS= gcc.c gccspec.c
-NOSHARED=yes
+NOSHARED?=yes
LINKS= ${BINDIR}/cc ${BINDIR}/gcc
MLINKS= gcc.1 cc.1 gcc.1 c++.1 gcc.1 g++.1 gcc.1 CC.1
diff --git a/gnu/usr.bin/cc/cc1/Makefile b/gnu/usr.bin/cc/cc1/Makefile
index 210cf15..ad7bc6a 100644
--- a/gnu/usr.bin/cc/cc1/Makefile
+++ b/gnu/usr.bin/cc/cc1/Makefile
@@ -2,15 +2,13 @@
.include "../Makefile.inc"
-.PATH: ${GCCDIR}
+.PATH: ../cc_tools ${GCCDIR}
PROG= cc1
-SRCS= c-parse.y c-lang.c
-# Ugh, compiled twice...
-SRCS+= c-decl.c c-lex.c
+SRCS= main.c c-parse.c c-lang.c c-decl.c
BINDIR= /usr/libexec
NOMAN= 1
-NOSHARED=yes
+NOSHARED?=yes
CFLAGS+= -I.
@@ -19,13 +17,17 @@ LDADD+= ${LIBCC_INT}
#-----------------------------------------------------------------------
# C parser
-c-parse.y: c-parse.in
+.ORDER: c-parse.c
+c-parse.c: c-parse.in
sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \
-e "/^ifc$$/d" \
-e "/^end ifc$$/d" \
- ${.ALLSRC} > ${.TARGET}
+ ${GCCDIR}/c-parse.in > c-parse.y
+ ${YACC} -o c-parse.c.in c-parse.y
+ sed -e "s/malloc/xmalloc/g" \
+ -e "s/realloc/xrealloc/g" \
+ c-parse.c.in >c-parse.c
-CLEANFILES+= c-parse.y
-#-----------------------------------------------------------------------
+CLEANFILES+= c-parse.c c-parse.y # insurance
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/cc1obj/Makefile b/gnu/usr.bin/cc/cc1obj/Makefile
index 567b566..8c585c9 100644
--- a/gnu/usr.bin/cc/cc1obj/Makefile
+++ b/gnu/usr.bin/cc/cc1obj/Makefile
@@ -2,15 +2,13 @@
.include "../Makefile.inc"
-.PATH: ${GCCDIR}/objc ${GCCDIR}
+.PATH: ../cc_tools ${GCCDIR}/objc ${GCCDIR}
PROG= cc1obj
-SRCS= c-parse.y objc-act.c
-# Ugh, compiled twice...
-SRCS+= c-decl.c c-lex.c
+SRCS= objc-parse.c objc-act.c objc-lang.c main.c c-decl.c
BINDIR= /usr/libexec
NOMAN= 1
-NOSHARED=yes
+NOSHARED?=yes
CFLAGS+= -I${GCCDIR}/objc -I.
@@ -19,14 +17,18 @@ LDADD+= ${LIBCC_INT}
#-----------------------------------------------------------------------
# objc parser
-
-c-parse.y: c-parse.in
+.ORDER: objc-parse.c
+objc-parse.c: c-parse.in
sed -e "/^ifc$$/,/^end ifc$$/d" \
-e "/^ifobjc$$/d" \
-e "/^end ifobjc$$/d" \
- ${.ALLSRC} > ${.TARGET}
+ ${GCCDIR}/c-parse.in > objc-parse.y
+ ${YACC} -o objc-parse.c.in objc-parse.y
+ sed -e "s/malloc/xmalloc/g" \
+ -e "s/realloc/xrealloc/g" \
+ objc-parse.c.in >objc-parse.c
-CLEANFILES+= c-parse.y
+CLEANFILES+= objc-parse.c objc-parse.y # insurance
#-----------------------------------------------------------------------
diff --git a/gnu/usr.bin/cc/cc1plus/Makefile b/gnu/usr.bin/cc/cc1plus/Makefile
index 30ab06e..6b7c49d 100644
--- a/gnu/usr.bin/cc/cc1plus/Makefile
+++ b/gnu/usr.bin/cc/cc1plus/Makefile
@@ -2,33 +2,39 @@
.include "../Makefile.inc"
-.PATH: ${GCCDIR}/cp
+.PATH: ${GCCDIR}/cp ${GCCDIR}
PROG= cc1plus
-SRCS= parse.y y.tab.h 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
+SRCS= parse.y cfns.h
+SRCS+= main.c cp-lang.c
+SRCS+= call.c class.c cvt.c decl.c decl2.c error.c except.c expr.c \
+ friend.c init.c lex.c mangle.c method.c pt.c ptree.c repo.c rtti.c \
+ search.c semantics.c spew.c tree.c typeck.c typeck2.c dump.c optimize.c
+
BINDIR= /usr/libexec
NOMAN= 1
-NOSHARED=yes
+NOSHARED?=yes
CFLAGS+= -I${GCCDIR}/cp -I.
DPADD+= ${LIBCC_INT}
LDADD+= ${LIBCC_INT}
-parse.h: y.tab.h parse.c
- cp -p y.tab.h ${.TARGET}
- grep '^#define[ ]*YYEMPTY' parse.c >>${.TARGET}
+CLEANFILES+= parse.c parse.h y.tab.c y.tab.h cfns.h
-CLEANFILES+= parse.h
+.ORDER: parse.c parse.h
+parse.c: parse.y
+ ${YACC} ${YFLAGS} ${GCCDIR}/cp/${.TARGET:S/c$/y/}
+ sed -e "s/malloc/xmalloc/g" \
+ -e "s/realloc/xrealloc/g" \
+ y.tab.c >${.TARGET}
-CPPHDRS= exception new new.h typeinfo
+parse.h: parse.c y.tab.h
+ cp -pf y.tab.h ${.TARGET}
+ grep '^#define[ ]*YYEMPTY' ${.TARGET:S/h$/c/} >>${.TARGET}
-beforeinstall:
- ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
- ${CPPHDRS:S;^;${GCCDIR}/cp/inc/;} \
- ${DESTDIR}/usr/include/g++
+cfns.h:
+ gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' \
+ ${GCCDIR}/cp/cfns.gperf > ${.TARGET}
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/cc_int/Makefile b/gnu/usr.bin/cc/cc_int/Makefile
index 834ebc2..9799a9c 100644
--- a/gnu/usr.bin/cc/cc_int/Makefile
+++ b/gnu/usr.bin/cc/cc_int/Makefile
@@ -2,31 +2,34 @@
.include "../Makefile.inc"
-.PATH: ../cc_tools ${GCCDIR}/config/${TARGET_ARCH} ${GCCDIR}
+.PATH: ../cc_tools ${GCCDIR}/config/${GCC_CPU} ${GCCDIR} ${GCCDIR}/../libiberty
LIB= cc_int
NOPROFILE= YES
NOPIC= YES
-SRCS= c-aux-info.c c-common.c c-convert.c c-iterate.c \
- c-pragma.c c-typeck.c \
+# dbxout.c dwarfout.c emit-rtl.c explow.c expmed.c expr.c \
+# alias.c bitmap.c dwarf2out.c dyn-string.c \
+SRCS= c-common.c c-format.c \
+ c-pragma.c c-semantics.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 \
+ dbxout.c dwarfout.c dwarf2out.c dwarf2asm.c emit-rtl.c explow.c expmed.c expr.c \
final.c flow.c fold-const.c function.c getpwd.c global.c graph.c \
- hash.c \
+ hash.c haifa-sched.c \
integrate.c jump.c lcm.c local-alloc.c loop.c optabs.c \
print-rtl.c print-tree.c real.c recog.c reg-stack.c regclass.c \
reload.c reload1.c reorg.c rtl.c rtlanal.c \
- sbitmap.c sdbout.c stmt.c stor-layout.c stupid.c \
+ sbitmap.c sdbout.c stmt.c stor-layout.c \
toplev.c tree.c unroll.c varasm.c version.c xcoffout.c \
- alias.c bitmap.c dwarf2out.c dyn-string.c except.c \
+ alias.c bitmap.c dyn-string.c \
gcse.c genrtl.c profile.c regmove.c varray.c \
- ${TARGET_ARCH}.c
-.if defined(USE_EGCS_HAIFA) && ${USE_EGCS_HAIFA} == 1
-SRCS+= haifa-sched.c
-.else
-SRCS+= sched.c
-.endif
+ attribs.c cselib.c debug.c rtl-error.c tree-dump.c tree-inline.c \
+ ${GCC_CPU}.c
+
+SRCS+= bb-reorder.c conflict.c ggc-common.c \
+ ggc-page.c ifcvt.c lists.c predict.c regrename.c resource.c sibcall.c \
+ simplify-rtx.c ssa.c timevar.c ssa-dce.c ssa-ccp.c df.c fibheap.c
# insn-* gunk -- headers are built in cc_tools, as they are used by the
# "build-tools"
@@ -38,12 +41,47 @@ insn-$F.c: ${.OBJDIR}/../cc_tools/gen$F ${MD_FILE}
.endfor
# shared between the drivers
-SRCS+= multilib.h choose-temp.c obstack.c prefix.c pexecute.c version.c
+SRCS+= multilib.h choose-temp.c obstack.c prefix.c pexecute.c version.c mbchar.c concat.c make-temp-file.c underscore.c
+# C_AND_OBJC_OBJS
+#SRCS+= attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \
+# c-convert.o c-aux-info.o c-common.o c-format.o c-semantics.o \
+# c-objc-common.o
+
+# XXX: shared by cc1, cc1obj & cpp0
+# cc1plus seems to be able to tolerate these here,
+# BUT only if the right .o's are specified in cc1plus/Makefile
+SRCS+= c-lex.c c-typeck.c \
+ c-errors.o c-pragma.o c-convert.o c-aux-info.o c-common.o c-format.o c-semantics.o c-objc-common.o
+
+# libbackend
+SRCS+= builtins.c diagnostic.c doloop.c dominance.c except.c gcse.c params.c sched-deps.c sched-vis.c sched-rgn.c sched-ebb.c \
+ stringpool.c c-lex.c langhooks.c hashtable.c \
+ hooks.c \
+ cfg.c cfganal.c cfgbuild.c cfgcleanup.c cfglayout.c cfgloop.c cfgrtl.c
+
+# libcpp
+SRCS+= cppdefault.c cpperror.c cppexp.c cppfiles.c cppinit.c cpphash.c \
+ cpplex.c cpplib.c cppmacro.c mkdeps.c line-map.c
# stuff that makes libiberty now required (2.95) and shouldn't be...
-SRCS+= obstack.c splay-tree.c
+SRCS+= obstack.c splay-tree.c hashtab.c partition.c lbasename.c md5.c hex.c getopt.c getopt1.c
+CFLAGS+= -DHAVE_CONFIG_H
CFLAGS+= -DTARGET_NAME=\"${target}\" -DIN_GCC
+.if defined(TARGET_CPU_DEFAULT)
+CFLAGS+= -DTARGET_CPU_DEFAULT=${TARGET_CPU_DEFAULT}
+.endif
+
+.if ${OBJFORMAT} == aout
+UNDERSCORES= 1
+.else
+UNDERSCORES= 0
+.endif
+SRCS+= underscore.c
+CLEANFILES+= underscore.c
+underscore.c: Makefile
+ echo '/*WARNING: This file is automatically generated!*/' >${.TARGET}
+ echo "int prepends_underscore = ${UNDERSCORES};" >>${.TARGET}
install:
@true
diff --git a/gnu/usr.bin/cc/cc_tools/Makefile b/gnu/usr.bin/cc/cc_tools/Makefile
index 63b03fa..839842f 100644
--- a/gnu/usr.bin/cc/cc_tools/Makefile
+++ b/gnu/usr.bin/cc/cc_tools/Makefile
@@ -12,11 +12,12 @@
# aliases of generated headers.
CFLAGS+= -I.
-CFLAGS+= -static
.include "../Makefile.inc"
-.PATH: ${GCCDIR} ${GCCDIR}/cp
+.PATH: ${GCCDIR} ${GCCDIR}/cp ${GCCDIR}/../libiberty
+
+CFLAGS+= -static -DGENERATOR_FILE
#-----------------------------------------------------------------------
# insn-* gunk
@@ -34,7 +35,7 @@ gen-time-stamp: genattrtab genemit genextract genopinit genoutput genpeep genrec
.for F in attr codes config emit extract flags opinit output peep recog
build-tools: gen$F
-gen$F: gen$F.o rtl.o print-rtl.o obstack.o bitmap.o
+gen$F: gen$F.o rtl.o obstack.o print-rtl.o bitmap.o errors.o gensupport.o ggc-none.o hashtab.o read-rtl.o
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
GENSRCS+= gen$F.c
@@ -44,16 +45,16 @@ CLEANFILES+= gen$F
.for F in attrtab
build-tools: gen$F
-gen$F: gen$F.o rtl.o rtlanal.o print-rtl.o obstack.o bitmap.o
+gen$F: gen$F.o rtl.o print-rtl.o obstack.o bitmap.o errors.o gensupport.o ggc-none.o hashtab.o read-rtl.o
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
GENSRCS+= gen$F.c
CLEANFILES+= gen$F
.endfor
-SRCS+= bitmap.c obstack.c print-rtl.c rtl.c rtlanal.c
+SRCS+= bitmap.c errors.c gensupport.c ggc-none.c hashtab.c obstack.c print-rtl.c regclass.c rtl.c rtlanal.c read-rtl.c
-.for F in check genrtl
+.for F in check genrtl preds
build-tools: gen$F
gen$F: gen$F.o
@@ -65,30 +66,12 @@ CLEANFILES+= gen$F
.ORDER: genrtl.c genrtl.h
genrtl.c genrtl.h: gengenrtl
- ./gengenrtl genrtl.h genrtl.c
+ ./gengenrtl > genrtl.c
+ ./gengenrtl -h > genrtl.h
GENSRCS+= genrtl.c genrtl.h
#-----------------------------------------------------------------------
-# C hash codes
-c-gperf.h: c-parse.gperf
- gperf -p -j1 -i 1 -g -o -t -G -N is_reserved_word -k1,3,$$ \
- ${GCCDIR}/c-parse.gperf > ${.TARGET}
-GENSRCS+= c-gperf.h
-
-#-----------------------------------------------------------------------
-# C++ hash codes
-gxx-hash.h: gxx.gperf
- gperf -p -j1 -g -o -t -N is_reserved_word '-k1,4,7,$$' \
- ${GCCDIR}/cp/gxx.gperf >gxx-hash.h
-GENSRCS+= gxx-hash.h
-
-# make a link the the Cygnus used name for now -- hopes are they will change it
-hash.h: gxx-hash.h
- ln -sf ${.ALLSRC} ${.TARGET}
-GENSRCS+= hash.h
-
-#-----------------------------------------------------------------------
# Common parser stuff.
tree-check.h: gencheck
@@ -96,57 +79,116 @@ tree-check.h: gencheck
GENSRCS+= tree-check.h
#-----------------------------------------------------------------------
+# Predicates stuff.
+
+tm-preds.h: genpreds
+ ./genpreds > ${.TARGET}
+GENSRCS+= tm-preds.h
+
+#-----------------------------------------------------------------------
# the host/target compiler config.
-COMMONHDRS= config.h hconfig.h multilib.h options.h specs.h tconfig.h tm.h
+COMMONHDRS= config.h hconfig.h multilib.h options.h specs.h tconfig.h \
+ tm_p.h configargs.h safe-ctype.h
GENSRCS+= ${COMMONHDRS} gencheck.h
-config.h hconfig.h:
- echo '#include "auto-host.h"' > ${.TARGET}
- echo '#include "gansidecl.h"' >> ${.TARGET}
- echo '#include "${TARGET_ARCH}/xm-${TARGET_ARCH}.h"' >> ${.TARGET}
- echo '#include "hwint.h"' >> ${.TARGET}
+MFILE?= ${.CURDIR}/Makefile
+${COMMONHDRS}: ${MFILE}
+
+configargs.h:
+ echo 'static const char configuration_arguments[] =' > ${.TARGET}
+ echo ' "FreeBSD/${TARGET_ARCH} system compiler";' >> ${.TARGET}
+ echo 'static const char thread_model[] = "posix";' >> ${.TARGET}
+
+hconfig.h:
+ echo '#include "auto-host.h"' > ${.TARGET}
+ echo '#include <tconfig.h>' >> ${.TARGET}
gencheck.h:
echo '#include "cp/cp-tree.def"' > ${.TARGET}
echo '#include "objc/objc-tree.def"' >> ${.TARGET}
multilib.h:
- echo 'static char *multilib_raw[] = { \
+ echo 'static const char *const multilib_raw[] = { \
"aout maout;", "elf !maout;", NULL };' > ${.TARGET}
- echo 'static char *multilib_matches_raw[] = { \
+ echo 'static const char *const multilib_matches_raw[] = { \
"maout maout;", "melf melf;", NULL };' >> ${.TARGET}
- echo 'static char *multilib_extra = "";' >> ${.TARGET}
+ echo 'static const char *multilib_extra = "";' >> ${.TARGET}
+ echo 'static const char *const multilib_exclusions_raw[] = { \
+ NULL };' >> ${.TARGET}
options.h:
echo '#include "cp/lang-options.h"' > ${.TARGET}
echo '#include "f/lang-options.h"' >> ${.TARGET}
+ echo '#include "objc/lang-options.h"' >> ${.TARGET}
specs.h:
echo '#include "cp/lang-specs.h"' > ${.TARGET}
echo '#include "f/lang-specs.h"' >> ${.TARGET}
echo '#include "objc/lang-specs.h"' >> ${.TARGET}
-tconfig.h:
- echo '#include "gansidecl.h"' > ${.TARGET}
- echo '#include "${TARGET_ARCH}/xm-${TARGET_ARCH}.h"' >> ${.TARGET}
+config.h:
+ echo '#include <hconfig.h>' > ${.TARGET}
+ echo '#ifndef GENERATOR_FILE' >> ${.TARGET}
+ echo '#include "insn-codes.h"' >> ${.TARGET}
+ echo '#include "insn-flags.h"' >> ${.TARGET}
+ echo '#endif' >> ${.TARGET}
-# KEEP THIS IN SYNC with src/gcc/lib/libgcc/Makefile !!
-tm.h:
- echo '#include "${TARGET_ARCH}/${TARGET_ARCH}.h"' > ${.TARGET}
+tconfig.h:
+ echo 'struct rtx_def;' > ${.TARGET}
+ echo 'typedef struct rtx_def *rtx;' >> ${.TARGET}
+ echo 'struct rtvec_def;' >> ${.TARGET}
+ echo 'typedef struct rtvec_def *rtvec;' >> ${.TARGET}
+ echo 'union tree_node;' >> ${.TARGET}
+ echo 'typedef union tree_node *tree;' >> ${.TARGET}
+ echo '' >> ${.TARGET}
+ echo '#include "ansidecl.h"' >> ${.TARGET}
+ echo '#include "${GCC_CPU}/${GCC_CPU}.h"' >> ${.TARGET}
.if ${TARGET_ARCH} == "i386"
- echo '#include "${TARGET_ARCH}/att.h"' >> ${.TARGET}
+ echo '#include "${GCC_CPU}/att.h"' >> ${.TARGET}
.endif
- echo '#include <freebsd.h>' >> ${.TARGET}
- echo '#include "dbxelf.h"' >> ${.TARGET}
-.if exists(${GCCDIR}/config/${TARGET_ARCH}/elf.h)
- echo '#include "${TARGET_ARCH}/elf.h"' >> ${.TARGET}
+.if ${TARGET_ARCH} != "alpha"
+ echo '#include "dbxelf.h"' >> ${.TARGET}
+ echo '#include "elfos.h"' >> ${.TARGET}
.endif
- echo '#include "${TARGET_ARCH}/freebsd.h"' >> ${.TARGET}
-.if ${TARGET_ARCH} == "i386"
- echo '#include "${TARGET_ARCH}/perform.h"' >> ${.TARGET}
+ echo '#include <freebsd-native.h>' >> ${.TARGET}
+ echo '#include "freebsd-spec.h"' >> ${.TARGET}
+ echo '#include "freebsd.h"' >> ${.TARGET}
+.if ${TARGET_ARCH} == "alpha"
+ echo '#include "${GCC_CPU}/elf.h"' >> ${.TARGET}
.endif
- echo '#include <freebsd-native.h>' >> ${.TARGET}
+.if ${TARGET_ARCH} != "i386"
+.if exists(${GCCDIR}/config/${GCC_CPU}/sysv4.h)
+ echo '#include "${GCC_CPU}/sysv4.h"' >> ${.TARGET}
+.endif
+.endif
+ echo '#include "${GCC_CPU}/freebsd.h"' >> ${.TARGET}
+ echo '#include "defaults.h"' >> ${.TARGET}
+ echo '#ifndef POSIX' >> ${.TARGET}
+ echo '# define POSIX' >> ${.TARGET}
+ echo '#endif' >> ${.TARGET}
+ echo '#define CONFIG_SJLJ_EXCEPTIONS 0' >> ${.TARGET}
+
+tm_p.h:
+ echo '#include "${GCC_CPU}/${GCC_CPU}-protos.h"' >> ${.TARGET}
+ echo '#include "tm-preds.h"' >> ${.TARGET}
+
+safe-ctype.h: Makefile
+ echo '#include <ctype.h>' > ${.TARGET}
+.for Z in TOUPPER TOLOWER ISDIGIT ISXDIGIT ISUPPER ISLOWER ISALPHA ISALNUM \
+ ISSPACE ISPUNCT ISGRAPH ISBLANK ISPRINT ISCNTRL
+ echo '#define ${Z} ${Z:L}' >> ${.TARGET}
+.endfor
+ echo "#define ISIDST(x) \
+ ((x) == '_' || isalpha(x))" >> ${.TARGET}
+ echo "#define ISIDNUM(x) \
+ (isdigit(x) || ISIDST(x))" >> ${.TARGET}
+ echo "#define IS_VSPACE(x) \
+ ((x) == '\n' || (x) == '\r')" >> ${.TARGET}
+ echo "#define IS_NVSPACE(x) \
+ (!IS_VSPACE(x) && (isspace(x) || (x) == '\0'))" >> ${.TARGET}
+ echo "#define IS_SPACE_OR_NUL(x) \
+ (isspace(x) || (x) == '\0')" >> ${.TARGET}
#-----------------------------------------------------------------------
# General things.
@@ -156,8 +198,6 @@ CLEANFILES+= ${GENSRCS}
all: ${SRCS}
-build-tools: depend
-
.include <bsd.prog.mk>
#-----------------------------------------------------------------------
@@ -175,7 +215,7 @@ OBJS+= ${SRCS:N*.h:R:S/$/.o/g}
# all headers. Filter out the objects that would cause problems (i.e.,
# objects that will be used to create programs that will generate headers).
#
-${OBJS:Nbitmap.o:Ngenattr.o:Ngencheck.o:Ngencodes.o:Ngenconfig.o:Ngenflags.o:Ngengenrtl.o:Nobstack.o:Nprint-rtl.o:Nrtl.o}: ${SRCS:M*.h}
+${OBJS:Nbitmap.o:Nerrors.o:Ngenattr.o:Ngencheck.o:Ngencodes.o:Ngenconfig.o:Ngenflags.o:Ngengenrtl.o:Ngenpreds.o:Ngensupport.o:Nggc-none.o:Nhashtab.o:Nobstack.o:Nprint-rtl.o:Nread-rtl.o:Nrtl.o}: ${SRCS:M*.h}
# Next, make each of the problematic objects depend on only most headers.
# Filter out the headers that would cause problems (and a few more when it
@@ -185,4 +225,5 @@ bitmap.o genattr.o gencodes.o genconfig.o genflags.o obstack.o print-rtl.o \
rtl.o: ${SRCS:M*.h:Ninsn-*.h}
gencheck.o: gencheck.h ${SRCS:M*.h:Ngenrtl.h:Ntree-check.h:Ninsn-*.h}
gengenrtl.o: ${SRCS:M*.h:Ngenrtl.h:Ninsn-*.h}
+genpreds.o: ${COMMONHDRS}
.endif
diff --git a/gnu/usr.bin/cc/cc_tools/auto-host.h b/gnu/usr.bin/cc/cc_tools/auto-host.h
index 87bd1ea..5123028 100644
--- a/gnu/usr.bin/cc/cc_tools/auto-host.h
+++ b/gnu/usr.bin/cc/cc_tools/auto-host.h
@@ -1,132 +1,7 @@
/* $FreeBSD$ */
/* auto-host.h. Generated automatically by configure. */
-/* config.in. Generated automatically from configure.in by autoheader. */
-
-/* Define if you can safely include both <string.h> and <strings.h>. */
-#define STRING_WITH_STRINGS 1
-
-/* Define if printf supports "%p". */
-#define HAVE_PRINTF_PTR 1
-
-/* Define if you want expensive run-time checks. */
-/* #undef ENABLE_CHECKING */
-
-/* Define to 1 if NLS is requested. */
-/* #undef ENABLE_NLS */
-
-/* Define as 1 if you have catgets and don't want to use GNU gettext. */
-/* #undef HAVE_CATGETS */
-
-/* Define as 1 if you have gettext and don't want to use GNU gettext. */
-/* #undef HAVE_GETTEXT */
-
-/* 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 your assembler supports .subsection and .subsection -1 starts
- emitting at the beginning of your section */
-/* #undef HAVE_GAS_SUBSECTION_ORDERING */
-
-/* Define if your assembler uses the old HImode fild and fist notation. */
-/* #undef HAVE_GAS_FILDS_FISTS */
-
-/* Define if you have a working <inttypes.h> header file. */
-/* #undef HAVE_INTTYPES_H */
-
-/* Define if your locale.h file contains LC_MESSAGES. */
-#define HAVE_LC_MESSAGES 1
-
-/* 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 atof must be declared even if <stdlib.h> is included. */
-/* #undef NEED_DECLARATION_ATOF */
-
-/* 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 strsignal must be declared even if <string.h> is included. */
-/* #undef NEED_DECLARATION_STRSIGNAL */
-
-/* Whether strstr must be declared even if <string.h> is included. */
-/* #undef NEED_DECLARATION_STRSTR */
-
-/* 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
-
-/* Whether putc_unlocked must be declared even if <stdio.h> is included. */
-#define NEED_DECLARATION_PUTC_UNLOCKED 1
-
-/* Whether fputs_unlocked must be declared even if <stdio.h> is included. */
-#define NEED_DECLARATION_FPUTS_UNLOCKED 1
-
-/* Define to enable the use of a default assembler. */
-/* #undef DEFAULT_ASSEMBLER */
-
-/* Define to enable the use of a default linker. */
-/* #undef DEFAULT_LINKER */
-
-/* Define if host mkdir takes a single argument. */
-/* #undef MKDIR_TAKES_ONE_ARG */
-
-/* Define to the name of the distribution. */
-#define PACKAGE "gcc"
+/* config.in. Generated automatically from configure.in by autoheader 2.13. */
/* Define if using alloca.c. */
/* #undef C_ALLOCA */
@@ -138,17 +13,21 @@
This function is required for alloca.c support on those systems. */
/* #undef CRAY_STACKSEG_END */
+/* Define to the type of elements in the array set by `getgroups'.
+ Usually this is either `int' or `gid_t'. */
+#define GETGROUPS_T gid_t
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef gid_t */
+
/* Define if you have alloca, as a function or macro. */
#define HAVE_ALLOCA 1
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
/* #undef HAVE_ALLOCA_H */
-/* Define if you don't have vprintf but do have _doprnt. */
-/* #undef HAVE_DOPRNT */
-
-/* Define if you have a working `mmap' system call. */
-#define HAVE_MMAP 1
+/* Define if you have the ANSI # stringizing operator in cpp. */
+#define HAVE_STRINGIZE 1
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
@@ -156,12 +35,12 @@
/* Define if you have <vfork.h>. */
/* #undef HAVE_VFORK_H */
-/* Define if you have the vprintf function. */
-#define HAVE_VPRINTF 1
-
/* Define as __inline if that's what the C compiler calls it. */
/* #undef inline */
+/* Define if your C compiler doesn't accept -c and -o together. */
+/* #undef NO_MINUS_C_MINUS_O */
+
/* Define to `long' if <sys/types.h> doesn't define. */
/* #undef off_t */
@@ -183,15 +62,31 @@
/* 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 to `int' if <sys/types.h> doesn't define. */
+/* #undef uid_t */
+
/* Define vfork as fork if vfork does not work. */
/* #undef vfork */
+/* Define if your assembler supports specifying the maximum number
+ of bytes to skip when using the GAS .p2align command. */
+#define HAVE_GAS_MAX_SKIP_P2ALIGN 1
+
+/* Define if your assembler supports .balign and .p2align. */
+#define HAVE_GAS_BALIGN_AND_P2ALIGN 1
+
+/* Define if your assembler uses the old HImode fild and fist notation. */
+#define HAVE_GAS_FILDS_FISTS 1
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef ssize_t */
+
+/* Define if cpp should also search $prefix/include. */
+#define PREFIX_INCLUDE_DIR "NONE/include"
+
/* Define if you have the __argz_count function. */
/* #undef HAVE___ARGZ_COUNT */
@@ -202,25 +97,28 @@
/* #undef HAVE___ARGZ_STRINGIFY */
/* Define if you have the atoll function. */
-/* #undef HAVE_ATOLL */
+#define HAVE_ATOLL 1
/* 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 clock function. */
+#define HAVE_CLOCK 1
+
+/* Define if you have the dcgettext function. */
+/* #undef HAVE_DCGETTEXT */
-/* Define if you have the bcopy function. */
-#define HAVE_BCOPY 1
+/* Define if you have the dup2 function. */
+#define HAVE_DUP2 1
-/* Define if you have the bsearch function. */
-#define HAVE_BSEARCH 1
+/* Define if you have the feof_unlocked function. */
+/* #undef HAVE_FEOF_UNLOCKED */
-/* Define if you have the bzero function. */
-#define HAVE_BZERO 1
+/* Define if you have the fgets_unlocked function. */
+/* #undef HAVE_FGETS_UNLOCKED */
-/* Define if you have the dcgettext function. */
-/* #undef HAVE_DCGETTEXT */
+/* Define if you have the fprintf_unlocked function. */
+/* #undef HAVE_FPRINTF_UNLOCKED */
/* Define if you have the fputc_unlocked function. */
/* #undef HAVE_FPUTC_UNLOCKED */
@@ -228,32 +126,47 @@
/* Define if you have the fputs_unlocked function. */
/* #undef HAVE_FPUTS_UNLOCKED */
+/* Define if you have the fwrite_unlocked function. */
+/* #undef HAVE_FWRITE_UNLOCKED */
+
/* Define if you have the getcwd function. */
#define HAVE_GETCWD 1
+/* Define if you have the getegid function. */
+#define HAVE_GETEGID 1
+
+/* Define if you have the geteuid function. */
+#define HAVE_GETEUID 1
+
+/* Define if you have the getgid function. */
+#define HAVE_GETGID 1
+
/* Define if you have the getpagesize function. */
#define HAVE_GETPAGESIZE 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 getrusage function. */
+#define HAVE_GETRUSAGE 1
-/* Define if you have the isascii function. */
-#define HAVE_ISASCII 1
+/* Define if you have the getuid function. */
+#define HAVE_GETUID 1
/* Define if you have the kill function. */
#define HAVE_KILL 1
+/* Define if you have the lstat function. */
+#define HAVE_LSTAT 1
+
+/* Define if you have the mempcpy function. */
+/* #undef HAVE_MEMPCPY */
+
/* Define if you have the munmap function. */
#define HAVE_MUNMAP 1
-/* Define if you have the popen function. */
-#define HAVE_POPEN 1
+/* Define if you have the nl_langinfo function. */
+#define HAVE_NL_LANGINFO 1
/* Define if you have the putc_unlocked function. */
/* #undef HAVE_PUTC_UNLOCKED */
@@ -261,9 +174,6 @@
/* 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 setenv function. */
#define HAVE_SETENV 1
@@ -285,12 +195,6 @@
/* Define if you have the strdup function. */
#define HAVE_STRDUP 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 strsignal function. */
#define HAVE_STRSIGNAL 1
@@ -300,6 +204,12 @@
/* Define if you have the sysconf function. */
#define HAVE_SYSCONF 1
+/* Define if you have the times function. */
+#define HAVE_TIMES 1
+
+/* Define if you have the tsearch function. */
+#define HAVE_TSEARCH 1
+
/* Define if you have the <argz.h> header file. */
/* #undef HAVE_ARGZ_H */
@@ -309,6 +219,9 @@
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
+/* Define if you have the <langinfo.h> header file. */
+#define HAVE_LANGINFO_H 1
+
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
@@ -321,9 +234,6 @@
/* Define if you have the <nl_types.h> header file. */
#define HAVE_NL_TYPES_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
@@ -360,5 +270,315 @@
/* Define if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
-/* Define if you have the i library (-li). */
-/* #undef HAVE_LIBI */
+/* Define to enable the use of a default linker. */
+/* #undef DEFAULT_LINKER */
+
+/* Define to enable the use of a default assembler. */
+/* #undef DEFAULT_ASSEMBLER */
+
+#ifdef WANT_COMPILER_INVARIANTS
+//#warning WANT_COMPILER_INVARIANTS turned on
+
+/* Define if you want more run-time sanity checks. This one gets a grab
+ bag of miscellaneous but relatively cheap checks. */
+#define ENABLE_CHECKING 1
+
+/* Define if you want all operations on trees (the basic data
+ structure of the front ends) to be checked for dynamic type safety
+ at runtime. This is moderately expensive. */
+#define ENABLE_TREE_CHECKING 1
+
+/* Define if you want all operations on RTL (the basic data structure
+ of the optimizer and back end) to be checked for dynamic type safety
+ at runtime. This is quite expensive. */
+#define ENABLE_RTL_CHECKING 1
+
+/* Define if you want the garbage collector to do object poisoning and
+ other memory allocation checks. This is quite expensive. */
+#define ENABLE_GC_CHECKING 1
+
+/* Define if you want the garbage collector to operate in maximally
+ paranoid mode, validating the entire heap and collecting garbage at
+ every opportunity. This is extremely expensive. */
+#define ENABLE_GC_ALWAYS_COLLECT 1
+
+#endif /* WANT_COMPILER_INVARIANTS */
+
+/* Define if you want the C and C++ compilers to support multibyte
+ character sets for source code. */
+/* #undef MULTIBYTE_CHARS */
+
+/* Define if your compiler understands volatile. */
+#define HAVE_VOLATILE 1
+
+/* Define if your compiler supports the `long double' type. */
+#define HAVE_LONG_DOUBLE 1
+
+/* Define if your compiler supports the `long long' type. */
+#define HAVE_LONG_LONG 1
+
+/* Define if your compiler supports the `__int64' type. */
+/* #undef HAVE___INT64 */
+
+/* Define if the `_Bool' type is built-in. */
+/* #undef HAVE__BOOL */
+
+/* The number of bytes in type short */
+#define SIZEOF_SHORT 2
+
+/* The number of bytes in type int */
+#define SIZEOF_INT 4
+
+/* The number of bytes in type long */
+/* #define SIZEOF_LONG 4 */
+#if defined(__i386__) || defined(__powerpc__) || defined(__strongarm__)
+#define SIZEOF_LONG SIZEOF_INT
+#elif defined(__alpha__) || defined(__sparc64__) || defined(__ia64__)
+#define SIZEOF_LONG SIZEOF_LONG_LONG
+#else
+#error "I don't know what arch this is."
+#endif
+
+/* The number of bytes in type long long */
+#define SIZEOF_LONG_LONG 8
+
+/* The number of bytes in type __int64 */
+/* #undef SIZEOF___INT64 */
+
+/* Define if the host execution character set is EBCDIC. */
+/* #undef HOST_EBCDIC */
+
+/* Always define this when using the GNU C Library */
+/* #undef _GNU_SOURCE */
+
+/* Define if you have a working <stdbool.h> header file. */
+#define HAVE_STDBOOL_H 1
+
+/* Define if you can safely include both <string.h> and <strings.h>. */
+#define STRING_WITH_STRINGS 1
+
+/* Define as the number of bits in a byte, if `limits.h' doesn't. */
+/* #undef CHAR_BIT */
+
+/* Define if the host machine stores words of multi-word integers in
+ big-endian order. */
+/* #undef HOST_WORDS_BIG_ENDIAN */
+
+/* Define to the floating point format of the host machine, if not IEEE. */
+/* #undef HOST_FLOAT_FORMAT */
+
+/* Define to 1 if the host machine stores floating point numbers in
+ memory with the word containing the sign bit at the lowest address,
+ or to 0 if it does it the other way around.
+
+ This macro should not be defined if the ordering is the same as for
+ multi-word integers. */
+/* #undef HOST_FLOAT_WORDS_BIG_ENDIAN */
+
+/* Define if you have a working <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define if printf supports %p. */
+#define HAVE_PRINTF_PTR 1
+
+/* Define if mmap can get us zeroed pages from /dev/zero. */
+#define HAVE_MMAP_DEV_ZERO 1
+
+/* Define if mmap can get us zeroed pages using MAP_ANON(YMOUS). */
+#define HAVE_MMAP_ANON 1
+
+/* Define if read-only mmap of a plain file works. */
+#define HAVE_MMAP_FILE 1
+
+/* Define if you have the iconv() function. */
+/* #undef HAVE_ICONV */
+
+/* Define as const if the declaration of iconv() needs const. */
+/* #undef ICONV_CONST */
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_GETENV 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_ATOL 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_SBRK 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_ABORT 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_ATOF 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_GETCWD 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_GETWD 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_STRSIGNAL 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_PUTC_UNLOCKED 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_FPUTS_UNLOCKED 0
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_FWRITE_UNLOCKED 0
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_FPRINTF_UNLOCKED 0
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_STRSTR 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_ERRNO 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_MALLOC 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_REALLOC 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_CALLOC 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_FREE 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_BASENAME 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_GETOPT 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_CLOCK 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_GETRLIMIT 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_SETRLIMIT 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_GETRUSAGE 1
+
+/* Define to 1 if we found this declaration otherwise define to 0. */
+#define HAVE_DECL_TIMES 1
+
+/* Define if <sys/times.h> defines struct tms. */
+#define HAVE_STRUCT_TMS 1
+
+/* Define if <time.h> defines clock_t. */
+#define HAVE_CLOCK_T 1
+
+/* Define if host mkdir takes a single argument. */
+/* #undef MKDIR_TAKES_ONE_ARG */
+
+/* Define if you have the iconv() function. */
+/* #undef HAVE_ICONV */
+
+/* Define as const if the declaration of iconv() needs const. */
+/* #undef ICONV_CONST */
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#define HAVE_LANGINFO_CODESET 1
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#define HAVE_LC_MESSAGES 1
+
+/* Define to 1 if translation of program messages to the user's native language
+ is requested. */
+/* #define ENABLE_NLS 1 */
+
+/* Define if you have the <libintl.h> header file. */
+/* #undef HAVE_LIBINTL_H */
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+/* #undef HAVE_GETTEXT */
+
+/* Define to use the libintl included with this package instead of any
+ version in the system libraries. */
+/* #define USE_INCLUDED_LIBINTL 1 */
+
+/* Define to 1 if installation paths should be looked up in Windows32
+ Registry. Ignored on non windows32 hosts. */
+/* #undef ENABLE_WIN32_REGISTRY */
+
+/* Define to be the last portion of registry key on windows hosts. */
+/* #undef WIN32_REGISTRY_KEY */
+
+/* Define if your assembler supports .subsection and .subsection -1 starts
+ emitting at the beginning of your section. */
+#define HAVE_GAS_SUBSECTION_ORDERING 1
+
+/* Define if your assembler supports .weak. */
+#define HAVE_GAS_WEAK 1
+
+/* Define if your assembler supports .hidden. */
+#define HAVE_GAS_HIDDEN 1
+
+/* Define if your assembler supports .uleb128. */
+#define HAVE_AS_LEB128 1
+
+/* Define if your assembler mis-optimizes .eh_frame data. */
+/* #undef USE_AS_TRADITIONAL_FORMAT */
+
+/* Define if your assembler supports marking sections with SHF_MERGE flag. */
+#define HAVE_GAS_SHF_MERGE 1 /* XXX:DEO new, caused Peter IA-64 trouble until he adjusted sys/boot/efi/libefi/arch/ia64/ldscript.ia64 */
+
+/* Define if your assembler supports explicit relocations. */
+/* #undef HAVE_AS_EXPLICIT_RELOCS */
+
+/* Define if your assembler supports .register. */
+/* #undef HAVE_AS_REGISTER_PSEUDO_OP */
+
+/* Define if your assembler supports -relax option. */
+/* #undef HAVE_AS_RELAX_OPTION */
+
+/* Define if your assembler and linker support unaligned PC relative relocs. */
+/* #undef HAVE_AS_SPARC_UA_PCREL */
+
+/* Define if the assembler supports 64bit sparc. */
+/* #undef AS_SPARC64_FLAG */
+
+/* Define if your assembler supports offsetable %lo(). */
+/* #undef HAVE_AS_OFFSETABLE_LO10 */
+
+/* Define true if the assembler supports '.long foo@GOTOFF'. */
+/* DEO:XXX match TARGET_ELF definition in i386/freebsd.h. */
+#define HAVE_AS_GOTOFF_IN_DATA ((target_flags & MASK_AOUT) == 0)
+
+/* Define if your assembler supports dwarf2 .file/.loc directives,
+ and preserves file table indices exactly as given. */
+/* #undef HAVE_AS_DWARF2_DEBUG_LINE */
+
+/* Define if your assembler supports the --gdwarf2 option. */
+#define HAVE_AS_GDWARF2_DEBUG_FLAG 1
+
+/* Define if your assembler supports the --gstabs option. */
+#define HAVE_AS_GSTABS_DEBUG_FLAG 1
+
+/* Define if your linker supports --eh-frame-hdr option. */
+#define HAVE_LD_EH_FRAME_HDR 1
+
+/* Define 0/1 to force the choice for exception handling model. */
+/* #undef CONFIG_SJLJ_EXCEPTIONS */
+
+
+/* Bison unconditionally undefines `const' if neither `__STDC__' nor
+ __cplusplus are defined. That's a problem since we use `const' in
+ the GCC headers, and the resulting bison code is therefore type
+ unsafe. Thus, we must match the bison behavior here. */
+
+#ifndef __STDC__
+#ifndef __cplusplus
+/* #undef const */
+#define const
+#endif
+#endif
diff --git a/gnu/usr.bin/cc/cc_tools/freebsd-native.h b/gnu/usr.bin/cc/cc_tools/freebsd-native.h
index 6243d27..5a0a996 100644
--- a/gnu/usr.bin/cc/cc_tools/freebsd-native.h
+++ b/gnu/usr.bin/cc/cc_tools/freebsd-native.h
@@ -6,6 +6,9 @@
#define FREEBSD_NATIVE 1
+/* Fake out gcc/config/freebsd<version>.h. */
+#define FBSD_MAJOR 5
+
#undef SYSTEM_INCLUDE_DIR /* We don't need one for now. */
#undef TOOL_INCLUDE_DIR /* We don't need one for now. */
#undef LOCAL_INCLUDE_DIR /* We don't wish to support one. */
@@ -27,9 +30,9 @@
programs: /usr/libexec/<OBJFORMAT>/:STANDARD_EXEC_PREFIX:MD_EXEC_PREFIX
libraries: MD_EXEC_PREFIX:MD_STARTFILE_PREFIX:STANDARD_STARTFILE_PREFIX
*/
-#undef TOOLDIR_BASE_PREFIX /* Old?? This is not documented. */
-#define STANDARD_EXEC_PREFIX PREFIX"/libexec/"
-#undef MD_EXEC_PREFIX /* We don't want one. */
+#undef TOOLDIR_BASE_PREFIX /* Old?? This is not documented. */
+#define STANDARD_EXEC_PREFIX PREFIX"/libexec/"
+#define MD_EXEC_PREFIX PREFIX"/libexec/"
/* Under FreeBSD, the normal location of the various *crt*.o files is the
/usr/lib directory. */
@@ -42,9 +45,22 @@
/* For the native system compiler, we actually build libgcc in a profiled
version. So we should use it with -pg. */
-#define LIBGCC_SPEC "%{!pg: -lgcc} %{pg: -lgcc_p}"
-#define LIBSTDCXX_PROFILE "-lstdc++_p"
-#define MATH_LIBRARY_PROFILE "-lm_p"
+#define LIBGCC_SPEC "%{!pg: -lgcc} %{pg: -lgcc_p}"
/* FreeBSD is 4.4BSD derived */
#define bsd4_4
+
+/* Dike out [stupid, IMHO] libiberty functions. */
+#define xmalloc_set_program_name(dummy)
+#define xmalloc malloc
+#define xcalloc calloc
+#define xrealloc realloc
+#define xstrdup strdup
+#define xstrerror strerror
+
+/* And now they want to replace ctype.h.... grr... [stupid, IMHO] */
+#define xxxISDIGIT isdigit
+#define xxxISGRAPH isgraph
+#define xxxISLOWER islower
+#define xxxISSPACE isspace
+#define xxxTOUPPER toupper
diff --git a/gnu/usr.bin/cc/cccp/Makefile b/gnu/usr.bin/cc/cccp/Makefile
index c4265e3..15f5d32 100644
--- a/gnu/usr.bin/cc/cccp/Makefile
+++ b/gnu/usr.bin/cc/cccp/Makefile
@@ -5,11 +5,30 @@
.PATH: ${GCCDIR}
PROG= cpp0
-SRCS= cccp.c cexp.y obstack.c prefix.c version.c
-YFLAGS=
+SRCS= cppmain.c c-parse.c c-lang.c c-decl.c
+
BINDIR= /usr/libexec
-NOSHARED=yes
-MAN= cccp.1
-MLINKS= cccp.1 cpp.1
+NOMAN= 1
+NOSHARED?=yes
+
+DPADD+= ${LIBCC_INT}
+LDADD+= ${LIBCC_INT}
+
+#-----------------------------------------------------------------------
+# C parser
+.ORDER: c-parse.c
+c-parse.c: c-parse.in
+ sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \
+ -e "/^ifc$$/d" \
+ -e "/^end ifc$$/d" \
+ ${GCCDIR}/c-parse.in > c-parse.y
+ ${YACC} -o c-parse.c.in c-parse.y
+ sed -e "s/malloc/xmalloc/g" \
+ -e "s/realloc/xrealloc/g" \
+ c-parse.c.in >c-parse.c
+
+CLEANFILES+= c-parse.c c-parse.y # insurance
+
+#-----------------------------------------------------------------------
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/collect2/Makefile b/gnu/usr.bin/cc/collect2/Makefile
index 9eba1c0..7fe6877 100644
--- a/gnu/usr.bin/cc/collect2/Makefile
+++ b/gnu/usr.bin/cc/collect2/Makefile
@@ -2,32 +2,13 @@
.include "../Makefile.inc"
-.PATH: ${GCCDIR}
+.PATH: ${GCCDIR} ${GCCDIR}/../libiberty
PROG= collect2
-SRCS= collect2.c cplus-dem.c tlink.c underscore.c
-BINDIR= /usr/libexec
+SRCS= collect2.c cp-demangle.c cplus-dem.c tlink.c
NOMAN=
-NOSHARED=yes
-
-CFLAGS+= -DTARGET_MACHINE=\"$(target)\"
DPADD+= ${LIBCC_INT}
LDADD+= ${LIBCC_INT}
-CLEANFILES= tmp-dum.c tmp-dum.s underscore.c
-underscore.c: Makefile
- echo "int xxy_us_dummy;" >tmp-dum.c
- ${CC} -S tmp-dum.c
- echo '/*WARNING: This file is automatically generated!*/' >underscore.c
- if grep _xxy_us_dummy tmp-dum.s > /dev/null ; then \
- echo "int prepends_underscore = 1;" >>underscore.c; \
- else \
- echo "int prepends_underscore = 0;" >>underscore.c; \
- fi
- @# wrong to do this here, but easiest way out to duplicate gcc.c.
- echo "#include <stdio.h>" >>underscore.c
- echo "char *xstrerror(int e) { return strerror(e); }" >>underscore.c
- rm -f tmp-dum.c tmp-dum.s
-
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/cpp/Makefile b/gnu/usr.bin/cc/cpp/Makefile
index 3ba1534..27e4983 100644
--- a/gnu/usr.bin/cc/cpp/Makefile
+++ b/gnu/usr.bin/cc/cpp/Makefile
@@ -1,6 +1,7 @@
# $FreeBSD$
.include "../Makefile.inc"
+.include "../Makefile.fe"
.PATH: ${GCCDIR}
diff --git a/gnu/usr.bin/cc/cpp0/Makefile b/gnu/usr.bin/cc/cpp0/Makefile
index e8c0da7..15f5d32 100644
--- a/gnu/usr.bin/cc/cpp0/Makefile
+++ b/gnu/usr.bin/cc/cpp0/Makefile
@@ -1 +1,34 @@
# $FreeBSD$
+
+.include "../Makefile.inc"
+
+.PATH: ${GCCDIR}
+
+PROG= cpp0
+SRCS= cppmain.c c-parse.c c-lang.c c-decl.c
+
+BINDIR= /usr/libexec
+NOMAN= 1
+NOSHARED?=yes
+
+DPADD+= ${LIBCC_INT}
+LDADD+= ${LIBCC_INT}
+
+#-----------------------------------------------------------------------
+# C parser
+.ORDER: c-parse.c
+c-parse.c: c-parse.in
+ sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \
+ -e "/^ifc$$/d" \
+ -e "/^end ifc$$/d" \
+ ${GCCDIR}/c-parse.in > c-parse.y
+ ${YACC} -o c-parse.c.in c-parse.y
+ sed -e "s/malloc/xmalloc/g" \
+ -e "s/realloc/xrealloc/g" \
+ c-parse.c.in >c-parse.c
+
+CLEANFILES+= c-parse.c c-parse.y # insurance
+
+#-----------------------------------------------------------------------
+
+.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/doc/Makefile b/gnu/usr.bin/cc/doc/Makefile
index 5e44319..bc2cd1c 100644
--- a/gnu/usr.bin/cc/doc/Makefile
+++ b/gnu/usr.bin/cc/doc/Makefile
@@ -2,18 +2,31 @@
.include "../Makefile.inc"
-.PATH: ${GCCDIR}/cp ${GCCDIR}
+.PATH: ${GCCDIR}/doc
-INFO= gcc cpp gxxint
+INFO= gcc cpp gccint cppinternals
INFOSECTION= "Gcc Documentation"
-INFOENTRY_gcc= "* gcc: (gcc). The EGCS GNU C compiler."
-INFOENTRY_cpp= "* cpp: (cpp). The EGCS GNU C pre-processor."
-INFOENTRY_gxxint= "* gxxint: (gxxint). The EGCS GNU compiler family internal documentation."
+INFOENTRY_gcc= "* gcc: (gcc). The GNU C compiler."
+INFOENTRY_cpp= "* cpp: (cpp). The GNU C pre-processor."
+INFOENTRY_gccint= "* gccint: (gccint). The GNU compiler family internal documentation."
+INFOENTRY_cppinternals= "* cppinternals: (cppinternals). The GNU compiler preprocessor internal documentation."
-gcc.info: gcc.texi invoke.texi install.texi extend.texi gcov.texi rtl.texi \
- md.texi tm.texi
+gcc.info: gcc.texi include/gcc-common.texi frontends.texi standards.texi \
+ invoke.texi extend.texi md.texi objc.texi gcov.texi trouble.texi \
+ bugreport.texi service.texi contribute.texi vms.texi \
+ include/funding.texi gnu.texi include/gpl.texi include/fdl.texi \
+ contrib.texi cppenv.texi cppopts.texi
-MAKEINFOFLAGS+= -I ${GCCDIR} -I ${GCCDIR}/cp
+gccint.info: gccint.texi include/gcc-common.texi contribute.texi \
+ makefile.texi configterms.texi portability.texi interface.texi \
+ passes.texi c-tree.texi rtl.texi md.texi tm.texi hostconfig.texi \
+ fragments.texi configfiles.texi collect2.texi headerdirs.texi \
+ include/funding.texi gnu.texi include/gpl.texi include/fdl.texi \
+ contrib.texi languages.texi sourcebuild.texi
+
+cpp.info: cpp.texi include/fdl.texi cppenv.texi cppopts.texi
+
+MAKEINFOFLAGS+= -I ${GCCDIR}/doc -I ${GCCDIR}/doc/include
.include <bsd.info.mk>
diff --git a/gnu/usr.bin/cc/f77/Makefile b/gnu/usr.bin/cc/f77/Makefile
index e209ff1..717a983 100644
--- a/gnu/usr.bin/cc/f77/Makefile
+++ b/gnu/usr.bin/cc/f77/Makefile
@@ -1,11 +1,13 @@
# $FreeBSD$
.include "../Makefile.inc"
+.include "../Makefile.fe"
.PATH: ${GCCDIR}/f ${GCCDIR}
PROG= f77
SRCS= gcc.c g77spec.c version.c
+NOMAN= # not while compile from GCC repo checkout
CFLAGS+= -DDEFAULT_TARGET_VERSION=\"$(version)\"
CFLAGS+= -DDEFAULT_TARGET_MACHINE=\"$(target)\"
diff --git a/gnu/usr.bin/cc/f771/Makefile b/gnu/usr.bin/cc/f771/Makefile
index 8b922db..d5c065e 100644
--- a/gnu/usr.bin/cc/f771/Makefile
+++ b/gnu/usr.bin/cc/f771/Makefile
@@ -2,13 +2,13 @@
.include "${.CURDIR}/../Makefile.inc"
-.PATH: ${GCCDIR}/f
+.PATH: ${GCCDIR}/f ${GCCDIR}
PROG= f771
SRCS= bad.c bit.c bld.c com.c data.c equiv.c expr.c global.c implic.c info.c \
- intrin.c lab.c lex.c malloc.c name.c parse.c proj.c src.c st.c sta.c \
+ intrin.c lab.c lex.c malloc.c name.c parse.c src.c st.c sta.c \
stb.c stc.c std.c ste.c storag.c stp.c str.c sts.c stt.c stu.c stv.c \
- stw.c symbol.c target.c top.c type.c version.c where.c
+ stw.c symbol.c target.c top.c type.c version.c where.c main.c
BINDIR= /usr/libexec
NOMAN=
@@ -18,16 +18,10 @@ DPADD= ${LIBCC_INT}
LDADD= ${LIBCC_INT}
build-tools: fini
-
-# The use of ``proj+%BT.o'' is to get around bogus dependacy information
-# created for build-tools sources.
-fini: fini.o proj+%BT.o
+fini: fini.o
${CC} -static ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
-proj+%BT.o: proj.c
- ${CC} ${CFLAGS} -o ${.TARGET} -c ${.ALLSRC}
-
-CLEANFILES+= fini fini.o proj+%BT.o
+CLEANFILES+= fini fini.o
#-----------------------------------------------------------------------
# str-* gunk
diff --git a/gnu/usr.bin/cc/f77doc/Makefile b/gnu/usr.bin/cc/f77doc/Makefile
index d6e6384..1dd59de 100644
--- a/gnu/usr.bin/cc/f77doc/Makefile
+++ b/gnu/usr.bin/cc/f77doc/Makefile
@@ -6,8 +6,9 @@
INFO= g77
-MAKEINFOFLAGS+= -I ${GCCDIR}/f
+MAKEINFOFLAGS+= -I ${GCCDIR}/f -I ${GCCDIR}/doc/include
-g77.info: g77.texi intdoc.texi
+g77.info: g77.texi intdoc.texi ffe.texi invoke.texi news.texi bugs.texi \
+ ../doc/include/gpl.texi ../doc/include/fdl.texi ../doc/include/funding.texi
.include <bsd.info.mk>
diff --git a/gnu/usr.bin/cc/gcov/Makefile b/gnu/usr.bin/cc/gcov/Makefile
index e8a5794..6ecc59f 100644
--- a/gnu/usr.bin/cc/gcov/Makefile
+++ b/gnu/usr.bin/cc/gcov/Makefile
@@ -2,10 +2,13 @@
.include "../Makefile.inc"
-.PATH: ${GCCDIR}
+.PATH: ${GCCDIR} ${GCCDIR}/doc ${GCCDIR}/../libiberty
PROG= gcov
-SRCS= gcov.c
-NOMAN= 1
+SRCS= gcov.c version.c
+NOMAN= #true
+
+DPADD= ${LIBCC_INT}
+LDADD= ${LIBCC_INT}
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/protoize/Makefile b/gnu/usr.bin/cc/protoize/Makefile
index 08f29ef..500dd03 100644
--- a/gnu/usr.bin/cc/protoize/Makefile
+++ b/gnu/usr.bin/cc/protoize/Makefile
@@ -2,6 +2,20 @@
.include "../Makefile.inc"
-.PATH: ${GCCDIR}
+.PATH: ${.CURDIR}/../cc_tools ${GCCDIR}
+
+PROG= protoize
+NOMAN=
+
+# things are rather hard-coded, we work around that here
+CFLAGS+= -DDEFAULT_TARGET_VERSION=\"\"
+CFLAGS+= -DDEFAULT_TARGET_MACHINE=\"../libdata/gcc\"
+
+DPADD= ${LIBCC_INT}
+LDADD= ${LIBCC_INT}
+
+CLEANFILES= config.h
+config.h: auto-host.h freebsd-native.h
+ cat ${.ALLSRC} >${.TARGET}
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/cc/tradcpp0/Makefile b/gnu/usr.bin/cc/tradcpp0/Makefile
index e8c0da7..9a6b085 100644
--- a/gnu/usr.bin/cc/tradcpp0/Makefile
+++ b/gnu/usr.bin/cc/tradcpp0/Makefile
@@ -1 +1,22 @@
# $FreeBSD$
+
+.include "../Makefile.inc"
+
+.PATH: ${GCCDIR}
+
+PROG= tradcpp0
+SRCS= tradcpp.c tradcif.c
+BINDIR= /usr/libexec
+NOMAN= 1
+
+DPADD+= ${LIBCC_INT}
+LDADD+= ${LIBCC_INT}
+
+# ${YACC} ${GCCDIR}/tradcif.y
+tradcif.c: tradcif.y
+ ${YACC} ${.ALLSRC}
+ sed -e "s/malloc/xmalloc/g" \
+ -e "s/realloc/xrealloc/g" \
+ y.tab.c >${.TARGET}
+
+.include <bsd.prog.mk>
OpenPOWER on IntegriCloud