mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
Submitted by: "Russell L. Carter" <rcarter@consys.com>
more tuning
This commit is contained in:
parent
8020a1e16b
commit
a49359d57b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=23545
4 changed files with 186 additions and 3 deletions
|
@ -34,7 +34,16 @@ post-extract:
|
|||
${CP} -p ${threads_files} ${WRKSRC}/. ; \
|
||||
${CP} -p Examples/ex6.c ${WRKSRC}/Examples/.
|
||||
|
||||
post-build:
|
||||
@cd ${FILESDIR} ; \
|
||||
${MKDIR} ${WRKSRC}/libgcc_r ; \
|
||||
${LN} -s ${FILESDIR}/Makefile.libgcc_r ${WRKSRC}/libgcc_r/Makefile
|
||||
@cd ${WRKSRC}/libgcc_r ; \
|
||||
${MAKE}
|
||||
|
||||
pre-install:
|
||||
@cd ${WRKSRC}/libgcc_r ; \
|
||||
${MAKE} install
|
||||
|
||||
post-install:
|
||||
@sh ${PKGDIR}/INSTALL ${PKGNAME} POST-INSTALL
|
||||
|
|
173
devel/linuxthreads/files/Makefile.libgcc_r
Normal file
173
devel/linuxthreads/files/Makefile.libgcc_r
Normal file
|
@ -0,0 +1,173 @@
|
|||
# $FreeBSD: /tmp/pcvs/ports/devel/linuxthreads/files/Makefile.libgcc_r,v 1.1 1999-12-02 02:14:14 julian Exp $
|
||||
|
||||
GCCDIR= /usr/src/contrib/gcc
|
||||
DESTDIR=/usr/local/
|
||||
LIBDIR= lib/
|
||||
|
||||
.PATH: ${GCCDIR}/cp ${GCCDIR}
|
||||
|
||||
LIB= lgcc_r
|
||||
CFLAGS+=-D_PTHREADS -I../
|
||||
|
||||
|
||||
# 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.
|
||||
#
|
||||
# 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}
|
||||
|
||||
# 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
|
||||
|
||||
${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>
|
|
@ -23,8 +23,8 @@ diff -ur ./Makefile ../linuxthreads-0.71.new/Makefile
|
|||
+
|
||||
+.PATH: ${.CURDIR}/libc_r
|
||||
+
|
||||
+#CFLAGS+=-Wall -O
|
||||
+CFLAGS+=-g -O0 -Wall -DDEBUG
|
||||
+CFLAGS+=-Wall
|
||||
+#CFLAGS+=-g -O0 -Wall -DDEBUG
|
||||
+CFLAGS+=-DCOMPILING_LINUXTHREADS
|
||||
+
|
||||
+#This option should not be enabled unless libc has been patched
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
lib/liblthread.a
|
||||
lib/liblthread_p.a
|
||||
lib/liblthread.so
|
||||
lib/liblthread.so.0
|
||||
lib/liblgcc_r.a
|
||||
lib/liblgcc_r_pic.a
|
||||
include/pthread/linuxthreads/pthread.h
|
||||
include/pthread/linuxthreads/pthread_rw.h
|
||||
include/pthread/linuxthreads/pthread_stack.h
|
||||
|
|
Loading…
Add table
Reference in a new issue