aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjasone <jasone@FreeBSD.org>2000-07-12 09:43:01 +0800
committerjasone <jasone@FreeBSD.org>2000-07-12 09:43:01 +0800
commit02e06a30d893968695c524fbdea3bbe040ceef61 (patch)
tree47e069e837e65f5e4605d5add70241f62db98263
parentc794223a7c522f354a4879bfc762f004a943953e (diff)
downloadfreebsd-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_r167
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}