diff options
author | jasone <jasone@FreeBSD.org> | 2000-07-12 09:43:01 +0800 |
---|---|---|
committer | jasone <jasone@FreeBSD.org> | 2000-07-12 09:43:01 +0800 |
commit | 02e06a30d893968695c524fbdea3bbe040ceef61 (patch) | |
tree | 47e069e837e65f5e4605d5add70241f62db98263 | |
parent | c794223a7c522f354a4879bfc762f004a943953e (diff) | |
download | freebsd-ports-gnome-02e06a30d893968695c524fbdea3bbe040ceef61.tar.gz freebsd-ports-gnome-02e06a30d893968695c524fbdea3bbe040ceef61.tar.zst freebsd-ports-gnome-02e06a30d893968695c524fbdea3bbe040ceef61.zip |
Rather than copying the entirety of src/gnu/lib/libgcc/Makefile, .include it
and override variables as necessary. This vastly shortens this file, makes
tracking toolchain changes more automatic, and makes the linuxthreads port
build on both -stable and -current.
-rw-r--r-- | devel/linuxthreads/files/Makefile.libgcc_r | 167 |
1 files changed, 6 insertions, 161 deletions
diff --git a/devel/linuxthreads/files/Makefile.libgcc_r b/devel/linuxthreads/files/Makefile.libgcc_r index aa8c33f35638..c4d9ec977c23 100644 --- a/devel/linuxthreads/files/Makefile.libgcc_r +++ b/devel/linuxthreads/files/Makefile.libgcc_r @@ -1,173 +1,18 @@ -# $FreeBSD: /tmp/pcvs/ports/devel/linuxthreads/files/Makefile.libgcc_r,v 1.1 1999-12-02 02:14:14 julian Exp $ +# $FreeBSD: /tmp/pcvs/ports/devel/linuxthreads/files/Makefile.libgcc_r,v 1.2 2000-07-12 01:43:01 jasone Exp $ -GCCDIR= /usr/src/contrib/gcc DESTDIR=/usr/local/ LIBDIR= lib/ -.PATH: ${GCCDIR}/cp ${GCCDIR} - -LIB= lgcc_r CFLAGS+=-D_PTHREADS -I../ +.include "/usr/src/gnu/lib/libgcc/Makefile" -# Install libgcc_pic.a, since ld.so uses it. -INSTALL_PIC_ARCHIVE= yes - -# -# XXX This is a hack, but it seems to work. libgcc1.a is supposed to be -# compiled by the native compiler, and libgcc2.a is meant to be compiled -# by *this* version of gcc. # -# Normally, this does not make any difference, since we only have gcc, but -# when bootstrapping from gcc-2.6.3, we have to use the freshly built 2.7.2 -# compiler for some of the libgcc2.c __attribute__ stuff. +# Override various things that are set in the main Makefile. # -# We now depend on a bootstrap pass (normally in `make world') to build -# and install the new version of gcc before we get here. This makes -# finding the new version (XCC) easy but may break finding the old version -# (CC). -# -XCC= ${CC} -XCXX= ${CXX} - -# Members of libgcc1.a. -LIB1FUNCS= _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ - _lshrsi3 _ashrsi3 _ashlsi3 \ - _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 \ - _fixdfsi _fixsfsi _floatsidf _floatsisf _truncdfsf2 _extendsfdf2 \ - _addsf3 _negsf2 _subsf3 _mulsf3 _divsf3 \ - _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \ - _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2 - -# Library members defined in libgcc2.c. -LIB2FUNCS= _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \ - _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 \ - _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf \ - _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi \ - _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi \ - _fixtfdi _fixunstfdi _floatditf \ - __gcc_bcmp _varargs __dummy _eprintf \ - _bb _shtab _clear_cache _trampoline __main _exit _ctors \ - _eh _pure - -# Library members defined in new1.cc. -NEW1FUNCS= _op_new _op_newnt - -# Library members defined in new2.cc. -NEW2FUNCS= _op_vnew _op_vnewnt _op_delete _op_delnt _op_vdel _op_vdelnt - -SRCS= frame.c tinfo.cc tinfo2.cc new.cc exception.cc - -CFLAGS+= -I${GCCDIR}/config -I${GCCDIR} -I. -CFLAGS+= -fexceptions -CFLAGS+= -DIN_GCC -CXXFLAGS+= -I${GCCDIR}/cp/inc -CXXFLAGS+= -nostdinc++ - -COMMONHDRS= config.h tconfig.h tm.h -CLEANFILES+= ${COMMONHDRS} -SRCS+= ${COMMONHDRS} - -LIB1OBJS= ${LIB1FUNCS:S/$/.o/} -LIB2OBJS= ${LIB2FUNCS:S/$/.o/} -LIB1SOBJS= ${LIB1FUNCS:S/$/.So/} -LIB2SOBJS= ${LIB2FUNCS:S/$/.So/} -LIB1POBJS= ${LIB1FUNCS:S/$/.po/} -LIB2POBJS= ${LIB2FUNCS:S/$/.po/} -NEW1OBJS= ${NEW1FUNCS:S/$/.o/} -NEW2OBJS= ${NEW2FUNCS:S/$/.o/} -NEW1SOBJS= ${NEW1FUNCS:S/$/.So/} -NEW2SOBJS= ${NEW2FUNCS:S/$/.So/} -NEW1POBJS= ${NEW1FUNCS:S/$/.po/} -NEW2POBJS= ${NEW2FUNCS:S/$/.po/} - -OBJS= ${LIB1OBJS} ${LIB2OBJS} ${NEW1OBJS} ${NEW2OBJS} - -config.h: - echo '#include <${MACHINE_ARCH}/xm-${MACHINE_ARCH}.h>' > ${.TARGET} - echo '#include <xm-freebsd.h>' >> ${.TARGET} -tconfig.h: - echo '#include "gansidecl.h"' > ${.TARGET} - echo '#include "${MACHINE_ARCH}/xm-${MACHINE_ARCH}.h"' >> ${.TARGET} +GCCDIR:=$(GCCDIR:T:S/^/\/usr\/src\/contrib\/&/) -# KEEP THIS IN SYNC with src/gcc/usr.bin/cc/cc_tools/Makefile !! -tm.h: - echo '#include "${MACHINE_ARCH}/${MACHINE_ARCH}.h"' > ${.TARGET} -.if ${MACHINE_ARCH} == "i386" - echo '#include "${MACHINE_ARCH}/att.h"' >> ${.TARGET} - echo '#include "svr4.h"' >> ${.TARGET} -.endif - echo '#include <freebsd.h>' >> ${.TARGET} - echo '#include "${MACHINE_ARCH}/freebsd.h"' >> ${.TARGET} -.if ${MACHINE_ARCH} == "i386" - echo '#include "${MACHINE_ARCH}/perform.h"' >> ${.TARGET} -.endif +LIB= lgcc_r -${OBJS}: ${COMMONHDRS} - -${LIB1OBJS}: libgcc1.c - ${CC} -c ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} - @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} - -${LIB2OBJS}: libgcc2.c - ${XCC} -c ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} - @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} - -${NEW1OBJS}: new1.cc - ${XCXX} -c ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc} - @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} - -${NEW2OBJS}: new2.cc - ${CXX} -c ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc} - @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} - -.if !defined(NOPIC) -${LIB1SOBJS}: libgcc1.c - ${CC} -c -fpic ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} - @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} - -${LIB2SOBJS}: libgcc2.c - ${XCC} -c -fpic ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} - @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} - -${NEW1SOBJS}: new1.cc - ${XCXX} -c -fpic ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc} - @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} - -${NEW2SOBJS}: new2.cc - ${CXX} -c -fpic ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc} - @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} -.endif - -.if !defined(NOPROFILE) -${LIB1POBJS}: libgcc1.c - ${CC} -c -p ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} - @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} - -${LIB2POBJS}: libgcc2.c - ${XCC} -c -p ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} - @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} - -${NEW1POBJS}: new1.cc - ${XCXX} -c -p ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc} - @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} - -${NEW2POBJS}: new2.cc - ${CXX} -c -p ${CXXFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.cc} - @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} - @mv ${.TARGET}.tmp ${.TARGET} -.endif - -.include <bsd.lib.mk> +.PATH: ${GCCDIR}/cp ${GCCDIR} |