Date: Thu, 21 Dec 2000 10:00:03 -0800 (PST) From: Naohiko Tsuji <yakisoba@osaka.interq.or.jp> To: freebsd-bugs@FreeBSD.org Subject: Re: gnu/23598: Merge libgcc_r with libgcc Message-ID: <200012211800.eBLI03N87052@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR gnu/23598; it has been noted by GNATS. From: Naohiko Tsuji <yakisoba@osaka.interq.or.jp> To: freebsd-gnats-submit@FreeBSD.org Cc: Subject: Re: gnu/23598: Merge libgcc_r with libgcc Date: Fri, 22 Dec 2000 02:50:33 +0900 So sorry, building in the GCC original make tree is fine, but "make buildworld" in the FreeBSD make tree is not. I have to improve "gnu/lib/libgcc/Makefile". But I rewrite it because of some reasons. * Use some header files in the "gnu/usr.bin/cc/cc_tools". * "make depend" work fine. * XCC -> CC for libgcc2, CC -> OLDCC for libgcc1 if need it. * Use <bsd.lib.mk> rules as we can. * -p, CXX, XCXX is confused. --- BEGIN gnu/lib/libgcc/Makefile --- # $FreeBSD$ GCCDIR= ${.CURDIR}/../../../contrib/gcc XCCDIR= ../../usr.bin/cc .PATH: ${GCCDIR}/cp ${GCCDIR} LIB= gcc # 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. # OLDCC?= ${CC} CCLIBFLAGS?= -O # 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= ${LIB1FUNCS:S/$/.c/} SRCS+= ${LIB2FUNCS:S/$/.c/} SRCS+= frame.c .if !defined(NO_CXX) SRCS+= ${NEW1FUNCS:S/$/.cc/} SRCS+= ${NEW2FUNCS:S/$/.cc/} SRCS+= tinfo.cc tinfo2.cc new.cc exception.cc .endif INCLUDES= .if exists(${.OBJDIR}/${XCCDIR}/cc_tools) INCLUDES+= -I${.OBJDIR}/${XCCDIR}/cc_tools .endif INCLUDES+= -I${.CURDIR}/${XCCDIR}/cc_tools INCLUDES+= -I${GCCDIR}/config -I${GCCDIR} CFLAGS+= -fexceptions CFLAGS+= -DIN_GCC CFLAGS+= -DIN_LIBGCC2 CFLAGS+= -DHAVE_GTHR_DEFAULT .if !defined(NO_CXX) CFLAGS+= -nostdinc++ CFLAGS+= -I${GCCDIR}/cp/inc .endif CFLAGS+= ${INCLUDES} ${LIB1FUNCS:S/$/.c/}: ${GCCDIR}/libgcc1.c @rm -f ${.TARGET} @echo "#define L${.PREFIX}" > ${.TARGET} @cat ${GCCDIR}/libgcc1.c >> ${.TARGET} CLEANFILES += ${LIB1FUNCS:S/$/.c/} ${LIB1FUNCS:S/$/.o/}: ${OLDCC} ${CCLIBFLAGS} ${INCLUDES} -c ${.IMPSRC} -o ${.TARGET} @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} @mv ${.TARGET}.tmp ${.TARGET} ${LIB1FUNCS:S/$/.po/}: ${OLDCC} -pg ${CCLIBFLAGS} ${INCLUDES} -c ${.IMPSRC} -o ${.TARGET} @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} @mv ${.TARGET}.tmp ${.TARGET} ${LIB1FUNCS:S/$/.So/}: ${OLDCC} ${PICFLAG} -DPIC ${CCLIBFLAGS} ${INCLUDES} -c ${.IMPSRC} -o ${.TARGET} @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} @mv ${.TARGET}.tmp ${.TARGET} ${LIB2FUNCS:S/$/.c/}: ${GCCDIR}/libgcc2.c @rm -f ${.TARGET} @echo "#define L${.PREFIX}" > ${.TARGET} @cat ${GCCDIR}/libgcc2.c >> ${.TARGET} CLEANFILES += ${LIB2FUNCS:S/$/.c/} ${NEW1FUNCS:S/$/.cc/}: ${GCCDIR}/cp/new1.cc @rm -f ${.TARGET} @echo "#define L${.PREFIX}" > ${.TARGET} @cat ${GCCDIR}/cp/new1.cc >> ${.TARGET} CLEANFILES += ${NEW1FUNCS:S/$/.cc/} ${NEW2FUNCS:S/$/.cc/}: ${GCCDIR}/cp/new2.cc @rm -f ${.TARGET} @echo "#define L${.PREFIX}" > ${.TARGET} @cat ${GCCDIR}/cp/new2.cc >> ${.TARGET} CLEANFILES += ${NEW2FUNCS:S/$/.cc/} .include <bsd.lib.mk> --- END gnu/lib/libgcc/Makefile --- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200012211800.eBLI03N87052>