diff options
author | Robert Nagy <robert@cvs.openbsd.org> | 2009-10-15 20:50:22 +0000 |
---|---|---|
committer | Robert Nagy <robert@cvs.openbsd.org> | 2009-10-15 20:50:22 +0000 |
commit | d0bc9228afb1ce3bb74e78d2e39db16930ea5f6f (patch) | |
tree | b633906d94eb8441667927901b304880088884fd | |
parent | 6c6d27ead70914301fa8256977ca53019ac9add3 (diff) |
Import a BSD make based infrastructure for building gcc, based on the
same solution from FreeBSD.
Don't even try to build it at the moment. This is commited so people can
work on it in tree.
27 files changed, 3445 insertions, 0 deletions
diff --git a/gnu/usr.bin/cc/Makefile b/gnu/usr.bin/cc/Makefile new file mode 100644 index 00000000000..8bf2b3ad9d0 --- /dev/null +++ b/gnu/usr.bin/cc/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD: src/gnu/usr.bin/cc/Makefile,v 1.41.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1.1.1 2009/10/15 20:50:19 robert Exp $ + +.include <bsd.own.mk> + +# The order of some of these are rather important. Some depend on previous +# subdirs. + +SUBDIR= cc_tools libcpp libdecnumber cc_int cc cc1 include doc + +SUBDIR+= cpp +SUBDIR+= cc1plus c++ c++filt +SUBDIR+= cc1obj +SUBDIR+= gcov +SUBDIR+= libgcc +SUBDIR+= collect2 + +.include <bsd.subdir.mk> diff --git a/gnu/usr.bin/cc/Makefile.fe b/gnu/usr.bin/cc/Makefile.fe new file mode 100644 index 00000000000..474548ad772 --- /dev/null +++ b/gnu/usr.bin/cc/Makefile.fe @@ -0,0 +1,27 @@ +# $FreeBSD: src/gnu/usr.bin/cc/Makefile.fe,v 1.5.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile.fe,v 1.1.1.1 2009/10/15 20:50:19 robert Exp $ + +# Front-end-only bits + +.include "Makefile.ver" + +# +# These were previously defined in gcc.c. Just copy previous values from +# there. We ifdef most of them out for FREEBSD_NATIVE builds anyway. +# gcc.c won't compile without them though. +DRIVER_DEFINES = -DGCC_DRIVER \ + -DDEFAULT_TARGET_VERSION=\"$(BASEVER)\" \ + -DDEFAULT_TARGET_MACHINE=\"$(GCC_TARGET)\" + +CFLAGS+= ${DRIVER_DEFINES} + +.PATH: ../cc_tools ${GCCDIR} ${GCCDIR}/doc ${GCCDIR}/config/${GCC_CPU} + +SRCS= gcc.c opts-common.c options.c intl.c prefix.c version.c + +.if exists(${GCCDIR}/config/${GCC_CPU}/driver-${GCC_CPU}.c) +SRCS+= driver-${GCC_CPU}.c +.endif + +DPADD= ${LIBCPP} ${LIBIBERTY} +LDADD= ${LIBCPP} ${LIBIBERTY} diff --git a/gnu/usr.bin/cc/Makefile.inc b/gnu/usr.bin/cc/Makefile.inc new file mode 100644 index 00000000000..1deefb190fd --- /dev/null +++ b/gnu/usr.bin/cc/Makefile.inc @@ -0,0 +1,67 @@ +# $FreeBSD: src/gnu/usr.bin/cc/Makefile.inc,v 1.66.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile.inc,v 1.1 2009/10/15 20:50:19 robert Exp $ + +# Sometimes this is .include'd several times... +.if !defined(__CC_MAKEFILE_INC__) +__CC_MAKEFILE_INC__= ${MFILE} + +GCCLIB= ${.CURDIR}/../../../gcc +GCCDIR= ${GCCLIB}/gcc + +.include "Makefile.tgt" + +# Machine description. +MD_FILE= ${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}.md +GCC_TARGET= ${TARGET_ARCH}-unknown-openbsd${OSREV} + +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 +.if defined(LONG_TYPE_SIZE) +CFLAGS+= -DLONG_TYPE_SIZE=${LONG_TYPE_SIZE} +.endif + +.if ${TARGET_ARCH} != ${MACHINE_ARCH} +CFLAGS+= -DCROSS_COMPILE +.endif + +.if defined(WANT_FORCE_OPTIMIZATION_DOWNGRADE) +CFLAGS+= -DFORCE_OPTIMIZATION_DOWNGRADE=${WANT_FORCE_OPTIMIZATION_DOWNGRADE} +.endif + +.if exists(${.OBJDIR}/../cc_tools) +CFLAGS+= -I${.OBJDIR}/../cc_tools +.endif +CFLAGS+= -I${.CURDIR}/../cc_tools +# This must go after the -I for cc_tools to resolve ambiguities for hash.h +# correctly. +CFLAGS+= -I${GCCDIR} -I${GCCDIR}/config + +CFLAGS+= -I${GCCLIB}/include +CFLAGS+= -I${GCCLIB}/libcpp/include +CFLAGS+= -I${GCCLIB}/libdecnumber + +.if exists(${.OBJDIR}/../cc_int) +LIBBACKEND= ${.OBJDIR}/../cc_int/libbackend.a +.else +LIBBACKEND= ${.CURDIR}/../cc_int/libbackend.a +.endif + +LIBIBERTY= /usr/lib/libiberty.a + +.if exists(${.OBJDIR}/../libcpp) +LIBCPP= ${.OBJDIR}/../libcpp/libcpp.a +.else +LIBCPP= ${.CURDIR}/../libcpp/libcpp.a +.endif + +.if exists(${.OBJDIR}/../libdecnumber) +LIBDECNUMBER= ${.OBJDIR}/../libdecnumber/libdecnumber.a +.else +LIBDECNUMBER= ${.CURDIR}/../libdecnumber/libdecnumber.a +.endif + +.endif # !__CC_MAKEFILE_INC__ diff --git a/gnu/usr.bin/cc/Makefile.tgt b/gnu/usr.bin/cc/Makefile.tgt new file mode 100644 index 00000000000..3b65c427e62 --- /dev/null +++ b/gnu/usr.bin/cc/Makefile.tgt @@ -0,0 +1,18 @@ +# $FreeBSD: src/gnu/usr.bin/cc/Makefile.tgt,v 1.11.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile.tgt,v 1.1 2009/10/15 20:50:19 robert Exp $ + +TARGET_ARCH?= ${MACHINE_ARCH} + +.if ${TARGET_ARCH} == "arm" +GCC_CPU= arm +.elif ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64" +GCC_CPU= i386 +.elif ${TARGET_ARCH} == "ia64" +TARGET_CPU_DEFAULT= MASK_GNU_AS|MASK_GNU_LD +GCC_CPU= ia64 +.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/Makefile.ver b/gnu/usr.bin/cc/Makefile.ver new file mode 100644 index 00000000000..0f6bf3d4034 --- /dev/null +++ b/gnu/usr.bin/cc/Makefile.ver @@ -0,0 +1,11 @@ +# $FreeBSD: src/gnu/usr.bin/cc/Makefile.ver,v 1.1.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile.ver,v 1.1.1.1 2009/10/15 20:50:19 robert Exp $ + +BASEVER!= cat ${GCCDIR}/BASE-VER +DATESTAMP!= cat ${GCCDIR}/DATESTAMP +DEVPHASE!= cat ${GCCDIR}/DEV-PHASE + +version.o: version.c + ${CC} ${CFLAGS} -DBASEVER=\"${BASEVER}\" \ + -DDATESTAMP=\"\ ${DATESTAMP}\" \ + -DDEVPHASE=\"\ ${DEVPHASE}\" -c ${.IMPSRC} diff --git a/gnu/usr.bin/cc/c++/Makefile b/gnu/usr.bin/cc/c++/Makefile new file mode 100644 index 00000000000..b43966b2039 --- /dev/null +++ b/gnu/usr.bin/cc/c++/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD: src/gnu/usr.bin/cc/c++/Makefile,v 1.24.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1.1.1 2009/10/15 20:50:20 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.fe" + +.PATH: ${GCCDIR}/cp + +PROG= c++ +SRCS+= g++spec.c +LINKS= ${BINDIR}/c++ ${BINDIR}/g++ +NOMAN= Yes + +DPADD= ${LIBCPP} ${LIBIBERTY} +LDADD= ${LIBCPP} ${LIBIBERTY} + +.include <bsd.prog.mk> diff --git a/gnu/usr.bin/cc/c++filt/Makefile b/gnu/usr.bin/cc/c++filt/Makefile new file mode 100644 index 00000000000..a5e1ec49b50 --- /dev/null +++ b/gnu/usr.bin/cc/c++filt/Makefile @@ -0,0 +1,24 @@ +# $FreeBSD: src/gnu/usr.bin/cc/c++filt/Makefile,v 1.22.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:19 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.fe" + +.PATH: ${BSDSRCDIR}/gnu/lib/libiberty/src + +PROG= c++filt +SRCS= cp-demangle.c +NOMAN= Yes + +CFLAGS+= -DSTANDALONE_DEMANGLER -DVERSION=\"$(GCC_VERSION)\" + +DPADD= ${LIBIBERTY} +LDADD= ${LIBIBERTY} + +beforeinstall: + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${DIRMODE} \ + ${DESTDIR}${BINDIR} + +.include <bsd.prog.mk> diff --git a/gnu/usr.bin/cc/cc/Makefile b/gnu/usr.bin/cc/cc/Makefile new file mode 100644 index 00000000000..de2f46e60b7 --- /dev/null +++ b/gnu/usr.bin/cc/cc/Makefile @@ -0,0 +1,27 @@ +# $FreeBSD: src/gnu/usr.bin/cc/cc/Makefile,v 1.33.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:20 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.fe" + +PROG= cc +MAN= gcc.1 +SRCS+= gccspec.c + +SPECDIR= /usr/lib/gcc-lib/${GCC_TARGET}/${BASEVER} + +LINKS= ${BINDIR}/cc ${BINDIR}/gcc +MLINKS= gcc.1 cc.1 gcc.1 c++.1 gcc.1 g++.1 gcc.1 c++filt.1 + +beforeinstall: +.if !exist(${DESTDIR}${SPECDIR}) + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${DIRMODE} \ + ${DESTDIR}${SPECDIR} +.endif + +afterinstall: + ${.CURDIR}/../cc/obj/cc -dumpspecs > ${DESTDIR}${SPECDIR}/specs + +.include <bsd.prog.mk> diff --git a/gnu/usr.bin/cc/cc1/Makefile b/gnu/usr.bin/cc/cc1/Makefile new file mode 100644 index 00000000000..8da1d55f6c3 --- /dev/null +++ b/gnu/usr.bin/cc/cc1/Makefile @@ -0,0 +1,29 @@ +# $FreeBSD: src/gnu/usr.bin/cc/cc1/Makefile,v 1.35.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1.1.1 2009/10/15 20:50:20 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.ver" + +.PATH: ${GCCDIR} + +PROG= cc1 +SRCS= main.c c-parser.c c-lang.c +BINDIR= /usr/lib/gcc-lib/${GCC_TARGET}/${BASEVER} +NOMAN= Yes + +OBJS+= ${PROG}-checksum.o +DPADD= ${LIBBACKEND} ${LIBCPP} ${LIBDECNUMBER} ${LIBIBERTY} +LDADD= ${LIBBACKEND} ${LIBCPP} ${LIBDECNUMBER} ${LIBIBERTY} + +DOBJS+= ${SRCS:N*.h:R:S/$/.o/g} +${PROG}-dummy: ${DOBJS} + ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${DOBJS} ${LDADD} +CLEANFILES+= ${PROG}-dummy + +${PROG}-checksum.c: ${PROG}-dummy + ../cc_tools/genchecksum ${PROG}-dummy > ${.TARGET} +CLEANFILES+= ${PROG}-checksum.c + +.include <bsd.prog.mk> diff --git a/gnu/usr.bin/cc/cc1obj/Makefile b/gnu/usr.bin/cc/cc1obj/Makefile new file mode 100644 index 00000000000..5551c6e6347 --- /dev/null +++ b/gnu/usr.bin/cc/cc1obj/Makefile @@ -0,0 +1,36 @@ +# $FreeBSD: src/gnu/usr.bin/cc/cc1obj/Makefile,v 1.28.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:19 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.ver" + +.PATH: ${GCCDIR}/objc ${GCCDIR} + +PROG= cc1obj +SRCS= main.c c-parser.c objc-act.c objc-lang.c c-decl.c +BINDIR= /usr/lib/gcc-lib/${GCC_TARGET}/${BASEVER} +NOMAN= Yes +NO_PIC= Yes + +CFLAGS+= -I${GCCDIR}/objc -I. + +OBJS+= ${PROG}-checksum.o +DPADD= ${LIBBACKEND} ${LIBCPP} ${LIBDECNUMBER} ${LIBIBERTY} +LDADD= ${LIBBACKEND} ${LIBCPP} ${LIBDECNUMBER} ${LIBIBERTY} + +DOBJS+= ${SRCS:N*.h:R:S/$/.o/g} +${PROG}-dummy: ${DOBJS} + ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${DOBJS} ${LDADD} +CLEANFILES+= ${PROG}-dummy + +${PROG}-checksum.c: ${PROG}-dummy + ../cc_tools/genchecksum ${PROG}-dummy > ${.TARGET} +CLEANFILES+= ${PROG}-checksum.c + +beforeinstall: + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${DIRMODE} \ + ${DESTDIR}${BINDIR} + +.include <bsd.prog.mk> diff --git a/gnu/usr.bin/cc/cc1plus/Makefile b/gnu/usr.bin/cc/cc1plus/Makefile new file mode 100644 index 00000000000..93407a4c062 --- /dev/null +++ b/gnu/usr.bin/cc/cc1plus/Makefile @@ -0,0 +1,44 @@ +# $FreeBSD: src/gnu/usr.bin/cc/cc1plus/Makefile,v 1.39.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:20 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.ver" + +.PATH: ${GCCDIR}/cp ${GCCDIR} + +PROG= cc1plus +#SRCS= cfns.h +SRCS+= main.c cp-lang.c c-opts.c call.c class.c cvt.c cxx-pretty-print.c \ + decl.c decl2.c error.c except.c expr.c dump.c friend.c init.c lex.c \ + mangle.c method.c name-lookup.c parser.c pt.c ptree.c repo.c rtti.c \ + search.c semantics.c tree.c typeck.c typeck2.c optimize.c \ + cp-objcp-common.c cp-gimplify.c tree-mudflap.c + +BINDIR= /usr/lib/gcc-lib/${GCC_TARGET}/${BASEVER} + +NOMAN= Yes + +CFLAGS+= -I${GCCDIR}/cp -I. + +OBJS+= ${PROG}-checksum.o +DPADD= ${LIBBACKEND} ${LIBCPP} ${LIBDECNUMBER} ${LIBIBERTY} +LDADD= ${LIBBACKEND} ${LIBCPP} ${LIBDECNUMBER} ${LIBIBERTY} + +DOBJS+= ${SRCS:N*.h:R:S/$/.o/g} +${PROG}-dummy: ${DOBJS} + ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${DOBJS} ${LDADD} +CLEANFILES+= ${PROG}-dummy + +${PROG}-checksum.c: ${PROG}-dummy + ../cc_tools/genchecksum ${PROG}-dummy > ${.TARGET} +CLEANFILES+= ${PROG}-checksum.c + +beforeinstall: +.if !exist(${DESTDIR}${BINDIR}) + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${DIRMODE} \ + ${DESTDIR}${BINDIR} +.endif + +.include <bsd.prog.mk> diff --git a/gnu/usr.bin/cc/cc_int/Makefile b/gnu/usr.bin/cc/cc_int/Makefile new file mode 100644 index 00000000000..eb134df7bb1 --- /dev/null +++ b/gnu/usr.bin/cc/cc_int/Makefile @@ -0,0 +1,114 @@ +# $FreeBSD: src/gnu/usr.bin/cc/cc_int/Makefile,v 1.52.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:20 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.ver" + +.PATH: ../cc_tools ${GCCDIR} ${GCCDIR}/config/${GCC_CPU} + +LIB= backend +NOPROFILE= Yes +NOPIC= Yes + +EXTRA_OBJS= +GGC= ggc-page.o +host_hook_obj= host-default.o + +# +# Most lists copied verbatim from GCC Makefiles. +# +OBJS-common = \ + double-int.o tree-chrec.o tree-scalar-evolution.o tree-data-ref.o \ + tree-cfg.o tree-dfa.o tree-eh.o tree-ssa.o tree-optimize.o tree-gimple.o \ + gimplify.o tree-pretty-print.o tree-into-ssa.o \ + tree-outof-ssa.o tree-ssa-ccp.o tree-vn.o tree-ssa-uncprop.o \ + tree-ssa-dce.o tree-ssa-copy.o tree-nrv.o tree-ssa-copyrename.o \ + tree-ssa-pre.o tree-ssa-live.o tree-ssa-operands.o tree-ssa-alias.o \ + tree-ssa-phiopt.o tree-ssa-forwprop.o tree-nested.o tree-ssa-dse.o \ + tree-ssa-dom.o domwalk.o tree-tailcall.o gimple-low.o tree-iterator.o \ + omp-low.o tree-phinodes.o tree-ssanames.o tree-sra.o tree-complex.o \ + tree-vect-generic.o tree-ssa-loop.o tree-ssa-loop-niter.o \ + tree-ssa-loop-manip.o tree-ssa-threadupdate.o tree-ssa-threadedge.o \ + tree-vectorizer.o tree-vect-analyze.o tree-vect-transform.o \ + tree-vect-patterns.o tree-ssa-loop-prefetch.o \ + tree-ssa-loop-ivcanon.o tree-ssa-propagate.o tree-ssa-address.o \ + tree-ssa-math-opts.o \ + tree-ssa-loop-ivopts.o tree-if-conv.o tree-ssa-loop-unswitch.o \ + alias.o bb-reorder.o bitmap.o builtins.o caller-save.o calls.o \ + cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfglayout.o cfgloop.o \ + cfgloopanal.o cfgloopmanip.o loop-init.o loop-unswitch.o loop-unroll.o \ + cfgrtl.o combine.o conflict.o convert.o coverage.o cse.o cselib.o \ + dbxout.o ddg.o tree-ssa-loop-ch.o loop-invariant.o tree-ssa-loop-im.o \ + debug.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o \ + dominance.o loop-doloop.o \ + dwarf2asm.o dwarf2out.o emit-rtl.o except.o explow.o loop-iv.o \ + expmed.o expr.o final.o flow.o fold-const.o function.o gcse.o \ + genrtl.o ggc-common.o global.o graph.o gtype-desc.o \ + haifa-sched.o hooks.o ifcvt.o insn-attrtab.o insn-emit.o insn-modes.o \ + insn-extract.o insn-opinit.o insn-output.o insn-peep.o insn-recog.o \ + integrate.o intl.o jump.o langhooks.o lcm.o lists.o local-alloc.o \ + mode-switching.o modulo-sched.o optabs.o options.o opts.o opts-common.o \ + params.o postreload.o postreload-gcse.o predict.o \ + insn-preds.o insn-automata.o pointer-set.o \ + print-rtl.o print-tree.o profile.o value-prof.o var-tracking.o \ + real.o recog.o reg-stack.o regclass.o regmove.o regrename.o \ + reload.o reload1.o reorg.o resource.o rtl.o rtlanal.o rtl-error.o \ + sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o \ + see.o simplify-rtx.o sreal.o stmt.o stor-layout.o stringpool.o \ + struct-equiv.o targhooks.o timevar.o toplev.o tracer.o tree.o tree-dump.o \ + varasm.o varray.o vec.o version.o vmsdbgout.o xcoffout.o alloc-pool.o \ + et-forest.o cfghooks.o bt-load.o pretty-print.o $(GGC) web.o passes.o \ + tree-profile.o rtlhooks.o cfgexpand.o lambda-mat.o \ + lambda-trans.o lambda-code.o tree-loop-linear.o tree-ssa-sink.o \ + tree-vrp.o tree-stdarg.o tree-cfgcleanup.o tree-ssa-reassoc.o \ + tree-ssa-structalias.o tree-object-size.o \ + rtl-factoring.o + +OBJS-archive= $(EXTRA_OBJS) $(host_hook_obj) tree-inline.o \ + cgraph.o cgraphunit.o ipa.o ipa-inline.o \ + ipa-utils.o ipa-reference.o ipa-pure-const.o ipa-type-escape.o \ + ipa-prop.o ipa-cp.o + +OBJS-md= ${GCC_CPU}.o +.if exists(${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}-c.c) +OBJS-md+= ${GCC_CPU}-c.o +.endif + +# Target specific, C specific object file +C_TARGET_OBJS= + +.if ${TARGET_ARCH} == "arm" && defined(TARGET_BIG_ENDIAN) +CFLAGS += -DTARGET_ENDIAN_DEFAULT=MASK_BIG_END +.endif + +# Language-specific object files for C and Objective C. +C_AND_OBJC_OBJS = 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-opts.o c-format.o c-semantics.o \ + c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o \ + c-objc-common.o c-dump.o c-pch.o c-parser.o $(C_TARGET_OBJS) \ + c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o + +# Language-specific object files for C. +C_OBJS = c-lang.o stub-objc.o $(C_AND_OBJC_OBJS) + +# Put objC stub objects in library. objc frontend will override it +# Put dummy checksum object in library too. It will be overridden +# by each indidual front-end binary as needed. +OBJS-dummy= stub-objc.o dummy-checksum.o + +OBJS-all= ${OBJS-common} ${OBJS-archive} ${OBJS-md} ${C_AND_OBJC_OBJS} \ + ${OBJS-dummy} + +SRCS+= ${OBJS-all:R:S/$/.c/g} + +toplev.po: toplev.c + ${CC} ${CFLAGS} -DTARGET_NAME=\"${GCC_TARGET}\" -c ${.IMPSRC} +toplev.o: toplev.c + ${CC} ${CFLAGS} -DTARGET_NAME=\"${GCC_TARGET}\" -c ${.IMPSRC} + +install: + # Nothing here so far... + +.include <bsd.lib.mk> diff --git a/gnu/usr.bin/cc/cc_tools/Makefile b/gnu/usr.bin/cc/cc_tools/Makefile new file mode 100644 index 00000000000..3d17b641e31 --- /dev/null +++ b/gnu/usr.bin/cc/cc_tools/Makefile @@ -0,0 +1,496 @@ +# $FreeBSD: src/gnu/usr.bin/cc/cc_tools/Makefile,v 1.88.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:21 robert Exp $ + +.include <bsd.own.mk> + +.include "../Makefile.inc" + +CFLAGS+= -I. + +CFLAGS+= -g +CFLAGS+= -DGENERATOR_FILE -DHAVE_CONFIG_H + +# Override LIBIBERTY set by Makefile.inc, We use our own for +# build tools. +LIBIBERTY= /usr/lib/libiberty.a + +.PATH: ${GCCDIR} ${GCCLIB}/libiberty + +#----------------------------------------------------------------------- +# Determine content of variables used by the target/host config files + +# +# The list of headers to go into tm.h +# + +TARGET_INC+= options.h +.if ${TARGET_ARCH} == "amd64" +TARGET_INC+= i386/biarch64.h +.endif +.if ${TARGET_ARCH} != "arm" +TARGET_INC+= ${GCC_CPU}/${GCC_CPU}.h +.endif +.if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64" +TARGET_INC+= ${GCC_CPU}/unix.h +TARGET_INC+= ${GCC_CPU}/att.h +.endif +TARGET_INC+= dbxelf.h +TARGET_INC+= elfos.h +TARGET_INC+= openbsd.h +TARGET_INC+= openbsd-libpthread.h +TARGET_INC+= openbsd-native.h +.if ${TARGET_ARCH} != "i386" && ${TARGET_ARCH} != "amd64" +.if exists(${GCCDIR}/config/${GCC_CPU}/sysv4.h) +TARGET_INC+= ${GCC_CPU}/sysv4.h +.endif +.endif +.if ${TARGET_ARCH} == "amd64" +TARgET_INC+= ${GCC_CPU}/x86-64.h +TARGET_INC+= ${GCC_CPU}/openbsd64.h +.else +TARGET_INC+= ${GCC_CPU}/openbsd.h +.endif +TARGET_INC+= defaults.h + +.for H in ${TARGET_INC} +.for D in ${GCCDIR}/config ${GCCDIR} ${.CURDIR} +.if exists($D/$H) +TARGET_INC_FILES+= $D/$H +.endif +.endfor +.endfor + +# +# gtyp includes. +# +srcdir= ${GCCDIR} +CPPLIB_H= ${GCCLIB}/libcpp/include/line-map.h \ + ${GCCLIB}/libcpp/include/cpplib.h +SYMTAB_H= ${GCCLIB}/libcpp/include/symtab.h +CPP_ID_DATA_H= ${CPPLIB_H} ${GCCLIB}/libcpp/include/cpp-id-data.h +HASHTAB_H= ${GCCLIB}/include/hashtab.h +SPLAY_TREE_H= ${GCCLIB}/include/splay-tree.h +out_file= ${srcdir}/config/${GCC_CPU}/${GCC_CPU}.c +tm_file_list= ${TARGET_INC_FILES} +host_xm_file_list= ${.CURDIR}/auto-host.h ${GCCLIB}/include/ansidecl.h +GTFILES_SRCDIR= ${srcdir} + +# Copied unchanged from gcc/Makefile.in +GTFILES = $(srcdir)/input.h $(srcdir)/coretypes.h \ + $(CPP_ID_DATA_H) $(host_xm_file_list) \ + $(tm_file_list) $(HASHTAB_H) $(SPLAY_TREE_H) $(srcdir)/bitmap.h \ + $(srcdir)/coverage.c $(srcdir)/rtl.h \ + $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/function.h $(srcdir)/libfuncs.h $(SYMTAB_H) \ + $(srcdir)/real.h $(srcdir)/varray.h $(srcdir)/insn-addr.h $(srcdir)/hwint.h \ + $(srcdir)/ipa-reference.h $(srcdir)/output.h \ + $(srcdir)/cselib.h $(srcdir)/basic-block.h $(srcdir)/cgraph.h \ + $(srcdir)/c-common.h $(srcdir)/c-tree.h $(srcdir)/reload.h \ + $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \ + $(srcdir)/ipa-prop.c $(srcdir)/ipa-cp.c $(srcdir)/ipa-inline.c \ + $(srcdir)/dbxout.c $(srcdir)/dwarf2out.c $(srcdir)/dwarf2asm.c \ + $(srcdir)/dojump.c $(srcdir)/tree-profile.c \ + $(srcdir)/emit-rtl.c $(srcdir)/except.c $(srcdir)/explow.c $(srcdir)/expr.c \ + $(srcdir)/function.c $(srcdir)/except.h \ + $(srcdir)/gcse.c $(srcdir)/integrate.c $(srcdir)/lists.c $(srcdir)/optabs.c \ + $(srcdir)/profile.c $(srcdir)/regclass.c \ + $(srcdir)/reg-stack.c $(srcdir)/cfglayout.c \ + $(srcdir)/sdbout.c $(srcdir)/stor-layout.c \ + $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \ + $(srcdir)/tree-mudflap.c $(srcdir)/tree-flow.h \ + $(srcdir)/c-objc-common.c $(srcdir)/c-common.c $(srcdir)/c-parser.c \ + $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c $(srcdir)/tree-ssa-address.c \ + $(srcdir)/tree-phinodes.c $(srcdir)/tree-cfg.c \ + $(srcdir)/tree-dfa.c $(srcdir)/tree-ssa-propagate.c \ + $(srcdir)/tree-iterator.c $(srcdir)/gimplify.c \ + $(srcdir)/tree-chrec.h $(srcdir)/tree-vect-generic.c \ + $(srcdir)/tree-ssa-operands.h $(srcdir)/tree-ssa-operands.c \ + $(srcdir)/tree-profile.c $(srcdir)/tree-nested.c \ + $(srcdir)/ipa-reference.c $(srcdir)/tree-ssa-structalias.h \ + $(srcdir)/tree-ssa-structalias.c \ + $(srcdir)/c-pragma.h $(srcdir)/omp-low.c \ + $(srcdir)/targhooks.c $(srcdir)/cgraphunit.c $(out_file) \ + +# The list of frontend directories to look into +GTFILES_LANG_DIR_NAMES= cp objc + +# The list of language specific files for gengtype +.for L in ${GTFILES_LANG_DIR_NAMES} c +.if exists(${GCCDIR}/$L-config-lang.in) +# Source the language config file +L_GTFILES!= sh -c '. ${GCCDIR}/$L-config-lang.in; echo $$gtfiles' +.else +L_GTFILES!= sh -c '. ${GCCDIR}/$L/config-lang.in; echo $$gtfiles' +.endif +.for F in ${L_GTFILES} +GTFILES_FILES+= $F +GTFILES_LANGS+= $L +.endfor +.endfor +GTFILES+= ${GTFILES_FILES} + +# +# Tree definition files. +# +TREE_DEF_FILES= cp/cp-tree.def objc/objc-tree.def + +# +# Option files. +# +OPT_FILES= c.opt common.opt + +.if exists(${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}.opt) +OPT_FILES+= ${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}.opt +.endif + +.if exists(${.CURDIR}/${GCC_CPU}-openbsd.opt) +OPT_FILES+= ${.CURDIR}/${GCC_CPU}-openbsd.opt +.endif + +.if ${TARGET_ARCH} == "powerpc" +OPT_FILES+= ${GCCDIR}/config/${GCC_CPU}/sysv4.opt +.endif + +.if ${TARGET_ARCH} == "sparc64" +OPT_FILES+= ${GCCDIR}/config/${GCC_CPU}/long-double-switch.opt +.endif + +.if exists(${.CURDIR}/openbsd.opt) +OPT_FILES+= ${.CURDIR}/openbsd.opt +.endif + +#----------------------------------------------------------------------- +# Build rules for header files and generator tools + +# Host config +config.h: + TARGET_CPU_DEFAULT="${TARGET_CPU_DEFAULT}" \ + HEADERS="auto-host.h ansidecl.h" \ + DEFINES="" \ + /bin/sh ${GCCDIR}/mkconfig.sh ${.TARGET} + +GENSRCS+= config.h +CLEANFILES+= cs-config.h + +# Build config +bconfig.h: + TARGET_CPU_DEFAULT="${TARGET_CPU_DEFAULT}" \ + HEADERS="auto-host.h ansidecl.h" \ + DEFINES="" \ + /bin/sh ${GCCDIR}/mkconfig.sh ${.TARGET} +.if exists(${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}-modes.def) + echo '#define EXTRA_MODES_FILE "${GCC_CPU}/${GCC_CPU}-modes.def"' >> ${.TARGET} +.endif + +GENSRCS+= bconfig.h +CLEANFILES+= cs-bconfig.h + +# tconfig.h +tconfig.h: + TARGET_CPU_DEFAULT="${TARGET_CPU_DEFAULT}" \ + HEADERS="auto-host.h ansidecl.h" \ + DEFINES="USED_FOR_TARGET" \ + /bin/sh ${GCCDIR}/mkconfig.sh ${.TARGET} + +GENSRCS+= tconfig.h +CLEANFILES+= cs-tconfig.h +# Options +optionlist: ${OPT_FILES} + awk -f ${GCCDIR}/opt-gather.awk ${.ALLSRC} > ${.TARGET} + +options.h: optionlist + awk -f ${GCCDIR}/opt-functions.awk \ + -f ${GCCDIR}/opth-gen.awk \ + < ${.ALLSRC} > ${.TARGET} + +options.c: optionlist + awk -f ${GCCDIR}/opt-functions.awk \ + -f ${GCCDIR}/optc-gen.awk \ + -v header_name="config.h system.h coretypes.h tm.h" \ + < ${.ALLSRC} > ${.TARGET} +GENONLY+= optionlist options.h options.c + +# Target machine config +tm.h: + TARGET_CPU_DEFAULT="${TARGET_CPU_DEFAULT}" \ + HEADERS="${TARGET_INC}" \ + DEFINES="" \ + /bin/sh ${GCCDIR}/mkconfig.sh ${.TARGET} +.if exists(${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}-modes.def) + echo '#define EXTRA_MODES_FILE "${GCC_CPU}/${GCC_CPU}-modes.def"' >> ${.TARGET} + +# XXX This is an ugly hack to make it search in our old dir too. + echo '#define GPLUSPLUS_TOOL_INCLUDE_DIR PREFIX"/include/g++/${GCC_TARGET}"' >> ${.TARGET} +.endif + +GENSRCS+= tm.h +CLEANFILES+= cs-tm.h + +# Target machine protos/preds. +tm_p.h: + TARGET_CPU_DEFAULT="${TARGET_CPU_DEFAULT}" \ + HEADERS="${GCC_CPU}/${GCC_CPU}-protos.h tm-preds.h" \ + DEFINES="" \ + /bin/sh ${GCCDIR}/mkconfig.sh tm_p.h + +GENSRCS+= tm_p.h +CLEANFILES+= cs-tm_p.h + +# gencheck +gencheck.h: ${TREE_DEF_FILES} +.for F in ${TREE_DEF_FILES} + echo "#include \"$F\"" >> ${.TARGET} +.endfor + touch ${.TARGET} + +GENSRCS+= gencheck.h + + +# Source header for gtyp generator. +gtyp-gen.h: ${GTFILES} + echo "/* This file is machine generated. Do not edit. */" > ${.TARGET} + echo "static const char * const srcdir = " >> ${.TARGET} + echo "\"$(GTFILES_SRCDIR)\";" >> ${.TARGET} + echo "static const char * const lang_files[] = {" >> ${.TARGET} +.for F in ${GTFILES_FILES} + echo "\"$F\", " >> ${.TARGET} +.endfor + echo "NULL};" >> ${.TARGET} + echo "static const char * const langs_for_lang_files[] = {">> ${.TARGET} +.for F in ${GTFILES_LANGS} + echo "\"$F\", " >> ${.TARGET} +.endfor + echo "NULL};" >> ${.TARGET} + echo "static const char * const all_files[] = {" >> ${.TARGET} +.for F in ${GTFILES} + echo "\"$F\", " >> ${.TARGET} +.endfor + echo "NULL};" >> ${.TARGET} + echo "static const char * const lang_dir_names[] = {" >> ${.TARGET} +.for F in c ${GTFILES_LANG_DIR_NAMES} + echo "\"$F\", " >> ${.TARGET} +.endfor + echo "NULL};" >> ${.TARGET} + +GENSRCS+= gtyp-gen.h + +# Version header for gcov +gcov-iov.h: + echo "#define GCOV_VERSION ((gcov_unsigned_t)0x34303270)" >> ${.TARGET} + +GENSRCS+= gcov-iov.h + +# Multilib config file +multilib.h: + echo 'static const char *const multilib_raw[] = { \ + ". ;", NULL };' > ${.TARGET} + echo 'static const char *const multilib_matches_raw[] = { \ + NULL };' >> ${.TARGET} + echo 'static const char *multilib_extra = "";' >> ${.TARGET} + echo 'static const char *multilib_options = "";' >> ${.TARGET} + echo 'static const char *const multilib_exclusions_raw[] = { \ + NULL };' >> ${.TARGET} + +GENSRCS+= multilib.h + +configargs.h: + echo 'static const char configuration_arguments[] =' > ${.TARGET} + echo ' "OpenBSD/${TARGET_ARCH} system compiler";' >> ${.TARGET} + echo 'static const char thread_model[] = "posix";' >> ${.TARGET} + echo 'static const struct {' >> ${.TARGET} + echo ' const char *name, *value;' >> ${.TARGET} + echo '} configure_default_options[] = {' >> ${.TARGET} + echo ' { "NULL", "NULL" } };' >> ${.TARGET} + +GENSRCS+= configargs.h + +# Language spec files +specs.h: + echo '#include "cp/lang-specs.h"' > ${.TARGET} + echo '#include "objc/lang-specs.h"' >> ${.TARGET} + +GENSRCS+= specs.h + +gstdint.h: + echo '#include "sys/types.h"' > ${.TARGET} + echo '#include "sys/stdint.h"' >> ${.TARGET} + +GENSRCS+= gstdint.h + +# Linked headers +gthr-default.h: ${GCCDIR}/gthr-posix.h + ln -sf ${.ALLSRC} ${.TARGET} + +GENSRCS+= gthr-default.h + +unwind.h: ${GCCDIR}/unwind-generic.h + ln -sf ${.ALLSRC} ${.TARGET} + +GENSRCS+= unwind.h + +# +# gtype gunk +# +gengtype-lex.c: gengtype-lex.l + flex -ogengtype-lex.c ${.ALLSRC} + +gengtype-yacc.h: gengtype-yacc.y + yacc -d -o gengtype-yacc.c ${.ALLSRC} + +gengtype-yacc.c: gengtype-yacc.h + +gengtype-yacc+%DIKED.c: gengtype-yacc.c + cat ${.ALLSRC} > ${.TARGET} + sed -e "s/xmalloc/malloc/g" \ + -e "s/xrealloc/realloc/g" \ + -e "s/malloc/xmalloc/g" \ + -e "s/realloc/xrealloc/g" \ + ${.ALLSRC} > ${.TARGET} + +GENSRCS+= gengtype-lex.c gengtype-yacc.h gengtype-yacc+%DIKED.c +CLEANFILES+= gengtype-yacc.c + +gengtype: gengtype.o gengtype-yacc+%DIKED.o gengtype-lex.o errors.o \ + ${LIBIBERTY} + ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC} + +gtype-desc.h: gengtype + ./gengtype + touch ${.TARGET} + +gtype-desc.c: gtype-desc.h + +GENONLY+= gtype-desc.c gtype-desc.h +CLEANFILES+= gt-*.h gtype-*.h + +# +# Generator tools. +# +.for F in check checksum genrtl modes +gen$F: gen$F.o errors.o ${LIBIBERTY} + ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC} +.endfor + +.for F in attr attrtab automata codes conditions config constants emit \ + extract flags opinit output peep preds recog +gen$F: gen$F.o rtl.o read-rtl.o ggc-none.o vec.o min-insn-modes.o \ + gensupport.o print-rtl.o errors.o ${LIBIBERTY} + ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC} -lm +.endfor + +gencondmd: gencondmd.o + ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC} + +# +# Generated .md files. +# +insn-conditions.md: gencondmd + ./gencondmd > ${.TARGET} +GENSRCS+= insn-conditions.md + +# +# Generated header files. +# + +.for F in constants +insn-$F.h: gen$F ${MD_FILE} + ./gen$F ${MD_FILE} > ${.TARGET} +GENSRCS+= insn-$F.h +.endfor + +.for F in attr codes config flags +insn-$F.h: gen$F ${MD_FILE} insn-conditions.md + ./gen$F ${MD_FILE} insn-conditions.md > ${.TARGET} +GENSRCS+= insn-$F.h +.endfor + +# Header files with irregular names. +genrtl.h: gengenrtl + ./gengenrtl -h > ${.TARGET} +GENSRCS+= genrtl.h + +tm-preds.h: genpreds + ./genpreds -h ${MD_FILE} > ${.TARGET} +GENSRCS+= tm-preds.h + +tm-constrs.h: genpreds + ./genpreds -c ${MD_FILE} > ${.TARGET} +GENSRCS+= tm-constrs.h + +tree-check.h: gencheck + ./gencheck > ${.TARGET} +GENSRCS+= tree-check.h + +insn-modes.h: genmodes + ./genmodes -h > ${.TARGET} +GENSRCS+= insn-modes.h + +# +# Generated source files. +# +.for F in attrtab automata emit extract opinit output peep preds recog +insn-$F.c: gen$F ${MD_FILE} insn-conditions.md + ./gen$F ${MD_FILE} insn-conditions.md > ${.TARGET} +GENONLY+= insn-$F.c +.endfor + +.for F in conditions +insn-$F.c: gen$F ${MD_FILE} + ./gen$F ${MD_FILE} > ${.TARGET} +GENSRCS+= insn-$F.c +.endfor + +# Source files with irregular names. +insn-modes.c: genmodes + ./genmodes > ${.TARGET} +GENONLY+= insn-modes.c + +min-insn-modes.c: genmodes + ./genmodes -m > ${.TARGET} +GENSRCS+= min-insn-modes.c + +genrtl.c: gengenrtl + ./gengenrtl > ${.TARGET} +GENONLY+= genrtl.c + +gencondmd.c: genconditions ${MD_FILE} + ./genconditions ${MD_FILE} > ${.TARGET} +GENSRCS+= gencondmd.c + +#----------------------------------------------------------------------- +# Build tools. + +GNTOOLS+= genattr genattrtab genautomata gencodes gencheck genchecksum \ + genconditions gencondmd genconfig genconstants genemit \ + genextract genflags gengenrtl gengtype genmodes genopinit \ + genoutput genpeep genpreds genrecog + +all: ${GNTOOLS} ${GENSRCS} ${GENONLY} +beforedepend: ${GENONLY} + +#----------------------------------------------------------------------- +# Fixups. + +# Set OBJS the same as bsd.prog.mk would do if we defined PROG. We can't +# define PROG because we have multiple programs. +# +SRCS= errors.c genattr.c genattrtab.c \ + genautomata.c gencheck.c genchecksum.c gencodes.c \ + genconditions.c genconfig.c genconstants.c genemit.c \ + genextract.c genflags.c gengenrtl.c gengtype.c genmodes.c \ + genopinit.c genoutput.c genpeep.c genpreds.c genrecog.c \ + gensupport.c ggc-none.c print-rtl.c read-rtl.c rtl.c \ + vec.c + +SRCS+= ${GENSRCS} +OBJS+= ${SRCS:N*.h:R:S/$/.o/g} +GENOBJS+= ${GENSRCS:N*.h:R:S/$/.o/g} +CLEANFILES+= ${GENSRCS} ${GENONLY} ${GENOBJS} ${GNTOOLS} + +#----------------------------------------------------------------------- +# Manual dependencies. +.if !exists(${DEPENDFILE}) +.include "Makefile.dep" +.endif + +.include <bsd.prog.mk> +# DO NOT DELETE diff --git a/gnu/usr.bin/cc/cc_tools/Makefile.dep b/gnu/usr.bin/cc/cc_tools/Makefile.dep new file mode 100644 index 00000000000..0fbe0b6c3c1 --- /dev/null +++ b/gnu/usr.bin/cc/cc_tools/Makefile.dep @@ -0,0 +1,154 @@ +# $FreeBSD: src/gnu/usr.bin/cc/cc_tools/Makefile.dep,v 1.1.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile.dep,v 1.1.1.1 2009/10/15 20:50:21 robert Exp $ + +errors.o: bconfig.h auto-host.h + +genattr.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +genattrtab.o: bconfig.h \ + auto-host.h \ + tm.h options.h \ + insn-modes.h \ + gtype-desc.h + +genautomata.o: bconfig.h \ + auto-host.h \ + tm.h options.h \ + insn-modes.h + +gencheck.o: bconfig.h auto-host.h \ + tm.h options.h \ + gencheck.h + +genchecksum.o: bconfig.h \ + auto-host.h + +gencodes.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +genconditions.o: bconfig.h \ + auto-host.h \ + tm.h options.h \ + insn-modes.h + +genconfig.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +genconstants.o: bconfig.h \ + auto-host.h \ + tm.h options.h \ + insn-modes.h + +genemit.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +genextract.o: bconfig.h \ + auto-host.h \ + tm.h options.h \ + insn-modes.h \ + insn-config.h + +genflags.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +gengenrtl.o: bconfig.h auto-host.h + +gengtype.o: bconfig.h auto-host.h \ + tm.h options.h \ + gtyp-gen.h + +genmddeps.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +genmodes.o: bconfig.h auto-host.h + +genopinit.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +genoutput.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +genpeep.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +genpreds.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +genrecog.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +gensupport.o: bconfig.h \ + auto-host.h \ + tm.h options.h \ + insn-modes.h + +ggc-none.o: bconfig.h auto-host.h \ + gtype-desc.h + +print-rtl.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +read-rtl.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +rtl.o: bconfig.h auto-host.h \ + tm.h options.h \ + insn-modes.h \ + gtype-desc.h + +insn-modes.o: insn-modes.c config.h auto-host.h \ + tm.h options.h \ + insn-modes.h + +min-insn-modes.o: min-insn-modes.c bconfig.h auto-host.h \ + insn-modes.h + +gengtype-lex.o: gengtype-lex.c \ + bconfig.h auto-host.h \ + gengtype-yacc.h + +gengtype-yacc+%DIKED.o: gengtype-yacc+%DIKED.c \ + bconfig.h \ + auto-host.h \ + tm.h options.h \ + +insn-conditions.o: insn-conditions.c bconfig.h auto-host.h \ + insn-constants.h \ + tm.h options.h \ + insn-modes.h \ + tm_p.h \ + tm-preds.h \ + options.h + +gencondmd.o: gencondmd.c \ + tm.h options.h tm_p.h \ + tm-preds.h tm-constrs.h tree-check.h \ + insn-constants.h + +gencondmd.o: gencondmd.c bconfig.h auto-host.h \ + tm.h options.h \ + insn-constants.h \ + insn-modes.h \ + tm_p.h \ + tm-preds.h \ + tree-check.h \ + tm-constrs.h + +vec.o: vec.c bconfig.h auto-host.h \ + insn-modes.h \ + tree-check.h \ + gtype-desc.h diff --git a/gnu/usr.bin/cc/cc_tools/auto-host.h b/gnu/usr.bin/cc/cc_tools/auto-host.h new file mode 100644 index 00000000000..8dfd06e1d2f --- /dev/null +++ b/gnu/usr.bin/cc/cc_tools/auto-host.h @@ -0,0 +1,1401 @@ +/* auto-host.h. Generated by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ +/* $OpenBSD: auto-host.h,v 1.1 2009/10/15 20:50:21 robert Exp $ */ + +/* Define as the number of bits in a byte, if \`limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* 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. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_NLS */ +#endif + + +/* 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. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_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. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define to the type of elements in the array set by `getgroups'. Usually + this is either `int' or `gid_t'. */ +#ifndef USED_FOR_TARGET +#define GETGROUPS_T gid_t +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define to 1 if you have the `alphasort' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ALPHASORT 1 +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GOTOFF_IN_DATA 0 +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_FFREEP 1 +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if <time.h> defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 0 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the <direct.h> header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the <fcntl.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define if your assembler uses the new HImode fild and fist notation. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_FILDS_FISTS 1 +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_WEAKREF */ +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if system unwind library has _Unwind_GetIPInfo. */ +#define HAVE_GETIPINFO 1 + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ICONV */ +#endif + + +/* Define to 1 if you have the <iconv.h> header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ICONV_H */ +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define if you have a working <inttypes.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the <langinfo.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your <locale.h> file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the <ldfcn.h> header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SYSROOT */ +#endif + + +/* Define to 1 if you have the <limits.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the <locale.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if you have the <malloc.h> header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MALLOC_H */ +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the <memory.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `scandir' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SCANDIR 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the <stddef.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the <stdint.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the <stdlib.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the <strings.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the <string.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if <sys/times.h> defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the <sys/file.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the <sys/mman.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the <sys/param.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the <sys/resource.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the <sys/times.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the <sys/time.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the <sys/types.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the <time.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if you have the <unistd.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the <vfork.h> header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the <wchar.h> header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +/* #undef ICONV_CONST */ +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of a `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of a `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 8 +#endif + + +/* The size of a `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of a `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of a `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 8 +#endif + + +/* The size of a `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both <string.h> and <strings.h>. */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_LIBC_PROVIDES_SSP */ +#endif + + +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if location_t is fileline integer cookie. */ +#ifndef USED_FOR_TARGET +/* #undef USE_MAPPED_LOCATION */ +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +#ifndef USED_FOR_TARGET +/* #undef WORDS_BIGENDIAN */ +#endif + + +/* Always define this when using the GNU C Library */ +#ifndef USED_FOR_TARGET +/* #undef _GNU_SOURCE */ +#endif + + +/* Define to `int' if <sys/types.h> doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef gid_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `int' if <sys/types.h> does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to \`long' if <sys/resource.h> doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if <sys/types.h> does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to `int' if <sys/types.h> doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef uid_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/gnu/usr.bin/cc/cc_tools/openbsd-native.h b/gnu/usr.bin/cc/cc_tools/openbsd-native.h new file mode 100644 index 00000000000..30a6695e955 --- /dev/null +++ b/gnu/usr.bin/cc/cc_tools/openbsd-native.h @@ -0,0 +1,48 @@ +/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/freebsd-native.h,v 1.28.8.1 2009/04/15 03:14:26 kensmith Exp $ */ +/* $OpenBSD: openbsd-native.h,v 1.1 2009/10/15 20:50:21 robert Exp $ */ + +/* OPENBSD_NATIVE is defined when gcc is integrated into the OpenBSD + source tree so it can be configured appropriately without using + the GNU configure/build mechanism. */ + +#define OPENBSD_NATIVE 1 + +#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. */ + +/* Look for the include files in the system-defined places. */ +#define GPLUSPLUS_INCLUDE_DIR PREFIX"/include/g++" +#define GPLUSPLUS_BACKWARD_INCLUDE_DIR PREFIX"/include/g++/backward" +#define GCC_INCLUDE_DIR PREFIX"/include" +#ifdef CROSS_COMPILE +#define CROSS_INCLUDE_DIR PREFIX"/include" +#else +#define STANDARD_INCLUDE_DIR PREFIX"/include" +#endif + +/* Under OpenBSD, the normal location of the compiler back ends is the + /usr/libexec directory. + + ``cc --print-search-dirs'' gives: + install: STANDARD_EXEC_PREFIX/ + programs: STANDARD_EXEC_PREFIX:MD_EXEC_PREFIX + libraries: STANDARD_STARTFILE_PREFIX +*/ +#undef STANDARD_BINDIR_PREFIX /* We don't need one for now. */ +#define STANDARD_EXEC_PREFIX PREFIX"/lib/gcc-lib/" +#define STANDARD_LIBEXEC_PREFIX PREFIX"/lib/gcc-lib/" +#define TOOLDIR_BASE_PREFIX PREFIX +#undef MD_EXEC_PREFIX /* We don't want one. */ +#define FBSD_DATA_PREFIX PREFIX"/libdata/gcc/" + +/* Under OpenBSD, the normal location of the various *crt*.o files is the + /usr/lib directory. */ + +#undef MD_STARTFILE_PREFIX /* We don't need one for now. */ +#define STANDARD_STARTFILE_PREFIX PREFIX"/lib/" +#define STARTFILE_PREFIX_SPEC PREFIX"/lib/" +#define STANDARD_BINDIR_PREFIX PREFIX"/bin/" + +/* OpenBSD is 4.4BSD derived */ +#define bsd4_4 diff --git a/gnu/usr.bin/cc/cc_tools/size-host.h b/gnu/usr.bin/cc/cc_tools/size-host.h new file mode 100644 index 00000000000..ca5dcdb2a2b --- /dev/null +++ b/gnu/usr.bin/cc/cc_tools/size-host.h @@ -0,0 +1,48 @@ +/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/size-host.h,v 1.1.8.1 2009/04/15 03:14:26 kensmith Exp $ */ +/* $OpenBSD: size-host.h,v 1.1 2009/10/15 20:50:21 robert Exp $ */ + +#ifdef SIZEOF_INT +# undef SIZEOF_INT +#endif + +#ifdef SIZEOF_SHORT +# undef SIZEOF_SHORT +#endif + +#ifdef SIZEOF_LONG +# undef SIZEOF_LONG +#endif + +#ifdef SIZEOF_VOID_P +# undef SIZEOF_VOID_P +#endif + +#ifdef SIZEOF_LONG_LONG +# undef SIZEOF_LONG_LONG +#endif + +#ifdef HOST_WIDE_INT +# undef HOST_WIDE_INT +#endif + +#define SIZEOF_INT 4 +#define SIZEOF_SHORT 2 +#define SIZEOF_LONG_LONG 8 + +#if __LP64__ +#define SIZEOF_LONG 8 +#define SIZEOF_VOID_P 8 +#define HOST_WIDE_INT long +#else +#define SIZEOF_LONG 4 +#define SIZEOF_VOID_P 4 +#define HOST_WIDE_INT long long +#endif + +#ifdef WORDS_BIGENDIAN +#undef WORDS_BIGENDIAN +#endif + +#if defined(__sparc64__) || defined(__ARMEB__) +#define WORDS_BIGENDIAN 1 +#endif diff --git a/gnu/usr.bin/cc/collect2/Makefile b/gnu/usr.bin/cc/collect2/Makefile new file mode 100644 index 00000000000..17fb501fc8f --- /dev/null +++ b/gnu/usr.bin/cc/collect2/Makefile @@ -0,0 +1,22 @@ +# $FreeBSD: src/gnu/usr.bin/cc/collect2/Makefile,v 1.9.20.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:20 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.ver" + +.PATH: ${GCCDIR} + +PROG= collect2 +SRCS= collect2.c tlink.c version.c +NOMAN= Yes +BINDIR= /usr/lib/gcc-lib/${GCC_TARGET}/${BASEVER} + +LDADD= ${LIBIBERTY} + +beforeinstall: + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${DIRMODE} \ + ${DESTDIR}${BINDIR} + +.include <bsd.prog.mk> diff --git a/gnu/usr.bin/cc/cpp/Makefile b/gnu/usr.bin/cc/cpp/Makefile new file mode 100644 index 00000000000..f9e2a7b020a --- /dev/null +++ b/gnu/usr.bin/cc/cpp/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD: src/gnu/usr.bin/cc/cpp/Makefile,v 1.27.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:20 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.fe" + +PROG= cpp +SRCS+= cppspec.c + +.include <bsd.prog.mk> diff --git a/gnu/usr.bin/cc/doc/Makefile b/gnu/usr.bin/cc/doc/Makefile new file mode 100644 index 00000000000..63ef7d509e5 --- /dev/null +++ b/gnu/usr.bin/cc/doc/Makefile @@ -0,0 +1,76 @@ +# $FreeBSD: src/gnu/usr.bin/cc/doc/Makefile,v 1.14.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1.1.1 2009/10/15 20:50:20 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.ver" + +.PATH: ${GCCDIR}/doc ${GCCDIR}/doc/include + +INFOS= gcc cpp gccint cppinternals +INFOF= ${INFOS:S/$/.info/} + +INFOSECTION= "Gcc 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 gcc-common.texi gcc-vers.texi frontends.texi \ + standards.texi invoke.texi extend.texi md.texi objc.texi \ + gcov.texi trouble.texi bugreport.texi service.texi \ + contribute.texi compat.texi funding.texi gnu.texi gpl.texi \ + fdl.texi contrib.texi cppenv.texi cppopts.texi \ + implement-c.texi + +gccint.info: gccint.texi gcc-common.texi gcc-vers.texi \ + contribute.texi makefile.texi configterms.texi options.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 funding.texi \ + gnu.texi gpl.texi fdl.texi contrib.texi languages.texi \ + sourcebuild.texi gty.texi libgcc.texi cfg.texi tree-ssa.texi \ + loop.texi + +cpp.info: cpp.texi fdl.texi cppenv.texi cppopts.texi gcc-common.texi \ + gcc-vers.texi + +cppinternals.info: cppinternals.texi gcc-common.texi gcc-vers.texi + +MAKEINFOFLAGS+= -I ${GCCDIR}/doc -I ${GCCDIR}/doc/include + +gcc-vers.texi: + (echo "@set version-GCC $(BASEVER)"; \ + if [ "$(DEVPHASE)" = "experimental" ]; then \ + echo "@set DEVELOPMENT"; \ + else \ + echo "@clear DEVELOPMENT"; \ + fi; \ + echo "@set srcdir $(BSDSRCDIR)/gnu/lib/libiberty/src" ) > ${.TARGET} + +CLEANFILES= ${INFOF} gcc-vers.texi + +.for x in ${INFOS} +${x}.info: ${x}.texi + makeinfo --no-split -I ${.CURDIR} -I ${GCCDIR}/doc -I ${GCCDIR}/doc/include \ + ${x}.texi -o ${.TARGET} +.endfor + +all: ${INFOF} + +clean: _SUBDIRUSE + rm -f ${CLEANFILES} + +depend: + # Nothing here so far... + +install: ${INFOF} +.for x in ${INFOS} + install-info --quiet --section=${INFOSECTION} --entry=${INFOENTRY_${x}} \ + ${x}.info ${DESTDIR}/usr/share/info/dir +.endfor + ${INSTALL} -o ${BINOWN} -g ${LOCALEGRP} -m ${NONBINMODE} ${.ALLSRC} \ + ${DESTDIR}/usr/share/info + +.include <bsd.prog.mk> diff --git a/gnu/usr.bin/cc/gcov/Makefile b/gnu/usr.bin/cc/gcov/Makefile new file mode 100644 index 00000000000..e1b54dfaa26 --- /dev/null +++ b/gnu/usr.bin/cc/gcov/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD: src/gnu/usr.bin/cc/gcov/Makefile,v 1.5.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1.1.1 2009/10/15 20:50:20 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.ver" + +.PATH: ${GCCDIR} ${GCCDIR}/doc + +PROG= gcov +SRCS= gcov.c version.c errors.c +MAN= gcov.1 + +DPADD= ${LIBIBERTY} +LDADD= ${LIBIBERTY} + +.include <bsd.prog.mk> diff --git a/gnu/usr.bin/cc/include/Makefile b/gnu/usr.bin/cc/include/Makefile new file mode 100644 index 00000000000..ee1bc7c945b --- /dev/null +++ b/gnu/usr.bin/cc/include/Makefile @@ -0,0 +1,36 @@ +# $FreeBSD: src/gnu/usr.bin/cc/include/Makefile,v 1.9.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:20 robert Exp $ + +.include <bsd.own.mk> + +.include "${.CURDIR}/../Makefile.inc" +.include "${.CURDIR}/../Makefile.ver" + +.PATH: ${GCCDIR}/config/${GCC_CPU} + +.if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64" +INCS= emmintrin.h mmintrin.h pmmintrin.h xmmintrin.h mm_malloc.h +.elif ${TARGET_ARCH} == "arm" +INCS= mmintrin.h +.elif ${TARGET_ARCH} == "powerpc" +INCS= ppc-asm.h altivec.h spe.h +.endif + +mm_malloc.h: pmm_malloc.h + @rm -rf ${.TARGET} + @cp ${.ALLSRC} ${.TARGET} +CLEANFILES+= mm_malloc.h + +all: ${INCS} + +clean: _SUBDIRUSE + rm -f ${CLEANFILES} + +depend: + # Nothing here so far... + +install: ${INCS} + ${INSTALL} -C -o ${BINOWN} -g ${LOCALEGRP} -m ${NONBINMODE} ${.ALLSRC} \ + ${DESTDIR}/usr/include + +.include <bsd.obj.mk> diff --git a/gnu/usr.bin/cc/libcpp/Makefile b/gnu/usr.bin/cc/libcpp/Makefile new file mode 100644 index 00000000000..afb1829fbb1 --- /dev/null +++ b/gnu/usr.bin/cc/libcpp/Makefile @@ -0,0 +1,28 @@ +# $FreeBSD: src/gnu/usr.bin/cc/libcpp/Makefile,v 1.1.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:20 robert Exp $ + +# Use our headers in preference to ones from ../cc_tools. +CFLAGS+= -I${.CURDIR} -I. + +.include <bsd.own.mk> + +.PATH: ${GCCLIB}/libcpp + +LIB= cpp +SRCS= localedir.h +SRCS+= charset.c directives.c errors.c expr.c files.c \ + identifiers.c init.c lex.c line-map.c macro.c mkdeps.c \ + pch.c symtab.c traditional.c + +NOPROFILE= Yes +NOPIC= Yes + +localedir.h: Makefile + echo '#define LOCALEDIR "/usr/share/locale"' > localedir.h +SRCS+= localedir.h +CLEANFILES+= localedir.h + +install: + # Nothing here so far... + +.include <bsd.lib.mk> diff --git a/gnu/usr.bin/cc/libcpp/config.h b/gnu/usr.bin/cc/libcpp/config.h new file mode 100644 index 00000000000..202a633d718 --- /dev/null +++ b/gnu/usr.bin/cc/libcpp/config.h @@ -0,0 +1,284 @@ +/* config.h. Generated by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ +/* $OpenBSD: config.h,v 1.1 2009/10/15 20:50:20 robert Exp $ */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the <iconv.h> header file. */ +/* #undef HAVE_ICONV_H */ + +/* Define to 1 if you have the <inttypes.h> header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the <locale.h> header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the <memory.h> header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the <stddef.h> header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the <stdint.h> header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the <strings.h> header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the <sys/file.h> header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if <sys/types.h> defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of a `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of a `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both <string.h> and <strings.h>. */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your <sys/time.h> declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long' if <sys/types.h> does not define. */ +/* #undef off_t */ + +/* Define to `unsigned' if <sys/types.h> does not define. */ +/* #undef size_t */ diff --git a/gnu/usr.bin/cc/libdecnumber/Makefile b/gnu/usr.bin/cc/libdecnumber/Makefile new file mode 100644 index 00000000000..da24c9be09b --- /dev/null +++ b/gnu/usr.bin/cc/libdecnumber/Makefile @@ -0,0 +1,21 @@ +# $FreeBSD: src/gnu/usr.bin/cc/libdecnumber/Makefile,v 1.1.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:19 robert Exp $ + +# Use our headers in preference to ones from ../cc_tools. +CFLAGS+= -I${.CURDIR} -I. + +.include <bsd.own.mk> + +.PATH: ${GCCLIB}/libdecnumber + +LIB= decnumber +SRCS= decNumber.c decContext.c decUtility.c \ + decimal32.c decimal64.c decimal128.c + +NOPROFILE= Yes +NOPIC= Yes + +install: + # Nothing here so far... + +.include <bsd.lib.mk> diff --git a/gnu/usr.bin/cc/libdecnumber/config.h b/gnu/usr.bin/cc/libdecnumber/config.h new file mode 100644 index 00000000000..3fbeda9462c --- /dev/null +++ b/gnu/usr.bin/cc/libdecnumber/config.h @@ -0,0 +1,78 @@ +/* config.h. Generated by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ +/* $OpenBSD */ + +/* Define to 1 if you have the <ctype.h> header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the <inttypes.h> header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the <memory.h> header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the <stddef.h> header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the <stdint.h> header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the <stdio.h> header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the <strings.h> header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of a `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of a `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of a `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of a `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of a `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long' if <sys/types.h> does not define. */ +/* #undef off_t */ diff --git a/gnu/usr.bin/cc/libgcc/Makefile b/gnu/usr.bin/cc/libgcc/Makefile new file mode 100644 index 00000000000..5896b4c4558 --- /dev/null +++ b/gnu/usr.bin/cc/libgcc/Makefile @@ -0,0 +1,289 @@ +# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.58.8.1 2009/04/15 03:14:26 kensmith Exp $ +# $OpenBSD: Makefile,v 1.1 2009/10/15 20:50:19 robert Exp $ + +.include <bsd.own.mk> + +GCCLIB= ${.CURDIR}/../../../gcc +GCCDIR= ${GCCLIB}/gcc + +.include "${.CURDIR}/../Makefile.ver" + +LIB= gcc +LIBDIR= /usr/lib/gcc-lib/${GCC_TARGET}/${BASEVER} + +NOPROFILE= Yes +NOPIC= Yes + +.include "${.CURDIR}/../Makefile.tgt" + +.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}/config ${GCCDIR} + +CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \ + -DHAVE_GTHR_DEFAULT \ + -I${GCCLIB}/include \ + -I${GCCDIR}/config -I${GCCDIR} -I. \ + -I${.CURDIR}/../cc_tools + +LDFLAGS+= -nodefaultlibs +LDADD+= -lc + +OBJS= # added to below in various ways depending on TARGET_ARCH + +#--------------------------------------------------------------------------- +# +# When upgrading GCC, get the following defintions straight from Makefile.in +# +# Library members defined in libgcc2.c. +LIB2FUNCS= _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 \ + _cmpdi2 _ucmpdi2 _clear_cache \ + _enable_execute_stack _trampoline __main _absvsi2 _absvdi2 _addvsi3 \ + _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors \ + _ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2 _ctzsi2 _ctzdi2 _popcount_tab \ + _popcountsi2 _popcountdi2 _paritysi2 _paritydi2 _powisf2 _powidf2 \ + _powixf2 _powitf2 _mulsc3 _muldc3 _mulxc3 _multc3 _divsc3 _divdc3 \ + _divxc3 _divtc3 + +# The floating-point conversion routines that involve a single-word integer. +.for mode in sf df xf +LIB2FUNCS+= _fixuns${mode}si +.endfor + +# Likewise double-word routines. +.for mode in sf df xf tf +LIB2FUNCS+= _fix${mode}di _fixuns${mode}di +LIB2FUNCS+= _floatdi${mode} _floatundi${mode} +.endfor + +LIB2ADD = $(LIB2FUNCS_EXTRA) +LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA) + +# Additional sources to handle exceptions; overridden by targets as needed. +LIB2ADDEH = unwind-dw2.c unwind-sjlj.c gthr-gnat.c \ + unwind-c.c +LIB2ADDEHSTATIC = $(LIB2ADDEH) +LIB2ADDEHSHARED = $(LIB2ADDEH) + +# List of extra C and assembler files to add to static and shared libgcc2. +# Assembler files should have names ending in `.asm'. +LIB2FUNCS_EXTRA = + +# List of extra C and assembler files to add to static libgcc2. +# Assembler files should have names ending in `.asm'. +LIB2FUNCS_STATIC_EXTRA = + +# Defined in libgcc2.c, included only in the static library. +# KAN: Excluded _sf_to_tf and _df_to_tf as TPBIT_FUNCS are not +# built on any of our platforms. +LIB2FUNCS_ST = _eprintf __gcc_bcmp + +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 + +TPBIT_FUNCS = _pack_tf _unpack_tf _addsub_tf _mul_tf _div_tf \ + _fpcmp_parts_tf _compare_tf _eq_tf _ne_tf _gt_tf _ge_tf \ + _lt_tf _le_tf _unord_tf _si_to_tf _tf_to_si _negate_tf _make_tf \ + _tf_to_df _tf_to_sf _thenan_tf _tf_to_usi _usi_to_tf + +# 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 + +#----------------------------------------------------------------------- +# +# Platform specific bits. +# When upgrading GCC, get the following definitions from config/<cpu>/t-* +# +.if ${TARGET_ARCH} == "arm" +# from config/arm/t-strongarm-elf +CFLAGS+= -Dinhibit_libc -fno-inline +LIB1ASMSRC = lib1funcs.asm +LIB1ASMFUNCS = _dvmd_tls _bb_init_func +LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c + +# Not now +#LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func +#LIB1ASMFUNCS+= _call_via_rX _interwork_call_via_rX \ +# _lshrdi3 _ashrdi3 _ashldi3 \ +# _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ +# _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ +# _fixsfsi _fixunssfsi _floatdidf _floatdisf +.endif + +.if ${TARGET_ARCH} == "powerpc" +# from config/rs6000/t-ppccomm +LIB2FUNCS_EXTRA = tramp.asm darwin-ldouble.c +LIB2FUNCS_STATIC_EXTRA = eabi.asm +.endif + +.if ${TARGET_ARCH} == "sparc64" +# from config/sparc/t-elf +LIB1ASMSRC = lb1spc.asm +LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3 +.endif + +#----------------------------------------------------------------------- + +# 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:= ${LIB2FUNCS:S/${sym}//g} +LIB2_DIVMOD_FUNCS:= ${LIB2_DIVMOD_FUNCS:S/${sym}//g} +.endfor +.endif + +COMMONHDRS= tm.h tconfig.h options.h unwind.h gthr-default.h + +#----------------------------------------------------------------------- +# +# Helpful shortcuts for compiler invocations. +# +#HIDE = -fvisibility=hidden -DHIDE_EXPORTS +CC_T = ${CC} -c ${CFLAGS} ${HIDE} -fPIC +CC_P = ${CC} -c ${CFLAGS} ${HIDE} -p -fPIC +CC_S = ${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED + +#----------------------------------------------------------------------- +# +# Functions from libgcc2.c +# +STD_CFLAGS = +DIV_CFLAGS = -fexceptions -fnon-call-exceptions + +STD_FUNCS = ${LIB2FUNCS} +DIV_FUNCS = ${LIB2_DIVMOD_FUNCS} + +STD_CFILE = libgcc2.c +DIV_CFILE = libgcc2.c + +OBJ_GRPS = STD DIV + +#----------------------------------------------------------------------- +# +# Floating point emulation functions +# +.if ${TARGET_ARCH} == "armNOT_YET" || ${TARGET_ARCH} == "powerpc" || \ + ${TARGET_ARCH} == "sparc64" + +FPBIT_CFLAGS = -DFINE_GRAINED_LIBRARIES -DFLOAT +DPBIT_CFLAGS = -DFINE_GRAINED_LIBRARIES + +FPBIT_CFILE = config/fp-bit.c +DPBIT_CFILE = config/fp-bit.c + +OBJ_GRPS += FPBIT DPBIT +.endif + +#----------------------------------------------------------------------- +# +# Generic build rules for object groups defined above +# +.for T in ${OBJ_GRPS} +${T}_OBJS_T = ${${T}_FUNCS:S/$/.o/} +${T}_OBJS_P = ${${T}_FUNCS:S/$/.po/} +${T}_OBJS_S = ${${T}_FUNCS:S/$/.So/} +OBJS += ${${T}_FUNCS:S/$/.o/} + +${${T}_OBJS_T}: ${${T}_CFILE} ${COMMONHDRS} + ${CC_T} ${${T}_CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} +${${T}_OBJS_P}: ${${T}_CFILE} ${COMMONHDRS} + ${CC_P} ${${T}_CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} +${${T}_OBJS_S}: ${${T}_CFILE} ${COMMONHDRS} + ${CC_S} ${${T}_CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} +.endfor + +#----------------------------------------------------------------------- +# +# Extra objects coming from separate files +# +.if !empty(LIB2ADD) +OBJS += ${LIB2ADD:R:S/$/.o/} +SOBJS += ${LIB2ADD:R:S/$/.So/} +POBJS += ${LIB2ADD:R:S/$/.po/} +.endif + +#----------------------------------------------------------------------- +# +# Objects that should be in static library only. +# +SYMS_ST = ${LIB2FUNCS_ST} ${LIB2ADD_ST} +STAT_OBJS_T = ${SYMS_ST:S/$/.o/} +STAT_OBJS_P = ${SYMS_ST:S/$/.po/} +STATICOBJS = ${SYMS_ST:S/$/.o/} + +${STAT_OBJS_T}: ${STD_CFILE} ${COMMONHDRS} + ${CC_T} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} +${STAT_OBJS_P}: ${STD_CFILE} ${COMMONHDRS} + ${CC_P} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} + +#----------------------------------------------------------------------- +# +# Assembler files. +# +.if defined(LIB1ASMSRC) +ASM_T = ${LIB1ASMFUNCS:S/$/.o/} +ASM_P = ${LIB1ASMFUNCS:S/$/.po/} +ASM_S = ${LIB1ASMFUNCS:S/$/.So/} +ASM_V = ${LIB1ASMFUNCS:S/$/.vis/} +OBJS += ${LIB1ASMFUNCS:S/$/.o/} + +${ASM_T}: ${LIB1ASMSRC} ${.PREFIX}.vis + ${CC} -x assembler-with-cpp -c ${CFLAGS} -DL${.PREFIX} \ + -o ${.TARGET} -include ${.PREFIX}.vis ${.ALLSRC:N*.h:N*.vis} +${ASM_P}: ${LIB1ASMSRC} ${.PREFIX}.vis + ${CC} -x assembler-with-cpp -p -c ${CFLAGS} -DL${.PREFIX} \ + -o ${.TARGET} -include ${.PREFIX}.vis ${.ALLSRC:N*.h:N*.vis} +${ASM_S}: ${LIB1ASMSRC} + ${CC} -x assembler-with-cpp -c ${PICFLAG} ${CFLAGS} -DL${.PREFIX} \ + -o ${.TARGET} ${.ALLSRC:N*.h} +${ASM_V}: ${LIB1ASMSRC} + ${CC} -x assembler-with-cpp -c ${CFLAGS} -DL${.PREFIX} \ + -o ${.PREFIX}.vo ${.ALLSRC:N*.h} + ( nm -pg ${.PREFIX}.vo | \ + awk 'NF == 3 && $$2 !~ /^[UN]$$/ { print "\t.hidden ", $$3 }'\ + ) > ${.TARGET} + +CLEANFILES += ${ASM_V} ${ASM_V:R:S/$/.vo/} +.endif + +#----------------------------------------------------------------------- +# +# Exception handling / unwinding support. +# +EH_OBJS_T = ${LIB2ADDEHSTATIC:R:S/$/.o/} +EH_OBJS_P = ${LIB2ADDEHSTATIC:R:S/$/.po/} +EH_OBJS_S = ${LIB2ADDEHSHARED:R:S/$/.So/} +EH_CFLAGS = -fexceptions -D__GLIBC__=3 -DElfW=__ElfN +SOBJS += ${EH_OBJS_S} + +.for _src in ${LIB2ADDEHSTATIC} +${_src:R:S/$/.o/}: ${_src} ${COMMONHDRS} + ${CC_T} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC} +${_src:R:S/$/.po/}: ${_src} ${COMMONHDRS} + ${CC_P} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC} +.endfor + +#----------------------------------------------------------------------- +# +# Generated headers +# +${COMMONHDRS}: ${.CURDIR}/../cc_tools/Makefile + ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET} + +CLEANFILES += ${COMMONHDRS} +CLEANFILES += cs-*.h option* + +beforeinstall: + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${DIRMODE} \ + ${DESTDIR}${LIBDIR} + +.include <bsd.lib.mk> + +.SUFFIXES: .vis .vo |