diff options
author | kan <kan@FreeBSD.org> | 2007-05-19 04:25:59 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2007-05-19 04:25:59 +0000 |
commit | ebf45ed0c9ac33acf511d695cfa9c23664f0096f (patch) | |
tree | c672216e954c97dc45e1ed2b7fc903556dfde7b5 /gnu/lib | |
parent | bbc340f2f6b6d86b4e93b75cf2dc5f1ca503724b (diff) | |
download | FreeBSD-src-ebf45ed0c9ac33acf511d695cfa9c23664f0096f.zip FreeBSD-src-ebf45ed0c9ac33acf511d695cfa9c23664f0096f.tar.gz |
Update bmake glue to build GCC 4.2.
Also:
Switch FreeBSD to use libgcc_s.so.1.
Use dl_iterate_phdr to locate shared objects' exception frame
info instead of depending on older register_frame_info machinery.
This allows us to avoid depending on libgcc_s.so.1 in binaries
that do not use exception handling directly. As an additional
benefit it breaks circular libc <=> libgcc_s.so.1 dependency too.
Build newly added libgomp.so.1 library, the runtime support
bits for OpenMP.
Build LGPLed libssp library. Our libc provides our own
BSD-licensed SSP callbacks implementation, so this library
is only built to benefit applications that have hadcoded
knowledge of libssp.so and libssp_nonshared.a. When linked
in from command line, these libraries override libc
implementation.
Diffstat (limited to 'gnu/lib')
-rw-r--r-- | gnu/lib/Makefile | 6 | ||||
-rw-r--r-- | gnu/lib/csu/Makefile | 19 | ||||
-rw-r--r-- | gnu/lib/libgcc/Makefile | 388 | ||||
-rw-r--r-- | gnu/lib/libgcov/Makefile | 15 | ||||
-rw-r--r-- | gnu/lib/libgomp/Makefile | 58 | ||||
-rw-r--r-- | gnu/lib/libgomp/config.h | 109 | ||||
-rw-r--r-- | gnu/lib/libobjc/Makefile | 31 | ||||
-rw-r--r-- | gnu/lib/libssp/Makefile | 33 | ||||
-rw-r--r-- | gnu/lib/libssp/config.h | 87 | ||||
-rw-r--r-- | gnu/lib/libssp/libssp_nonshared/Makefile | 18 | ||||
-rw-r--r-- | gnu/lib/libstdc++/Makefile | 479 | ||||
-rw-r--r-- | gnu/lib/libstdc++/config.h | 817 | ||||
-rw-r--r-- | gnu/lib/libsupc++/Makefile | 18 |
13 files changed, 1398 insertions, 680 deletions
diff --git a/gnu/lib/Makefile b/gnu/lib/Makefile index 9e1584c..0db955f 100644 --- a/gnu/lib/Makefile +++ b/gnu/lib/Makefile @@ -2,7 +2,7 @@ .include <bsd.own.mk> -SUBDIR= csu libgcc libgcov libdialog libregex libreadline +SUBDIR= csu libgcc libgcov libdialog libgomp libregex libreadline # libsupc++ uses libstdc++ headers, although 'make includes' should # have taken care of that already. @@ -14,8 +14,8 @@ SUBDIR+= libstdc++ libsupc++ SUBDIR+= libobjc .endif -.if ${MK_FORTRAN} != "no" -SUBDIR+= libg2c +.if ${MK_SSP} != "no" +SUBDIR+= libssp .endif .include <bsd.subdir.mk> diff --git a/gnu/lib/csu/Makefile b/gnu/lib/csu/Makefile index 3128219..173920c 100644 --- a/gnu/lib/csu/Makefile +++ b/gnu/lib/csu/Makefile @@ -1,20 +1,21 @@ # $FreeBSD$ GCCDIR= ${.CURDIR}/../../../contrib/gcc +GCCLIB= ${.CURDIR}/../../../contrib/gcclibs CCDIR= ${.CURDIR}/../../usr.bin/cc .include "${CCDIR}/Makefile.tgt" .PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR} -SRCS= crtstuff.c tconfig.h tm.h -OBJS= crtbegin.o crtend.o +SRCS= crtstuff.c tconfig.h tm.h options.h +OBJS= crtbegin.o crtend.o crtbeginT.o SOBJS= crtbegin.So crtend.So CSTD?= gnu89 -CFLAGS+= -DIN_GCC -DHAVE_LD_EH_FRAME_HDR +CFLAGS+= -DIN_GCC -DHAVE_LD_EH_FRAME_HDR -DDT_CONFIG -D__GLIBC__=3 CFLAGS+= -finhibit-size-directive -fno-inline-functions \ -fno-exceptions -fno-zero-initialized-in-bss \ - -fno-omit-frame-pointer -fno-unit-at-a-time -CFLAGS+= -I${GCCDIR}/config -I${GCCDIR} -I. \ + -fno-zero-initialized-in-bss -fno-toplevel-reorder +CFLAGS+= -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. \ -I${CCDIR}/cc_tools CRTS_CFLAGS= -DCRTSTUFFS_O -DSHARED ${PICFLAG} MKDEP= -DCRT_BEGIN @@ -46,6 +47,10 @@ crtbegin.o: ${BEGINSRC} ${CC} ${CFLAGS} -g0 -DCRT_BEGIN \ -c -o ${.TARGET} ${.ALLSRC:N*.h} +crtbeginT.o: ${BEGINSRC} + ${CC} ${CFLAGS} -g0 -DCRT_BEGIN -DCRTSTUFFT_O \ + -c -o ${.TARGET} ${.ALLSRC:N*.h} + crtbegin.So: ${BEGINSRC} ${CC} ${CFLAGS} -g0 -DCRT_BEGIN ${CRTS_CFLAGS} \ -c -o ${.TARGET} ${.ALLSRC:N*.h} @@ -58,8 +63,8 @@ crtend.So: ${ENDSRC} ${CC} ${CFLAGS} -g0 -DCRT_END ${CRTS_CFLAGS} \ -c -o ${.TARGET} ${.ALLSRC:N*.h} -CLEANFILES+= tm.h tconfig.h -tm.h tconfig.h: ${CCDIR}/cc_tools/Makefile +CLEANFILES+= tm.h tconfig.h options.h optionlist cs-tconfig.h cs-tm.h +tm.h tconfig.h options.h: ${CCDIR}/cc_tools/Makefile ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET} realinstall: diff --git a/gnu/lib/libgcc/Makefile b/gnu/lib/libgcc/Makefile index f7704a9..6ec7610 100644 --- a/gnu/lib/libgcc/Makefile +++ b/gnu/lib/libgcc/Makefile @@ -1,43 +1,24 @@ # $FreeBSD$ - -.include <bsd.own.mk> -.include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt" - GCCDIR= ${.CURDIR}/../../../contrib/gcc -.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR} +GCCLIB= ${.CURDIR}/../../../contrib/gcclibs -# allow to be overridden for the a.out case -.if !defined(LIB) || ${LIB} != "gcc_r" -LIB= gcc -.endif - -#SHLIB_MAJOR= 1 +LIB= gcc +SHLIB_NAME= libgcc_s.so.1 +SHLIBDIR?= /lib -# We need to install libgcc_pic.a as well, for use by shared libs. -INSTALL_PIC_ARCHIVE= +.include <bsd.own.mk> +.include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt" -# -# XXX This is a hack, but it seems to work. -# 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} +.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}/config ${GCCDIR} -CFLAGS+= -fexceptions CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \ - -DFINE_GRAINED_LIBRARIES -CFLAGS+= -D_PTHREADS -DGTHREAD_USE_WEAK -CFLAGS+= -I${.CURDIR}/../../usr.bin/cc/cc_tools \ - -I${GCCDIR}/config -I${GCCDIR} -I. + -DHAVE_GTHR_DEFAULT \ + -I${GCCLIB}/include \ + -I${GCCDIR}/config -I${GCCDIR} -I. \ + -I${.CURDIR}/../../usr.bin/cc/cc_tools + +LDFLAGS+= -nodefaultlibs +LDADD+= -lc OBJS= # added to below in various ways depending on TARGET_ARCH @@ -46,27 +27,57 @@ 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 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi \ - _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi \ - _floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf _clear_cache \ +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 + _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-dw2-fde-glibc.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 _sf_to_tf _thenan_sf _sf_to_usi _usi_to_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 _df_to_tf _thenan_df _df_to_usi _usi_to_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 \ @@ -77,81 +88,50 @@ TPBIT_FUNCS = _pack_tf _unpack_tf _addsub_tf _mul_tf _div_tf \ # unwinder info. LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 -LIB2ADD = $(LIB2FUNCS_EXTRA) -LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA) - -# Additional sources to handle exceptions; overridden by targets as needed. -LIB2ADDEH = unwind-dw2.c unwind-dw2-fde.c unwind-sjlj.c gthr-gnat.c unwind-c.c - #----------------------------------------------------------------------- # # Platform specific bits. -# When upgrading GCC, get the following defintions from config/<cpu>/t-* +# When upgrading GCC, get the following definitions from config/<cpu>/t-* # - -.if ${TARGET_ARCH} == "alpha" -# from config/alpha/t-alpha -LIB2FUNCS_EXTRA = qrnnd.asm -.endif - .if ${TARGET_ARCH} == "arm" # from config/arm/t-strongarm-elf CFLAGS+= -Dinhibit_libc -fno-inline LIB1ASMSRC = lib1funcs.asm -LIB1ASMFUNCS = _dvmd_tls _bb_init_func -OBJS+= dp-bit.o fp-bit.o -# We want fine grained libraries, so use the new code to build the -# floating point emulation libraries. -XXX fix this: NEED_FP_EMULATION set to "yes" with different rules per platform +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} == "ia64" # from config/ia64/t-ia64 -LIB1ASMSRC = lib1funcs.asm -LIB1ASMFUNCS = __divxf3 __divdf3 __divsf3 \ - __divdi3 __moddi3 __udivdi3 __umoddi3 \ - __divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal \ - __nonlocal_goto __restore_stack_nonlocal __trampoline __compat -LIB2ADDEH = unwind-ia64.c unwind-sjlj.c unwind-c.c gthr-gnat.c +LIB1ASMSRC = lib1funcs.asm +LIB1ASMFUNCS = __divxf3 __divdf3 __divsf3 \ + __divdi3 __moddi3 __udivdi3 __umoddi3 \ + __divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal \ + __nonlocal_goto __restore_stack_nonlocal __trampoline \ + _fixtfdi _fixunstfdi _floatditf +LIB2ADDEH = unwind-ia64.c unwind-sjlj.c unwind-c.c .endif .if ${TARGET_ARCH} == "powerpc" # from config/rs6000/t-ppccomm -LIB2FUNCS_EXTRA = tramp.asm -# This one can't end up in shared libgcc +LIB2FUNCS_EXTRA = tramp.asm darwin-ldouble.c LIB2FUNCS_STATIC_EXTRA = eabi.asm -# We want fine grained libraries, so use the new code to build the -# floating point emulation libraries. -OBJS+= dp-bit.o fp-bit.o .endif .if ${TARGET_ARCH} == "sparc64" # from config/sparc/t-elf -# We want fine grained libraries, so use the new code to build the -# floating point emulation libraries. -LIB1ASMSRC = lb1spc.asm +LIB1ASMSRC = lb1spc.asm LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3 -OBJS+= dp-bit.o fp-bit.o .endif -dp-bit.o: config/fp-bit.c - ${XCC} -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*} - -dp-bit.So: config/fp-bit.c - ${XCC} ${PICFLAG} -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*} - -dp-bit.po: config/fp-bit.c - ${XCC} -p -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*} - -fp-bit.o: config/fp-bit.c - ${XCC} -DFLOAT=1 -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*} - -fp-bit.So: config/fp-bit.c - ${XCC} ${PICFLAG} -DFLOAT=1 -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*} - -fp-bit.po: config/fp-bit.c - ${XCC} -p -DFLOAT=1 -c ${CFLAGS} -o ${.TARGET} ${.ALLSRC:M*fp-bit*} - #----------------------------------------------------------------------- # Remove any objects from LIB2FUNCS and LIB2_DIVMOD_FUNCS that are @@ -163,64 +143,204 @@ LIB2_DIVMOD_FUNCS:= ${LIB2_DIVMOD_FUNCS:S/${sym}//g} .endfor .endif -ASM_T= ${LIB1ASMFUNCS:S/$/.o/} -ASM_P= ${LIB1ASMFUNCS:S/$/.po/} -ASM_S= ${LIB1ASMFUNCS:S/$/.So/} +COMMONHDRS= tm.h tconfig.h options.h unwind.h gthr-default.h -SYMS= ${LIB2FUNCS} \ - ${LIB2_DIVMOD_FUNCS} -.if ${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "sparc64" -SYMS+= ${FPBIT_FUNCS} ${DPBIT_FUNCS} -.endif -SYMS_ST= ${LIB2FUNCS_ST} \ - ${LIB2ADD_ST} -OBJS+= ${SYMS:S/$/.o/} ${LIB1ASMFUNCS:S/$/.o/} -OBJS_T= ${SYMS:S/$/.o/} ${SYMS_ST:S/$/.o/} -OBJS_P= ${SYMS:S/$/.po/} ${SYMS_ST:S/$/.po/} -OBJS_S= ${SYMS:S/$/.So/} -STATICOBJS= ${SYMS_ST:S/$/.o/} -SRCS= ${LIB2ADD} ${LIB2ADDEH} - -COMMONHDRS= tm.h tconfig.h -SRCS+= ${COMMONHDRS} -CLEANFILES+= ${COMMONHDRS} +#----------------------------------------------------------------------- +# +# 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 -${COMMONHDRS}: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile - ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET} +#----------------------------------------------------------------------- +# +# Functions from libgcc2.c +# +STD_CFLAGS = +DIV_CFLAGS = -fexceptions -fnon-call-exceptions -${OBJS} beforedepend: ${COMMONHDRS} +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" -${OBJS_T}: libgcc2.c - ${XCC} -c ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} +FPBIT_CFLAGS = -DFINE_GRAINED_LIBRARIES -DFLOAT +DPBIT_CFLAGS = -DFINE_GRAINED_LIBRARIES -.if !defined(NO_PIC) -${OBJS_S}: libgcc2.c - ${XCC} -c ${PICFLAG} ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} +FPBIT_CFILE = config/fp-bit.c +DPBIT_CFILE = config/fp-bit.c + +OBJ_GRPS += FPBIT DPBIT .endif -.if ${MK_PROFILE} != "no" -${OBJS_P}: libgcc2.c - ${XCC} -c -p ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} +#----------------------------------------------------------------------- +# +# 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 -.if defined(LIB1ASMSRC) -.for _lib1asmsrc in ${LIB1ASMSRC} -${ASM_T}: ${_lib1asmsrc} - ${XCC} -x assembler-with-cpp -c ${CFLAGS} -DL${.PREFIX} \ - -o ${.TARGET} ${.ALLSRC:N*.h} +#----------------------------------------------------------------------- +# +# 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/} -.if !defined(NO_PIC) -${ASM_S}: ${_lib1asmsrc} - ${XCC} -x assembler-with-cpp -c ${PICFLAG} ${CFLAGS} -DL${.PREFIX} \ +${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 +.for _src in ${LIB2ADDEHSHARED} +${_src:R:S/$/.So/}: ${_src} ${COMMONHDRS} + ${CC_S} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC} +.endfor + + +#----------------------------------------------------------------------- +# +# Generated headers +# +${COMMONHDRS}: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile + ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET} + +CLEANFILES += ${COMMONHDRS} +CLEANFILES += cs-*.h option* + +#----------------------------------------------------------------------- +# +# Build additional static libgcc_eh[_p].a librarries. +# +SHLIB_MKMAP = ${GCCDIR}/mkmap-symver.awk +SHLIB_MKMAP_OPTS = +SHLIB_MAPFILES = ${GCCDIR}/libgcc-std.ver +VERSION_MAP = libgcc.map + +libgcc.map: ${SHLIB_MKMAP} ${SHLIB_MAPFILES} ${SOBJS} ${OBJS:R:S/$/.So/} + ( nm -pg ${SOBJS};echo %% ; \ + cat ${SHLIB_MAPFILES} \ + | sed -e '/^[ ]*#/d' \ + -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' \ + | ${CC} ${CFLAGS} -E -xassembler-with-cpp -; \ + ) | awk -f ${SHLIB_MKMAP} ${SHLIB_MKMAP_OPTS} > ${.TARGET} + +CLEANFILES += libgcc.map + +#----------------------------------------------------------------------- +# +# Build additional static libgcc_eh[_p].a librarries. +# +lib${LIB}_eh.a: ${EH_OBJS_T} + @${ECHO} building static ${LIB}_eh library + @rm -f ${.TARGET} + @${AR} cq ${.TARGET} `lorder ${EH_OBJS_T} | tsort -q` + ${RANLIB} ${.TARGET} + +all: lib${LIB}_eh.a + .if ${MK_PROFILE} != "no" -${ASM_P}: ${_lib1asmsrc} - ${XCC} -x assembler-with-cpp -p -c ${CFLAGS} -DL${.PREFIX} \ - -o ${.TARGET} ${.ALLSRC:N*.h} +lib${LIB}_eh_p.a: ${EH_OBJS_P} + @${ECHO} building profiled ${LIB}_eh library + @rm -f ${.TARGET} + @${AR} cq ${.TARGET} `lorder ${EH_OBJS_P} | tsort -q` + ${RANLIB} ${.TARGET} +all: lib${LIB}_eh_p.a .endif -.endfor + +_libinstall: _lib-eh-install + +_lib-eh-install: + ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + ${_INSTALLFLAGS} lib${LIB}_eh.a ${DESTDIR}${LIBDIR} +.if ${MK_PROFILE} != "no" + ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + ${_INSTALLFLAGS} lib${LIB}_eh_p.a ${DESTDIR}${LIBDIR} .endif +CLEANFILES+= lib${LIB}_eh.a lib${LIB}_eh_p.a ${EH_OBJS_T} ${EH_OBJS_P} + .include <bsd.lib.mk> + +.SUFFIXES: .vis .vo diff --git a/gnu/lib/libgcov/Makefile b/gnu/lib/libgcov/Makefile index c6ab0d5..623a793 100644 --- a/gnu/lib/libgcov/Makefile +++ b/gnu/lib/libgcov/Makefile @@ -5,6 +5,7 @@ NO_PROFILE= .include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt" GCCDIR= ${.CURDIR}/../../../contrib/gcc +GCCLIB= ${.CURDIR}/../../../contrib/gcclibs .PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR} LIB= gcov @@ -12,18 +13,22 @@ LIB= gcov CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED CFLAGS+= -D_PTHREADS -DGTHREAD_USE_WEAK CFLAGS+= -I${.CURDIR}/../../usr.bin/cc/cc_tools \ - -I${GCCDIR}/config -I${GCCDIR} -I. + -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. # # Library members defined in libgcov.c. -SYMS= _gcov _gcov_merge_add _gcov_merge_delta _gcov_merge_single +# Defined in libgcov.c, included only in gcov library +SYMS = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta \ + _gcov_fork _gcov_execl _gcov_execlp _gcov_execle \ + _gcov_execv _gcov_execvp _gcov_execve \ + _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler OBJS= ${SYMS:S/$/.o/} OBJS_T= ${SYMS:S/$/.o/} OBJS_P= ${SYMS:S/$/.po/} OBJS_S= ${SYMS:S/$/.So/} -COMMONHDRS= tm.h tconfig.h gcov-iov.h -CLEANFILES+= ${COMMONHDRS} +COMMONHDRS= tm.h tconfig.h gcov-iov.h options.h +CLEANFILES+= ${COMMONHDRS} cs-tm.h cs-tconfig.h options.h optionlist ${COMMONHDRS}: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET} @@ -39,7 +44,7 @@ ${OBJS_S}: libgcov.c .endif .if ${MK_PROFILE} != "no" -${OBJS_P}: libgcc2.c +${OBJS_P}: libgcov.c ${CC} -c -p ${CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} .endif diff --git a/gnu/lib/libgomp/Makefile b/gnu/lib/libgomp/Makefile new file mode 100644 index 0000000..e0e111e --- /dev/null +++ b/gnu/lib/libgomp/Makefile @@ -0,0 +1,58 @@ +# $FreeBSD$ + +GCCDIR= ${.CURDIR}/../../../contrib/gcc +GCCLIB= ${.CURDIR}/../../../contrib/gcclibs +SRCDIR= ${GCCLIB}/libgomp + +.PATH: ${SRCDIR} ${SRCDIR}/config/posix + +LIB= gomp +SHLIB_MAJOR= 1 + +SRCS= alloc.c barrier.c critical.c env.c \ + error.c iter.c loop.c ordered.c parallel.c sections.c \ + single.c team.c work.c lock.c mutex.c proc.c sem.c \ + bar.c time.c fortran.c +SRCS+= gstdint.h libgomp_f.h omp.h omp_lib.h + +CFLAGS+= -DHAVE_CONFIG_H +CFLAGS+= -I${.CURDIR} -I. -I${SRCDIR} -I${SRCDIR}/config/posix + +VERSION_MAP= ${SRCDIR}/libgomp.map + +# Target-specific OpenMP configuration +.if ${MACHINE_ARCH} == arm || ${MACHINE_ARCH} == i386 || \ + ${MACHINE_ARCH} == powerpc +OMP_LOCK_ALIGN = 4 +OMP_LOCK_KIND= 4 +OMP_LOCK_SIZE= 4 +OMP_NEST_LOCK_ALIGN= 4 +OMP_NEST_LOCK_KIND= 8 +OMP_NEST_LOCK_SIZE= 8 +.else +OMP_LOCK_ALIGN = 8 +OMP_LOCK_KIND= 8 +OMP_LOCK_SIZE= 8 +OMP_NEST_LOCK_ALIGN= 8 +OMP_NEST_LOCK_KIND= 8 +OMP_NEST_LOCK_SIZE= 16 +.endif + +gstdint.h: + echo '#include <sys/types.h>' > ${.TARGET} + echo '#include <stdint.h>' >> ${.TARGET} +CLEANFILES+= gstdint.h + +.for HFILE in libgomp_f.h omp.h omp_lib.h +${HFILE}: ${SRCDIR}/${HFILE}.in + sed -e 's/@OMP_LOCK_ALIGN@/${OMP_LOCK_ALIGN}/g' \ + -e 's/@OMP_LOCK_KIND@/${OMP_LOCK_KIND}/g' \ + -e 's/@OMP_LOCK_SIZE@/${OMP_LOCK_SIZE}/g' \ + -e 's/@OMP_NEST_LOCK_ALIGN@/${OMP_NEST_LOCK_ALIGN}/g' \ + -e 's/@OMP_NEST_LOCK_KIND@/${OMP_NEST_LOCK_KIND}/g' \ + -e 's/@OMP_NEST_LOCK_SIZE@/${OMP_NEST_LOCK_SIZE}/g' \ + < ${.ALLSRC} > ${.TARGET} +CLEANFILES+= ${HFILE} +.endfor + +.include <bsd.lib.mk> diff --git a/gnu/lib/libgomp/config.h b/gnu/lib/libgomp/config.h new file mode 100644 index 0000000..2616a50 --- /dev/null +++ b/gnu/lib/libgomp/config.h @@ -0,0 +1,109 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ +/* $FreeBSD$ */ + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 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 <semaphore.h> header file. */ +#define HAVE_SEMAPHORE_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 the target supports __sync_*_compare_and_swap */ +#ifdef __amd64__ +#define HAVE_SYNC_BUILTINS 1 +#endif + +/* Define to 1 if you have the <sys/loadavg.h> header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* 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/time.h> header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#if !defined(__sparc64__) && !defined(__arm__) +#define HAVE_TLS 1 +#endif + +/* Define to 1 if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of a `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of a `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of a `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* 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 1 if you can safely include both <sys/time.h> and <time.h>. */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/gnu/lib/libobjc/Makefile b/gnu/lib/libobjc/Makefile index 5f94332..fad1687 100644 --- a/gnu/lib/libobjc/Makefile +++ b/gnu/lib/libobjc/Makefile @@ -2,39 +2,44 @@ OBJCDIR=${.CURDIR}/../../../contrib/libobjc GCCDIR= ${.CURDIR}/../../../contrib/gcc +GCCLIB= ${.CURDIR}/../../../contrib/gcclibs .PATH: ${OBJCDIR}/objc ${OBJCDIR} LIB= objc SHLIB_MAJOR= 2 -SRCS= archive.c class.c encoding.c gc.c hash.c init.c misc.c \ - nil_method.c objects.c sarray.c selector.c sendmsg.c \ - thr.c thr-posix.c \ - NXConstStr.m Object.m Protocol.m linking.m +SRCS= archive.c class.c encoding.c gc.c hash.c init.c linking.m misc.c \ + nil_method.c NXConstStr.m Object.m objects.c Protocol.m sarray.c \ + selector.c sendmsg.c thr.c thr-objc.c exception.c hash_compat.c INCS= encoding.h hash.h objc-api.h objc-list.h objc.h runtime.h \ sarray.h thr.h typedstream.h NXConstStr.h Object.h Protocol.h INCSDIR=${INCLUDEDIR}/objc -OBJCFLAGS= -fgnu-runtime ${CFLAGS} CFLAGS+= -DHAVE_GTHR_DEFAULT -DIN_GCC -DIN_TARGET_LIBS CFLAGS+= -I. -I${.CURDIR}/../../usr.bin/cc/cc_tools -CFLAGS+= -I${OBJCDIR}/objc -I${OBJCDIR} +CFLAGS+= -I${OBJCDIR}/objc -I${OBJCDIR} CFLAGS+= -I${GCCDIR}/config -I${GCCDIR} -CFLAGS+= -frandom-seed=RepeatabilityConsideredGood - -GENHDRS= runtime-info.h tconfig.h tm.h -CLEANFILES+= ${GENHDRS} -SRCS+= ${GENHDRS} +CFLAGS+= -I${GCCLIB}/include +CFLAGS+= -fexceptions -frandom-seed=RepeatabilityConsideredGood +OBJCFLAGS= -fgnu-runtime ${CFLAGS} -${OBJS}: ${GENHDRS} +GENHDRS= runtime-info.h runtime-info.h: `${CC} --print-prog-name=cc1obj` -print-objc-runtime-info \ < /dev/null > ${.TARGET} -tconfig.h tm.h : ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile +.for H in tconfig.h tm.h config.h options.h gthr-default.h unwind.h +$H: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET} +GENHDRS+= $H +.endfor + +CLEANFILES+= ${GENHDRS} cs-* optionlist +SRCS+= ${GENHDRS} + +${OBJS}: ${GENHDRS} .include <bsd.lib.mk> diff --git a/gnu/lib/libssp/Makefile b/gnu/lib/libssp/Makefile new file mode 100644 index 0000000..aa027e4 --- /dev/null +++ b/gnu/lib/libssp/Makefile @@ -0,0 +1,33 @@ +# $FreeBSD$ + +GCCDIR= ${.CURDIR}/../../../contrib/gcc +GCCLIB= ${.CURDIR}/../../../contrib/gcclibs +SRCDIR= ${GCCLIB}/libssp + +.PATH: ${SRCDIR} ${SRCDIR}/ssp + +LIB= ssp +SHLIB_MAJOR= 0 +SHLIBDIR?= /lib +NO_PROFILE= + +SRCS= ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \ + memset-chk.c snprintf-chk.c sprintf-chk.c stpcpy-chk.c \ + strcat-chk.c strcpy-chk.c strncat-chk.c strncpy-chk.c \ + vsnprintf-chk.c vsprintf-chk.c + +CFLAGS+= -DHAVE_CONFIG_H +CFLAGS+= -I${.CURDIR} -I${SRCDIR} -I${GCCLIB}/include + +VERSION_MAP= ${SRCDIR}/ssp.map + + +INCS= ssp.h string.h stdio.h unistd.h +INCSDIR=${INCLUDEDIR}/ssp + +ssp.h: ssp.h.in + sed -e 's/@ssp_have_usable_vsnprintf@/define/' ${.ALLSRC} > ${.TARGET} + +SUBDIR+= libssp_nonshared + +.include <bsd.lib.mk> diff --git a/gnu/lib/libssp/config.h b/gnu/lib/libssp/config.h new file mode 100644 index 0000000..680f107 --- /dev/null +++ b/gnu/lib/libssp/config.h @@ -0,0 +1,87 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ +/* $FreeBSD$ */ + +/* Define to 1 if you have the <alloca.h> header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* __attribute__((visibility ("hidden"))) supported */ +#define HAVE_HIDDEN_VISIBILITY 1 + +/* Define to 1 if you have the <inttypes.h> header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the <limits.h> header file. */ +#define HAVE_LIMITS_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 `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the <paths.h> header file. */ +#define HAVE_PATHS_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 `strncat' function. */ +#define HAVE_STRNCAT 1 + +/* Define to 1 if you have the `strncpy' function. */ +#define HAVE_STRNCPY 1 + +/* Define to 1 if you have the <syslog.h> header file. */ +#define HAVE_SYSLOG_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 + +/* vsnprintf is present and works */ +#define HAVE_USABLE_VSNPRINTF 1 + +/* Name of package */ +#define PACKAGE "libssp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libssp" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libssp 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libssp" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/gnu/lib/libssp/libssp_nonshared/Makefile b/gnu/lib/libssp/libssp_nonshared/Makefile new file mode 100644 index 0000000..1dcd54f --- /dev/null +++ b/gnu/lib/libssp/libssp_nonshared/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +GCCDIR= ${.CURDIR}/../../../../contrib/gcc +GCCLIB= ${.CURDIR}/../../../../contrib/gcclibs + +.PATH: ${GCCLIB}/libssp ${GCCLIB}/libssp/ssp + +LIB= ssp_nonshared +NO_PIC= +NO_PROFILE= + +SRCS= ssp-local.c + +CFLAGS+= -DHAVE_CONFIG_H +CFLAGS+= -I${.CURDIR}/.. -I${GCCLIB}/libssp -I${GCCLIB}/include +CFLAGS+= -fPIC -DPIC + +.include <bsd.lib.mk> diff --git a/gnu/lib/libstdc++/Makefile b/gnu/lib/libstdc++/Makefile index 43e0893..b2d8cd8 100644 --- a/gnu/lib/libstdc++/Makefile +++ b/gnu/lib/libstdc++/Makefile @@ -1,21 +1,23 @@ # $FreeBSD$ GCCDIR= ${.CURDIR}/../../../contrib/gcc +GCCLIB= ${.CURDIR}/../../../contrib/gcclibs SRCDIR= ${.CURDIR}/../../../contrib/libstdc++ SUPDIR= ${SRCDIR}/libsupc++ .PATH: ${SRCDIR}/src ${SRCDIR}/libmath ${SRCDIR}/config/io \ - ${SRCDIR}/config/locale/generic ${SRCDIR}/include \ - ${SUPDIR} ${GCCDIR} + ${SRCDIR}/config/locale/darwin ${SRCDIR}/config/locale/generic \ + ${SRCDIR}/include ${SUPDIR} ${GCCDIR} ${GCCLIB}/libiberty LIB= stdc++ -SHLIB_MAJOR= 5 +SHLIB_MAJOR= 6 CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H .if ${MACHINE_ARCH} == "arm" CFLAGS+= -D_GLIBCXX_SJLJ_EXCEPTIONS=1 .endif CFLAGS+= -I${.CURDIR} -I${SUPDIR} -I${GCCDIR} -I${SRCDIR}/include +CFLAGS+= -I${GCCLIB}/include -I${SRCDIR}/include -I. CFLAGS+= -frandom-seed=RepeatabilityConsideredGood CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections \ -Wno-deprecated @@ -24,15 +26,21 @@ DPADD= ${LIBM} LDADD= -lm # libstdc++ sources -SRCS+= allocator.cc codecvt.cc complex_io.cc ctype.cc debug.cc debug_list.cc \ - functexcept.cc globals_locale.cc globals_io.cc ios.cc ios_failure.cc \ - ios_init.cc ios_locale.cc limits.cc debug_list.cc list.cc locale.cc \ - locale_init.cc locale_facets.cc localename.cc stdexcept.cc \ - strstream.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc \ - ext-inst.cc io-inst.cc istream-inst.cc locale-inst.cc \ - locale-misc-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc \ - streambuf-inst.cc string-inst.cc valarray-inst.cc wlocale-inst.cc \ - wstring-inst.cc +SRCS+= bitmap_allocator.cc pool_allocator.cc \ + mt_allocator.cc codecvt.cc compatibility.cc complex_io.cc \ + ctype.cc debug.cc debug_list.cc functexcept.cc globals_io.cc \ + ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc \ + list.cc locale.cc locale_init.cc locale_facets.cc \ + localename.cc stdexcept.cc strstream.cc tree.cc \ + allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc \ + ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc \ + locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc \ + streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc \ + wlocale-inst.cc wstring-inst.cc atomicity.cc \ + codecvt_members.cc collate_members.cc ctype_members.cc \ + messages_members.cc monetary_members.cc numeric_members.cc \ + time_members.cc basic_file_stdio.cc c_locale.cc \ +# compatibility-ldbl.cc # target sources SRCS+= atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc \ @@ -43,11 +51,11 @@ SRCS+= atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc \ SRCS+= basic_file_stdio.cc c_locale.cc # C parts of math -SRCS+= signbitf.c signbitl.c stubs.c +SRCS+= stubs.c # Embedded copy of libsupc++ -SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc \ - eh_aux_runtime.cc eh_catch.cc eh_exception.cc eh_globals.cc \ +SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_arm.cc \ + eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc \ eh_personality.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc \ eh_type.cc eh_unex_handler.cc guard.cc new_handler.cc new_op.cc \ new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc \ @@ -74,13 +82,19 @@ ATOMICITY_H= ${SRCDIR}/config/cpu/${MARCHDIR}/atomicity.h ATOMICITY_H= ${SRCDIR}/config/cpu/generic/atomicity.h .endif +.if ${MACHINE_ARCH} == "amd64" +.if exists(${SRCDIR}/config/cpu/generic/atomicity_builtins/atomicity.h) +ATOMICITY_H= ${SRCDIR}/config/cpu/generic/atomicity_builtins/atomicity.h +.endif +.endif + atomicity.cc: ${ATOMICITY_H} ln -sf ${.ALLSRC} ${.TARGET} CLEANFILES+= atomicity.cc INCSGROUPS= BITSHDRS BKWHDRS EXTHDRS BASEHDRS BASEXHDRS STDHDRS \ - TARGETHDRS THRHDRS DEBUGHDRS -CXXINCLUDEDIR= ${INCLUDEDIR}/c++/3.4 + TARGETHDRS THRHDRS DEBUGHDRS TR1HDRS PBHDRS0 +CXXINCLUDEDIR= ${INCLUDEDIR}/c++/4.2 STDHDRS= std_algorithm.h std_bitset.h std_complex.h std_deque.h \ std_fstream.h std_functional.h std_iomanip.h std_ios.h \ @@ -95,22 +109,21 @@ STDHDRSNAME_$h=${h:R:S;^std_;;} STDHDRS:= ${STDHDRS:S;^;${SRCDIR}/include/std/;} STDHDRSDIR= ${CXXINCLUDEDIR} -BITSHDRS= allocator.h atomicity.h basic_ios.h basic_ios.tcc \ - basic_string.h basic_string.tcc boost_concept_check.h \ - char_traits.h codecvt.h concept_check.h concurrence.h \ - cpp_type_traits.h deque.tcc fstream.tcc functexcept.h \ - gslice.h gslice_array.h indirect_array.h ios_base.h \ - istream.tcc list.tcc locale_classes.h locale_facets.h \ - locale_facets.tcc localefwd.h mask_array.h ostream.tcc \ - postypes.h stream_iterator.h streambuf_iterator.h \ - slice_array.h sstream.tcc stl_algo.h stl_algobase.h \ - stl_bvector.h stl_construct.h stl_deque.h stl_function.h \ - stl_heap.h stl_iterator.h stl_iterator_base_funcs.h \ - stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h \ - stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h \ - stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h \ - stl_tempbuf.h stl_threads.h stl_tree.h stl_uninitialized.h \ - stl_vector.h streambuf.tcc stringfwd.h type_traits.h \ +BITSHDRS= allocator.h basic_ios.h basic_ios.tcc basic_string.h \ + basic_string.tcc boost_concept_check.h char_traits.h codecvt.h \ + concept_check.h cpp_type_traits.h deque.tcc fstream.tcc \ + functexcept.h gslice.h gslice_array.h indirect_array.h \ + ios_base.h istream.tcc list.tcc locale_classes.h \ + locale_facets.h locale_facets.tcc localefwd.h mask_array.h \ + ostream.tcc ostream_insert.h postypes.h stream_iterator.h \ + streambuf_iterator.h slice_array.h sstream.tcc stl_algo.h \ + stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h \ + stl_function.h stl_heap.h stl_iterator.h \ + stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h \ + stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h \ + stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h \ + stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h \ + stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h \ valarray_array.h valarray_array.tcc valarray_before.h \ valarray_after.h vector.tcc BITSHDRS:= ${BITSHDRS:S;^;${SRCDIR}/include/bits/;} @@ -125,15 +138,33 @@ BKWHDRS= complex.h iomanip.h istream.h ostream.h stream.h streambuf.h \ BKWHDRS:= ${BKWHDRS:S;^;${SRCDIR}/include/backward/;} BKWHDRSDIR= ${CXXINCLUDEDIR}/backward -EXTHDRS= algorithm bitmap_allocator.h debug_allocator.h \ - enc_filebuf.h stdio_filebuf.h stdio_sync_filebuf.h functional \ - hash_map hash_set iterator malloc_allocator.h memory \ - mt_allocator.h new_allocator.h numeric pod_char_traits.h \ - pool_allocator.h rb_tree rope ropeimpl.h slist hash_fun.h \ - hashtable.h +EXTHDRS= algorithm atomicity.h array_allocator.h bitmap_allocator.h \ + codecvt_specializations.h concurrence.h debug_allocator.h \ + stdio_filebuf.h stdio_sync_filebuf.h functional \ + hash_map hash_set hash_fun.h hashtable.h iterator \ + malloc_allocator.h memory mt_allocator.h new_allocator.h \ + numeric pod_char_traits.h pool_allocator.h rb_tree rope \ + ropeimpl.h slist throw_allocator.h typelist.h type_traits.h \ + rc_string_base.h sso_string_base.h vstring.h vstring.tcc \ + vstring_fwd.h vstring_util.h + EXTHDRS:= ${EXTHDRS:S;^;${SRCDIR}/include/ext/;} EXTHDRSDIR= ${CXXINCLUDEDIR}/ext +TR1HDRS= array bind_repeat.h bind_iterate.h boost_shared_ptr.h cctype \ + cfenv cfloat cinttypes climits cmath common.h complex cstdarg \ + cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar \ + cwctype fenv.h float.h functional functional_hash.h \ + functional_iterate.h hashtable hashtable_policy.h inttypes.h \ + limits.h math.h memory mu_iterate.h random random.tcc \ + ref_fwd.h ref_wrap_iterate.h repeat.h stdarg.h stdbool.h \ + stdint.h stdio.h stdlib.h tgmath.h tuple tuple_defs.h \ + tuple_iterate.h type_traits type_traits_fwd.h unordered_set \ + unordered_map utility wchar.h wctype.h + +TR1HDRS:= ${TR1HDRS:S;^;${SRCDIR}/include/tr1/;} +TR1HDRSDIR= ${CXXINCLUDEDIR}/tr1 + # This is the common subset of files that all three "C" header models use. BASEHDRS= std_cassert.h std_cctype.h std_cerrno.h std_cfloat.h \ std_ciso646.h std_climits.h std_clocale.h std_cmath.h \ @@ -150,21 +181,343 @@ BASEHDRSDIR= ${CXXINCLUDEDIR} BASEXHDRS= ${SRCDIR}/include/c_std/cmath.tcc BASEXHDRSDIR= ${CXXINCLUDEDIR}/bits -DEBUGHDRS= bitset debug.h deque formatter.h hash_map hash_map.h \ - hash_multimap.h hash_multiset.h hash_set hash_set.h list \ - map map.h multimap.h multiset.h safe_base.h safe_iterator.h \ - safe_iterator.tcc safe_sequence.h set set.h string vector +DEBUGHDRS= bitset debug.h deque formatter.h functions.h hash_map \ + hash_map.h hash_multimap.h hash_multiset.h hash_set hash_set.h \ + list macros.h map map.h multimap.h multiset.h safe_base.h \ + safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h \ + string vector DEBUGHDRS:= ${DEBUGHDRS:S;^;${SRCDIR}/include/debug/;} DEBUGHDRSDIR= ${CXXINCLUDEDIR}/debug -TARGETHDRS= allocator/new_allocator_base.h \ +# Not installed, but kept here for completeness +COMPATHDRS= assert.h ctype.h errno.h float.h iso646.h limits.h locale.h \ + math.h setjmp.h signal.h stdarg.h stddef.h stdio.h stdlib.h \ + string.h time.h wchar.h wctype.h +COMPATHDRS:= ${COMPATHDRS:S;^;${SRCDIR}/include/debug/;} +COMPATHDRSDIR= ${CXXINCLUDEDIR}/c_compatibility + +PBHDRS0 = \ + assoc_container.hpp \ + exception.hpp \ + hash_policy.hpp \ + list_update_policy.hpp \ + priority_queue.hpp \ + tag_and_trait.hpp \ + tree_policy.hpp \ + trie_policy.hpp +PBHDRS0:= ${PBHDRS0:S;^;${SRCDIR}/include/ext/pb_ds/;} +PBHDRS0DIR= ${CXXINCLUDEDIR}/ext/pb_ds + +PBHDRS+= \ + basic_tree_policy/basic_tree_policy_base.hpp \ + basic_tree_policy/null_node_metadata.hpp \ + basic_tree_policy/traits.hpp \ + basic_types.hpp \ + binary_heap_/binary_heap_.hpp \ + binary_heap_/const_iterator.hpp \ + binary_heap_/const_point_iterator.hpp \ + binary_heap_/constructors_destructor_fn_imps.hpp \ + binary_heap_/debug_fn_imps.hpp \ + binary_heap_/entry_cmp.hpp \ + binary_heap_/entry_pred.hpp \ + binary_heap_/erase_fn_imps.hpp \ + binary_heap_/find_fn_imps.hpp \ + binary_heap_/info_fn_imps.hpp \ + binary_heap_/insert_fn_imps.hpp \ + binary_heap_/iterators_fn_imps.hpp \ + binary_heap_/policy_access_fn_imps.hpp \ + binary_heap_/resize_policy.hpp \ + binary_heap_/split_join_fn_imps.hpp \ + binary_heap_/trace_fn_imps.hpp \ + binomial_heap_base_/binomial_heap_base_.hpp \ + binomial_heap_base_/constructors_destructor_fn_imps.hpp \ + binomial_heap_base_/debug_fn_imps.hpp \ + binomial_heap_base_/erase_fn_imps.hpp \ + binomial_heap_base_/find_fn_imps.hpp \ + binomial_heap_base_/insert_fn_imps.hpp \ + binomial_heap_base_/split_join_fn_imps.hpp \ + binomial_heap_/binomial_heap_.hpp \ + binomial_heap_/constructors_destructor_fn_imps.hpp \ + binomial_heap_/debug_fn_imps.hpp \ + bin_search_tree_/bin_search_tree_.hpp \ + bin_search_tree_/cond_dtor_entry_dealtor.hpp \ + bin_search_tree_/cond_key_dtor_entry_dealtor.hpp + +PBHDRS+= \ + bin_search_tree_/constructors_destructor_fn_imps.hpp \ + bin_search_tree_/debug_fn_imps.hpp \ + bin_search_tree_/erase_fn_imps.hpp \ + bin_search_tree_/find_fn_imps.hpp \ + bin_search_tree_/info_fn_imps.hpp \ + bin_search_tree_/insert_fn_imps.hpp \ + bin_search_tree_/iterators_fn_imps.hpp \ + bin_search_tree_/node_iterators.hpp \ + bin_search_tree_/point_iterators.hpp \ + bin_search_tree_/policy_access_fn_imps.hpp \ + bin_search_tree_/r_erase_fn_imps.hpp \ + bin_search_tree_/rotate_fn_imps.hpp \ + bin_search_tree_/split_join_fn_imps.hpp \ + bin_search_tree_/traits.hpp \ + cc_hash_table_map_/cc_ht_map_.hpp \ + cc_hash_table_map_/cmp_fn_imps.hpp \ + cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp \ + cc_hash_table_map_/constructor_destructor_fn_imps.hpp \ + cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \ + cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \ + cc_hash_table_map_/debug_fn_imps.hpp \ + cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp \ + cc_hash_table_map_/debug_store_hash_fn_imps.hpp \ + cc_hash_table_map_/entry_list_fn_imps.hpp \ + cc_hash_table_map_/erase_fn_imps.hpp \ + cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp \ + cc_hash_table_map_/erase_store_hash_fn_imps.hpp \ + cc_hash_table_map_/find_fn_imps.hpp \ + cc_hash_table_map_/find_store_hash_fn_imps.hpp \ + cc_hash_table_map_/info_fn_imps.hpp \ + cc_hash_table_map_/insert_fn_imps.hpp \ + cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp \ + cc_hash_table_map_/insert_store_hash_fn_imps.hpp \ + cc_hash_table_map_/iterators_fn_imps.hpp \ + cc_hash_table_map_/policy_access_fn_imps.hpp \ + cc_hash_table_map_/resize_fn_imps.hpp \ + cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp \ + cc_hash_table_map_/resize_store_hash_fn_imps.hpp \ + cc_hash_table_map_/size_fn_imps.hpp \ + cc_hash_table_map_/standard_policies.hpp + +PBHDRS+= \ + cc_hash_table_map_/trace_fn_imps.hpp \ + cond_dealtor.hpp \ + constructors_destructor_fn_imps.hpp \ + container_base_dispatch.hpp \ + eq_fn/eq_by_less.hpp \ + eq_fn/hash_eq_fn.hpp \ + gp_hash_table_map_/constructor_destructor_fn_imps.hpp \ + gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \ + gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \ + gp_hash_table_map_/debug_fn_imps.hpp \ + gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp \ + gp_hash_table_map_/debug_store_hash_fn_imps.hpp \ + gp_hash_table_map_/erase_fn_imps.hpp \ + gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp \ + gp_hash_table_map_/erase_store_hash_fn_imps.hpp \ + gp_hash_table_map_/find_fn_imps.hpp \ + gp_hash_table_map_/find_no_store_hash_fn_imps.hpp \ + gp_hash_table_map_/find_store_hash_fn_imps.hpp \ + gp_hash_table_map_/gp_ht_map_.hpp \ + gp_hash_table_map_/info_fn_imps.hpp \ + gp_hash_table_map_/insert_fn_imps.hpp \ + gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp \ + gp_hash_table_map_/insert_store_hash_fn_imps.hpp \ + gp_hash_table_map_/iterator_fn_imps.hpp \ + gp_hash_table_map_/policy_access_fn_imps.hpp \ + gp_hash_table_map_/resize_fn_imps.hpp \ + gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp \ + gp_hash_table_map_/resize_store_hash_fn_imps.hpp \ + gp_hash_table_map_/standard_policies.hpp \ + gp_hash_table_map_/trace_fn_imps.hpp \ + hash_fn/direct_mask_range_hashing_imp.hpp \ + hash_fn/direct_mod_range_hashing_imp.hpp \ + hash_fn/linear_probe_fn_imp.hpp \ + hash_fn/mask_based_range_hashing.hpp \ + hash_fn/mod_based_range_hashing.hpp \ + hash_fn/probe_fn_base.hpp \ + hash_fn/quadratic_probe_fn_imp.hpp \ + hash_fn/ranged_hash_fn.hpp \ + hash_fn/ranged_probe_fn.hpp + +PBHDRS+= \ + hash_fn/sample_probe_fn.hpp \ + hash_fn/sample_ranged_hash_fn.hpp \ + hash_fn/sample_ranged_probe_fn.hpp \ + hash_fn/sample_range_hashing.hpp \ + left_child_next_sibling_heap_/const_iterator.hpp \ + left_child_next_sibling_heap_/const_point_iterator.hpp \ + left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp \ + left_child_next_sibling_heap_/debug_fn_imps.hpp \ + left_child_next_sibling_heap_/erase_fn_imps.hpp \ + left_child_next_sibling_heap_/info_fn_imps.hpp \ + left_child_next_sibling_heap_/insert_fn_imps.hpp \ + left_child_next_sibling_heap_/iterators_fn_imps.hpp \ + left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp \ + left_child_next_sibling_heap_/node.hpp \ + left_child_next_sibling_heap_/null_metadata.hpp \ + left_child_next_sibling_heap_/policy_access_fn_imps.hpp \ + left_child_next_sibling_heap_/trace_fn_imps.hpp \ + list_update_map_/constructor_destructor_fn_imps.hpp \ + list_update_map_/debug_fn_imps.hpp \ + list_update_map_/entry_metadata_base.hpp \ + list_update_map_/erase_fn_imps.hpp \ + list_update_map_/find_fn_imps.hpp \ + list_update_map_/info_fn_imps.hpp \ + list_update_map_/insert_fn_imps.hpp \ + list_update_map_/iterators_fn_imps.hpp \ + list_update_map_/lu_map_.hpp \ + list_update_map_/trace_fn_imps.hpp \ + list_update_policy/counter_lu_metadata.hpp \ + list_update_policy/counter_lu_policy_imp.hpp \ + list_update_policy/mtf_lu_policy_imp.hpp \ + list_update_policy/sample_update_policy.hpp \ + map_debug_base.hpp \ + ov_tree_map_/cond_dtor.hpp \ + ov_tree_map_/constructors_destructor_fn_imps.hpp \ + ov_tree_map_/debug_fn_imps.hpp \ + ov_tree_map_/erase_fn_imps.hpp \ + ov_tree_map_/info_fn_imps.hpp \ + ov_tree_map_/insert_fn_imps.hpp \ + ov_tree_map_/iterators_fn_imps.hpp \ + ov_tree_map_/node_iterators.hpp \ + ov_tree_map_/ov_tree_map_.hpp + +PBHDRS+= \ + ov_tree_map_/policy_access_fn_imps.hpp \ + ov_tree_map_/split_join_fn_imps.hpp \ + ov_tree_map_/traits.hpp \ + pairing_heap_/constructors_destructor_fn_imps.hpp \ + pairing_heap_/debug_fn_imps.hpp \ + pairing_heap_/erase_fn_imps.hpp \ + pairing_heap_/find_fn_imps.hpp \ + pairing_heap_/insert_fn_imps.hpp \ + pairing_heap_/pairing_heap_.hpp \ + pairing_heap_/split_join_fn_imps.hpp \ + pat_trie_/child_iterator.hpp \ + pat_trie_/cond_dtor_entry_dealtor.hpp \ + pat_trie_/const_child_iterator.hpp \ + pat_trie_/constructors_destructor_fn_imps.hpp \ + pat_trie_/debug_fn_imps.hpp \ + pat_trie_/erase_fn_imps.hpp \ + pat_trie_/find_fn_imps.hpp \ + pat_trie_/head.hpp \ + pat_trie_/info_fn_imps.hpp \ + pat_trie_/insert_join_fn_imps.hpp \ + pat_trie_/internal_node.hpp \ + pat_trie_/iterators_fn_imps.hpp \ + pat_trie_/leaf.hpp \ + pat_trie_/node_base.hpp \ + pat_trie_/node_iterators.hpp \ + pat_trie_/node_metadata_base.hpp \ + pat_trie_/pat_trie_.hpp \ + pat_trie_/point_iterators.hpp \ + pat_trie_/policy_access_fn_imps.hpp \ + pat_trie_/r_erase_fn_imps.hpp \ + pat_trie_/rotate_fn_imps.hpp \ + pat_trie_/split_fn_imps.hpp \ + pat_trie_/split_join_branch_bag.hpp \ + pat_trie_/synth_e_access_traits.hpp \ + pat_trie_/trace_fn_imps.hpp \ + pat_trie_/traits.hpp \ + pat_trie_/update_fn_imps.hpp \ + priority_queue_base_dispatch.hpp \ + rb_tree_map_/constructors_destructor_fn_imps.hpp \ + rb_tree_map_/debug_fn_imps.hpp + +PBHDRS+= \ + rb_tree_map_/erase_fn_imps.hpp \ + rb_tree_map_/find_fn_imps.hpp \ + rb_tree_map_/info_fn_imps.hpp \ + rb_tree_map_/insert_fn_imps.hpp \ + rb_tree_map_/node.hpp \ + rb_tree_map_/rb_tree_.hpp \ + rb_tree_map_/split_join_fn_imps.hpp \ + rb_tree_map_/traits.hpp \ + rc_binomial_heap_/constructors_destructor_fn_imps.hpp \ + rc_binomial_heap_/debug_fn_imps.hpp \ + rc_binomial_heap_/erase_fn_imps.hpp \ + rc_binomial_heap_/insert_fn_imps.hpp \ + rc_binomial_heap_/rc_binomial_heap_.hpp \ + rc_binomial_heap_/rc.hpp \ + rc_binomial_heap_/split_join_fn_imps.hpp \ + rc_binomial_heap_/trace_fn_imps.hpp \ + resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp \ + resize_policy/hash_exponential_size_policy_imp.hpp \ + resize_policy/hash_load_check_resize_trigger_imp.hpp \ + resize_policy/hash_load_check_resize_trigger_size_base.hpp \ + resize_policy/hash_prime_size_policy_imp.hpp \ + resize_policy/hash_standard_resize_policy_imp.hpp \ + resize_policy/sample_resize_policy.hpp \ + resize_policy/sample_resize_trigger.hpp \ + resize_policy/sample_size_policy.hpp \ + splay_tree_/constructors_destructor_fn_imps.hpp \ + splay_tree_/debug_fn_imps.hpp \ + splay_tree_/erase_fn_imps.hpp \ + splay_tree_/find_fn_imps.hpp \ + splay_tree_/info_fn_imps.hpp \ + splay_tree_/insert_fn_imps.hpp \ + splay_tree_/node.hpp \ + splay_tree_/splay_fn_imps.hpp \ + splay_tree_/splay_tree_.hpp \ + splay_tree_/split_join_fn_imps.hpp \ + splay_tree_/traits.hpp \ + standard_policies.hpp \ + thin_heap_/constructors_destructor_fn_imps.hpp \ + thin_heap_/debug_fn_imps.hpp \ + thin_heap_/erase_fn_imps.hpp + +PBHDRS+= \ + thin_heap_/find_fn_imps.hpp \ + thin_heap_/insert_fn_imps.hpp \ + thin_heap_/split_join_fn_imps.hpp \ + thin_heap_/thin_heap_.hpp \ + thin_heap_/trace_fn_imps.hpp \ + tree_policy/node_metadata_selector.hpp \ + tree_policy/null_node_update_imp.hpp \ + tree_policy/order_statistics_imp.hpp \ + tree_policy/sample_tree_node_update.hpp \ + tree_trace_base.hpp \ + trie_policy/node_metadata_selector.hpp \ + trie_policy/null_node_update_imp.hpp \ + trie_policy/order_statistics_imp.hpp \ + trie_policy/prefix_search_node_update_imp.hpp \ + trie_policy/sample_trie_e_access_traits.hpp \ + trie_policy/sample_trie_node_update.hpp \ + trie_policy/string_trie_e_access_traits_imp.hpp \ + trie_policy/trie_policy_base.hpp \ + types_traits.hpp \ + type_utils.hpp \ + unordered_iterator/const_iterator.hpp \ + unordered_iterator/const_point_iterator.hpp \ + unordered_iterator/iterator.hpp \ + unordered_iterator/point_iterator.hpp + +PBHDRSDIRS= \ + pairing_heap_ \ + splay_tree_ \ + list_update_map_ \ + basic_tree_policy \ + trie_policy \ + gp_hash_table_map_ \ + tree_policy \ + binomial_heap_base_ \ + resize_policy \ + bin_search_tree_ \ + binomial_heap_ \ + thin_heap_ \ + pat_trie_ \ + cc_hash_table_map_ \ + rc_binomial_heap_ \ + left_child_next_sibling_heap_ \ + unordered_iterator \ + binary_heap_ \ + ov_tree_map_ \ + hash_fn \ + eq_fn \ + rb_tree_map_ \ + list_update_policy + +.for D in ${PBHDRSDIRS} +PHDRGRP$D:= ${PBHDRS:M$D/*:S;^;${SRCDIR}/include/ext/pb_ds/detail/;} +PHDRGRP$DDIR= ${CXXINCLUDEDIR}/ext/pb_ds/detail/$D +INCSGROUPS+= PHDRGRP$D +.endfor + +TARGETHDRS= abi/compatibility.h \ + allocator/new_allocator_base.h \ io/basic_file_stdio.h \ io/c_io_stdio.h \ locale/generic/c_locale.h \ locale/generic/c++locale_internal.h \ locale/generic/messages_members.h \ locale/generic/time_members.h \ - locale/generic/codecvt_specializations.h \ os/bsd/freebsd/ctype_base.h \ os/bsd/freebsd/ctype_inline.h \ os/bsd/freebsd/ctype_noninline.h \ @@ -177,7 +530,7 @@ TARGETHDRSNAME_c_locale.h= c++locale.h TARGETHDRSNAME_new_allocator_base.h= c++allocator.h TARGETHDRSDIR= ${CXXINCLUDEDIR}/bits -MARCHHDRS= atomic_word.h +MARCHHDRS= atomic_word.h cpu_defines.h cxxabi_tweaks.h .for h in ${MARCHHDRS} .if exists(${SRCDIR}/config/cpu/${MARCHDIR}/${h}) TARGETHDRS+= ${SRCDIR}/config/cpu/${MARCHDIR}/${h} @@ -186,12 +539,13 @@ TARGETHDRS+= ${SRCDIR}/config/cpu/generic/${h} .endif .endfor -THRHDRS= gthr.h gthr-single.h gthr-posix.h gthr-default.h +THRHDRS= gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h THRHDRSDIR= ${CXXINCLUDEDIR}/bits uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_] gthr.h: ${GCCDIR}/gthr.h - sed -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ + sed -e '/^#pragma/b' \ + -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's,^#include "\(.*\)",#include <bits/\1>,g' \ < ${.ALLSRC} > ${.TARGET} @@ -208,6 +562,13 @@ gthr-posix.h: ${GCCDIR}/gthr-posix.h -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \ < ${.ALLSRC} > ${.TARGET} +gthr-tpf.h: ${GCCDIR}/gthr-posix.h + sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ + -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \ + -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \ + -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \ + < ${.ALLSRC} > ${.TARGET} + gthr-default.h: ${GCCDIR}/gthr-posix.h sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \ @@ -218,8 +579,19 @@ gthr-default.h: ${GCCDIR}/gthr-posix.h CLEANFILES+= ${THRHDRS} +unwind.h: ${GCCDIR}/unwind-generic.h + ln -sf ${.ALLSRC} ${.TARGET} + +SRCS+= unwind.h +CLEANFILES+= unwind.h + +DATESTAMP!= cat ${GCCDIR}/DATESTAMP + c++config.h: ${.CURDIR}/config.h ${SRCDIR}/include/bits/c++config - cat ${SRCDIR}/include/bits/c++config > ${.TARGET} && \ + sed -e "s/\\(define __GLIBCXX__\\)/\1 ${DATESTAMP}/" \ + -e 's/\(define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY\)/\1 1/' \ + -e 's/\(define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION\)/\1 0/' \ + < ${SRCDIR}/include/bits/c++config > ${.TARGET} && \ sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \ -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \ -e 's/VERSION/_GLIBCXX_VERSION/g' \ @@ -228,4 +600,13 @@ c++config.h: ${.CURDIR}/config.h ${SRCDIR}/include/bits/c++config echo "#endif // _CXXCONFIG_" >> ${.TARGET} CLEANFILES+= c++config.h +# Symbol versioning. + +VERSION_MAP= libstdc++.map + +${VERSION_MAP}: ${SRCDIR}/config/abi/pre/gnu.ver + ln -sf ${.ALLSRC} ${.TARGET} + +CLEANFILES+= ${VERSION_MAP} + .include <bsd.lib.mk> diff --git a/gnu/lib/libstdc++/config.h b/gnu/lib/libstdc++/config.h index f7659f9..7ff63eb 100644 --- a/gnu/lib/libstdc++/config.h +++ b/gnu/lib/libstdc++/config.h @@ -5,176 +5,6 @@ /* config.h. Generated by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ -// acconfig.h symbols and macros for libstdc++ v3 -*- C++ -*- - -// Defines libstdc++ version. -/* #undef PACKAGE */ -/* #undef VERSION */ - -// Needed for gettext. -/* #undef ENABLE_NLS */ -/* #undef HAVE_CATGETS */ -/* #undef HAVE_GETTEXT */ -/* #undef HAVE_STPCPY */ - -// Include I/O support for 'long long' and 'unsigned long long'. -#define _GLIBCXX_USE_LONG_LONG 1 - -// Include support for 'long double'. -/* #undef _GLIBCXX_USE_LONG_DOUBLE */ - -// Define if C99 math functions (like fpclassify) should be exposed. -#define _GLIBCXX_USE_C99_MATH 1 - -// Define if C99 features such as lldiv_t, llabs, lldiv should be exposed. -#define _GLIBCXX_USE_C99 1 - -// Define if code specialized for wchar_t should be used. -#define _GLIBCXX_USE_WCHAR_T 1 - -// Define if using setrlimit to limit memory usage during 'make check'. -#define _GLIBCXX_MEM_LIMITS 1 - -// Define to use concept checking code from the boost libraries. -/* #undef _GLIBCXX_CONCEPT_CHECKS */ - -// Define to use symbol versioning in the shared library. -/* #undef _GLIBCXX_SYMVER */ - -// Define symbol versioning in assember directives. If symbol -// versioning is beigng used, and the assembler supports this kind of -// thing, then use it. -// NB: _GLIBCXX_AT_AT is a hack to work around quoting issues in m4. -#if _GLIBCXX_SYMVER - #define _GLIBCXX_ASM_SYMVER(cur, old, version) \ - asm (".symver " #cur "," #old _GLIBCXX_AT_AT #version); -#else - #define _GLIBCXX_ASM_SYMVER(cur, old, version) -#endif - -// Define if LFS support is available. -/* #undef _GLIBCXX_USE_LFS */ - -// Define if a fully dynamic basic_string is wanted. -/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ - -// Define if NLS translations are to be used. -/* #undef _GLIBCXX_USE_NLS */ - -// Define if gthr-default.h exists (meaning that threading support is enabled). -#define HAVE_GTHR_DEFAULT 1 - -// Define if the atan2f function exists. -#define HAVE_ATAN2F 1 - -// Define if the atan2l function exists. -/* #undef HAVE_ATAN2L */ - -// Define if the tanl function exists. -/* #undef HAVE_TANL */ - -// Define if the copysignf function exists. -#define HAVE_COPYSIGNF 1 - -// Define if getpagesize exists. -#define HAVE_GETPAGESIZE 1 - -// Define if setenv exists. -#define HAVE_SETENV 1 - -// Define if sigsetjmp exists. -#define HAVE_SIGSETJMP 1 - -// Define if mbstate_t exists in wchar.h. -#define HAVE_MBSTATE_T 1 - -// Define if you have the modff function. -#define HAVE_MODFF 1 - -// Define if you have the modfl function. -/* #undef HAVE_MODFL */ - -// Define if you have the expf function. -#define HAVE_EXPF 1 - -// Define if you have the expl function. -/* #undef HAVE_EXPL */ - -// Define if you have the hypot function. -#define HAVE_HYPOT 1 - -// Define if you have the hypotf function. -#define HAVE_HYPOTF 1 - -// Define if you have the hypotl function. -/* #undef HAVE_HYPOTL */ - -// Define if the compiler/host combination has __builtin_abs -#define HAVE___BUILTIN_ABS 1 - -// Define if the compiler/host combination has __builtin_labs -#define HAVE___BUILTIN_LABS 1 - -// Define if the compiler/host combination has __builtin_cos -#define HAVE___BUILTIN_COS 1 - -// Define if the compiler/host combination has __builtin_cosf -#define HAVE___BUILTIN_COSF 1 - -// Define if the compiler/host combination has __builtin_cosl -#define HAVE___BUILTIN_COSL 1 - -// Define if the compiler/host combination has __builtin_fabs -#define HAVE___BUILTIN_FABS 1 - -// Define if the compiler/host combination has __builtin_fabsf -#define HAVE___BUILTIN_FABSF 1 - -// Define if the compiler/host combination has __builtin_fabsl -#define HAVE___BUILTIN_FABSL 1 - -// Define if the compiler/host combination has __builtin_sin -#define HAVE___BUILTIN_SIN 1 - -// Define if the compiler/host combination has __builtin_sinf -#define HAVE___BUILTIN_SINF 1 - -// Define if the compiler/host combination has __builtin_sinl -#define HAVE___BUILTIN_SINL 1 - -// Define if the compiler/host combination has __builtin_sqrt -#define HAVE___BUILTIN_SQRT 1 - -// Define if the compiler/host combination has __builtin_sqrtf -#define HAVE___BUILTIN_SQRTF 1 - -// Define if the compiler/host combination has __builtin_sqrtl -#define HAVE___BUILTIN_SQRTL 1 - -// Define if poll is available in <poll.h>. -#define HAVE_POLL 1 - -// Define if S_ISREG (Posix) is available in <sys/stat.h>. -#define HAVE_S_ISREG 1 - -// Define if S_IFREG is available in <sys/stat.h>. -/* #undef HAVE_S_IFREG */ - -// Define if writev is available in <sys/uio.h>. -#define HAVE_WRITEV 1 - -// Define if int64_t is available in <stdint.h>. -#define HAVE_INT64_T 1 - -// Define if LC_MESSAGES is available in <locale.h>. -#define HAVE_LC_MESSAGES 1 - -// Define if <float.h> exists. -#define HAVE_FLOAT_H 1 - -// Define if modf is present in <math.h> -/* #undef HAVE_MODF */ - /* Define to 1 if you have the `acosf' function. */ #define HAVE_ACOSF 1 @@ -200,15 +30,15 @@ /* Define to 1 if you have the `atanl' function. */ /* #undef HAVE_ATANL */ -/* Define to 1 if you have the `btowc' function. */ -#define HAVE_BTOWC 1 - /* Define to 1 if you have the `ceilf' function. */ #define HAVE_CEILF 1 /* Define to 1 if you have the `ceill' function. */ #define HAVE_CEILL 1 +/* Define to 1 if you have the <complex.h> header file. */ +#define HAVE_COMPLEX_H 1 + /* Define to 1 if you have the `copysign' function. */ #define HAVE_COPYSIGN 1 @@ -245,11 +75,8 @@ /* Define to 1 if you have the `fabsl' function. */ #define HAVE_FABSL 1 -/* Define to 1 if you have the `fgetwc' function. */ -#define HAVE_FGETWC 1 - -/* Define to 1 if you have the `fgetws' function. */ -#define HAVE_FGETWS 1 +/* Define to 1 if you have the <fenv.h> header file. */ +#define HAVE_FENV_H 1 /* Define to 1 if you have the `finite' function. */ #define HAVE_FINITE 1 @@ -278,12 +105,6 @@ /* Define to 1 if you have the `fpclass' function. */ /* #undef HAVE_FPCLASS */ -/* Define to 1 if you have the `fputwc' function. */ -#define HAVE_FPUTWC 1 - -/* Define to 1 if you have the `fputws' function. */ -#define HAVE_FPUTWS 1 - /* Define to 1 if you have the <fp.h> header file. */ /* #undef HAVE_FP_H */ @@ -293,26 +114,18 @@ /* Define to 1 if you have the `frexpl' function. */ #define HAVE_FREXPL 1 -/* Define to 1 if you have the `fwide' function. */ -#define HAVE_FWIDE 1 - -/* Define to 1 if you have the `fwprintf' function. */ -#define HAVE_FWPRINTF 1 - -/* Define to 1 if you have the `fwscanf' function. */ -#define HAVE_FWSCANF 1 - /* Define to 1 if you have the <gconv.h> header file. */ /* #undef HAVE_GCONV_H */ +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + /* Define to 1 if you have the `getpagesize' function. */ #define HAVE_GETPAGESIZE 1 -/* Define to 1 if you have the `getwc' function. */ -#define HAVE_GETWC 1 - -/* Define to 1 if you have the `getwchar' function. */ -#define HAVE_GETWCHAR 1 +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 /* Define to 1 if you have the `hypot' function. */ #define HAVE_HYPOT 1 @@ -324,17 +137,20 @@ /* #undef HAVE_HYPOTL */ /* Define to 1 if you have the `iconv' function. */ -#define HAVE_ICONV 1 +/* #undef HAVE_ICONV */ /* Define to 1 if you have the `iconv_close' function. */ -#define HAVE_ICONV_CLOSE 1 +/* #undef HAVE_ICONV_CLOSE */ /* Define to 1 if you have the `iconv_open' function. */ -#define HAVE_ICONV_OPEN 1 +/* #undef HAVE_ICONV_OPEN */ /* Define to 1 if you have the <ieeefp.h> header file. */ #define HAVE_IEEEFP_H 1 +/* Define if int64_t is available in <stdint.h>. */ +#define HAVE_INT64_T 1 + /* Define to 1 if you have the <inttypes.h> header file. */ #define HAVE_INTTYPES_H 1 @@ -356,9 +172,12 @@ /* Define to 1 if you have the `isnanl' function. */ /* #undef HAVE_ISNANL */ -/* Define to 1 if you have the `iswblank' function. */ +/* Defined if iswblank exists. */ #define HAVE_ISWBLANK 1 +/* Define if LC_MESSAGES is available in <locale.h>. */ +#define HAVE_LC_MESSAGES 1 + /* Define to 1 if you have the `ldexpf' function. */ #define HAVE_LDEXPF 1 @@ -407,17 +226,8 @@ /* Define to 1 if you have the <machine/param.h> header file. */ #define HAVE_MACHINE_PARAM_H 1 -/* Define to 1 if you have the `mbrlen' function. */ -#define HAVE_MBRLEN 1 - -/* Define to 1 if you have the `mbrtowc' function. */ -#define HAVE_MBRTOWC 1 - -/* Define to 1 if you have the `mbsinit' function. */ -#define HAVE_MBSINIT 1 - -/* Define to 1 if you have the `mbsrtowcs' function. */ -#define HAVE_MBSRTOWCS 1 +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 /* Define to 1 if you have the <memory.h> header file. */ #define HAVE_MEMORY_H 1 @@ -425,11 +235,14 @@ /* Define to 1 if you have a working `mmap' system call. */ #define HAVE_MMAP 1 +/* Define to 1 if you have the `modf' function. */ +#define HAVE_MODF 1 + /* Define to 1 if you have the `modff' function. */ #define HAVE_MODFF 1 /* Define to 1 if you have the `modfl' function. */ -/* #undef HAVE_MODFL */ +#define HAVE_MODFL 1 /* Define to 1 if you have the <nan.h> header file. */ /* #undef HAVE_NAN_H */ @@ -437,18 +250,15 @@ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 +/* Define if poll is available in <poll.h>. */ +#define HAVE_POLL 1 + /* Define to 1 if you have the `powf' function. */ #define HAVE_POWF 1 /* Define to 1 if you have the `powl' function. */ /* #undef HAVE_POWL */ -/* Define to 1 if you have the `putwc' function. */ -#define HAVE_PUTWC 1 - -/* Define to 1 if you have the `putwchar' function. */ -#define HAVE_PUTWCHAR 1 - /* Define to 1 if you have the `qfpclass' function. */ /* #undef HAVE_QFPCLASS */ @@ -485,6 +295,9 @@ /* Define to 1 if you have the `sqrtl' function. */ /* #undef HAVE_SQRTL */ +/* Define to 1 if you have the <stdbool.h> header file. */ +#define HAVE_STDBOOL_H 1 + /* Define to 1 if you have the <stdint.h> header file. */ #define HAVE_STDINT_H 1 @@ -503,18 +316,15 @@ /* Define to 1 if you have the `strtold' function. */ #define HAVE_STRTOLD 1 -/* Define to 1 if you have the `swprintf' function. */ -#define HAVE_SWPRINTF 1 - -/* Define to 1 if you have the `swscanf' function. */ -#define HAVE_SWSCANF 1 - /* Define to 1 if you have the <sys/filio.h> header file. */ #define HAVE_SYS_FILIO_H 1 /* Define to 1 if you have the <sys/ioctl.h> header file. */ #define HAVE_SYS_IOCTL_H 1 +/* Define to 1 if you have the <sys/ipc.h> header file. */ +#define HAVE_SYS_IPC_H 1 + /* Define to 1 if you have the <sys/isa_defs.h> header file. */ /* #undef HAVE_SYS_ISA_DEFS_H */ @@ -527,6 +337,9 @@ /* Define to 1 if you have the <sys/resource.h> header file. */ #define HAVE_SYS_RESOURCE_H 1 +/* Define to 1 if you have the <sys/sem.h> header file. */ +#define HAVE_SYS_SEM_H 1 + /* Define to 1 if you have the <sys/stat.h> header file. */ #define HAVE_SYS_STAT_H 1 @@ -539,6 +352,12 @@ /* Define to 1 if you have the <sys/uio.h> header file. */ #define HAVE_SYS_UIO_H 1 +/* Define if S_IFREG is available in <sys/stat.h>. */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in <sys/stat.h>. */ +#define HAVE_S_ISREG 1 + /* Define to 1 if you have the `tanf' function. */ #define HAVE_TANF 1 @@ -551,136 +370,38 @@ /* Define to 1 if you have the `tanl' function. */ /* #undef HAVE_TANL */ -/* Define to 1 if you have the `ungetwc' function. */ -#define HAVE_UNGETWC 1 +/* Define to 1 if the target supports thread-local storage. */ +#if !defined(__sparc64__) && !defined(__arm__) +#define HAVE_TLS 1 +#endif /* Define to 1 if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 -/* Define to 1 if you have the `vfwprintf' function. */ -#define HAVE_VFWPRINTF 1 - #if __ISO_C_VISIBLE >= 1999 -/* Define to 1 if you have the `vfwscanf' function. */ +/* Defined if vfwscanf exists. */ #define HAVE_VFWSCANF 1 -#endif - -/* Define to 1 if you have the `vswprintf' function. */ -#define HAVE_VSWPRINTF 1 -#if __ISO_C_VISIBLE >= 1999 -/* Define to 1 if you have the `vswscanf' function. */ +/* Defined if vswscanf exists. */ #define HAVE_VSWSCANF 1 -#endif -/* Define to 1 if you have the `vwprintf' function. */ -#define HAVE_VWPRINTF 1 - -#if __ISO_C_VISIBLE >= 1999 -/* Define to 1 if you have the `vwscanf' function. */ +/* Defined if vwscanf exists. */ #define HAVE_VWSCANF 1 -#endif +#endif /* __ISO_C_VISIBLE >= 1999 */ /* Define to 1 if you have the <wchar.h> header file. */ #define HAVE_WCHAR_H 1 -/* Define to 1 if you have the `wcrtomb' function. */ -#define HAVE_WCRTOMB 1 - -/* Define to 1 if you have the `wcscat' function. */ -#define HAVE_WCSCAT 1 - -/* Define to 1 if you have the `wcschr' function. */ -#define HAVE_WCSCHR 1 - -/* Define to 1 if you have the `wcscmp' function. */ -#define HAVE_WCSCMP 1 - -/* Define to 1 if you have the `wcscoll' function. */ -#define HAVE_WCSCOLL 1 - -/* Define to 1 if you have the `wcscpy' function. */ -#define HAVE_WCSCPY 1 - -/* Define to 1 if you have the `wcscspn' function. */ -#define HAVE_WCSCSPN 1 - -/* Define to 1 if you have the `wcsftime' function. */ -#define HAVE_WCSFTIME 1 - -/* Define to 1 if you have the `wcslen' function. */ -#define HAVE_WCSLEN 1 - -/* Define to 1 if you have the `wcsncat' function. */ -#define HAVE_WCSNCAT 1 - -/* Define to 1 if you have the `wcsncmp' function. */ -#define HAVE_WCSNCMP 1 - -/* Define to 1 if you have the `wcsncpy' function. */ -#define HAVE_WCSNCPY 1 - -/* Define to 1 if you have the `wcspbrk' function. */ -#define HAVE_WCSPBRK 1 - -/* Define to 1 if you have the `wcsrchr' function. */ -#define HAVE_WCSRCHR 1 - -/* Define to 1 if you have the `wcsrtombs' function. */ -#define HAVE_WCSRTOMBS 1 - -/* Define to 1 if you have the `wcsspn' function. */ -#define HAVE_WCSSPN 1 - -/* Define to 1 if you have the `wcsstr' function. */ -#define HAVE_WCSSTR 1 - -/* Define to 1 if you have the `wcstod' function. */ -#define HAVE_WCSTOD 1 - #if __ISO_C_VISIBLE >= 1999 -/* Define to 1 if you have the `wcstof' function. */ +/* Defined if wcstof exists. */ #define HAVE_WCSTOF 1 -#endif - -/* Define to 1 if you have the `wcstok' function. */ -#define HAVE_WCSTOK 1 - -/* Define to 1 if you have the `wcstol' function. */ -#define HAVE_WCSTOL 1 - -/* Define to 1 if you have the `wcstoul' function. */ -#define HAVE_WCSTOUL 1 - -/* Define to 1 if you have the `wcsxfrm' function. */ -#define HAVE_WCSXFRM 1 - -/* Define to 1 if you have the `wctob' function. */ -#define HAVE_WCTOB 1 +#endif /* __ISO_C_VISIBLE >= 1999 */ /* Define to 1 if you have the <wctype.h> header file. */ #define HAVE_WCTYPE_H 1 -/* Define to 1 if you have the `wmemchr' function. */ -#define HAVE_WMEMCHR 1 - -/* Define to 1 if you have the `wmemcmp' function. */ -#define HAVE_WMEMCMP 1 - -/* Define to 1 if you have the `wmemcpy' function. */ -#define HAVE_WMEMCPY 1 - -/* Define to 1 if you have the `wmemmove' function. */ -#define HAVE_WMEMMOVE 1 - -/* Define to 1 if you have the `wmemset' function. */ -#define HAVE_WMEMSET 1 - -/* Define to 1 if you have the `wprintf' function. */ -#define HAVE_WPRINTF 1 - -/* Define to 1 if you have the `wscanf' function. */ -#define HAVE_WSCANF 1 +/* Define if writev is available in <sys/uio.h>. */ +#define HAVE_WRITEV 1 /* Define to 1 if you have the `_acosf' function. */ /* #undef HAVE__ACOSF */ @@ -817,6 +538,9 @@ /* Define to 1 if you have the `_logl' function. */ /* #undef HAVE__LOGL */ +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + /* Define to 1 if you have the `_modff' function. */ /* #undef HAVE__MODFF */ @@ -871,6 +595,48 @@ /* Define to 1 if you have the `_tanl' function. */ /* #undef HAVE__TANL */ +/* Define if the compiler/host combination has __builtin_abs. */ +#define HAVE___BUILTIN_ABS 1 + +/* Define if the compiler/host combination has __builtin_cos. */ +#define HAVE___BUILTIN_COS 1 + +/* Define if the compiler/host combination has __builtin_cosf. */ +#define HAVE___BUILTIN_COSF 1 + +/* Define if the compiler/host combination has __builtin_cosl. */ +#define HAVE___BUILTIN_COSL 1 + +/* Define if the compiler/host combination has __builtin_fabs. */ +#define HAVE___BUILTIN_FABS 1 + +/* Define if the compiler/host combination has __builtin_fabsf. */ +#define HAVE___BUILTIN_FABSF 1 + +/* Define if the compiler/host combination has __builtin_fabsl. */ +#define HAVE___BUILTIN_FABSL 1 + +/* Define if the compiler/host combination has __builtin_labs. */ +#define HAVE___BUILTIN_LABS 1 + +/* Define if the compiler/host combination has __builtin_sin. */ +#define HAVE___BUILTIN_SIN 1 + +/* Define if the compiler/host combination has __builtin_sinf. */ +#define HAVE___BUILTIN_SINF 1 + +/* Define if the compiler/host combination has __builtin_sinl. */ +#define HAVE___BUILTIN_SINL 1 + +/* Define if the compiler/host combination has __builtin_sqrt. */ +#define HAVE___BUILTIN_SQRT 1 + +/* Define if the compiler/host combination has __builtin_sqrtf. */ +#define HAVE___BUILTIN_SQRTF 1 + +/* Define if the compiler/host combination has __builtin_sqrtl. */ +#define HAVE___BUILTIN_SQRTL 1 + /* Define to 1 if you have the `__signbit' function. */ #define HAVE___SIGNBIT 1 @@ -880,6 +646,9 @@ /* Define to 1 if you have the `__signbitl' function. */ #define HAVE___SIGNBITL 1 +/* Name of package */ +/* #undef PACKAGE */ + /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "" @@ -898,59 +667,110 @@ /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations are supported on this host. */ +#if defined(__amd64__) +#define _GLIBCXX_ATOMIC_BUILTINS 1 +#endif + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + /* Define to 1 if a full hosted library is built, or 0 if freestanding. */ #define _GLIBCXX_HOSTED 1 -/* Define if the compiler is configured for setjmp/longjmp exceptions. */ -/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ -// -// Systems that have certain non-standard functions prefixed with an -// underscore, we'll handle those here. Must come after config.h.in. -// -#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) -# define HAVE_ISNAN 1 -# define isnan _isnan -#endif +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ -#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) -# define HAVE_ISNANF 1 -# define isnanf _isnanf +/* Define if ptrdiff_t is int. */ +#if !defined(__LP64__) +#define _GLIBCXX_PTRDIFF_T_IS_INT 1 #endif -#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) -# define HAVE_ISNANL 1 -# define isnanl _isnanl -#endif +/* Define if using setrlimit to set resource limits during "make check" */ +#define _GLIBCXX_RES_LIMITS 1 -#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) -# define HAVE_ISINF 1 -# define isinf _isinf +/* Define if size_t is unsigned int. */ +#if !defined(__LP64__) +#define _GLIBCXX_SIZE_T_IS_UINT 1 #endif -#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) -# define HAVE_ISINFF 1 -# define isinff _isinff -#endif +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ -#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) -# define HAVE_ISINFL 1 -# define isinfl _isinfl -#endif +/* Define to use symbol versioning in the shared library. */ +#define _GLIBCXX_SYMVER 1 -#if defined (HAVE__COPYSIGN) && ! defined (HAVE_COPYSIGN) -# define HAVE_COPYSIGN 1 -# define copysign _copysign -#endif +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ -#if defined (HAVE__COPYSIGNL) && ! defined (HAVE_COPYSIGNL) -# define HAVE_COPYSIGNL 1 -# define copysignl _copysignl -#endif +/* Define to use GNU versioning in the shared library. */ +#define _GLIBCXX_SYMVER_GNU 1 -#if defined (HAVE__COSF) && ! defined (HAVE_COSF) -# define HAVE_COSF 1 -# define cosf _cosf -#endif +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>, + <stdio.h>, and <stdlib.h> can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in <complex.h> should be used in <complex>. Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in <complex.h> should be used in <tr1/complex>. + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX_TR1 */ + +/* Define if C99 functions in <ctype.h> should be imported in <tr1/cctype> in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in <fenv.h> should be imported in <tr1/cfenv> in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_FENV_TR1 1 + +/* Define if C99 functions in <inttypes.h> should be imported in + <tr1/cinttypes> in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if C99 functions or macros in <math.h> should be imported in <cmath> + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in <math.h> should be imported in + <tr1/cmath> in namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ + +/* Define if C99 types in <stdint.h> should be imported in <tr1/cstdint> in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Define if iconv and related functions exist and are usable. */ +#define _GLIBCXX_USE_ICONV 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if dev/random and dev/urandom are available for the random_device of + TR1 (Chapter 5.1). */ +#define _GLIBCXX_USE_RANDOM_TR1 1 + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 #if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) # define HAVE_ACOSF 1 @@ -972,6 +792,16 @@ # define asinl _asinl #endif +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + #if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) # define HAVE_ATANF 1 # define atanf _atanf @@ -984,27 +814,32 @@ #if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) # define HAVE_CEILF 1 -# define aceil _ceilf +# define ceilf _ceilf #endif #if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) # define HAVE_CEILL 1 -# define aceil _ceill +# define ceill _ceill #endif -#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) -# define HAVE_COSHF 1 -# define coshf _coshf +#if defined (HAVE__COPYSIGN) && ! defined (HAVE_COPYSIGN) +# define HAVE_COPYSIGN 1 +# define copysign _copysign #endif -#if defined (HAVE__COSL) && ! defined (HAVE_COSL) -# define HAVE_COSL 1 -# define cosl _cosl +#if defined (HAVE__COPYSIGNL) && ! defined (HAVE_COPYSIGNL) +# define HAVE_COPYSIGNL 1 +# define copysignl _copysignl #endif -#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) -# define HAVE_LOGF 1 -# define logf _logf +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf #endif #if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) @@ -1012,6 +847,11 @@ # define coshl _coshl #endif +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + #if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) # define HAVE_EXPF 1 # define expf _expf @@ -1032,6 +872,21 @@ # define fabsl _fabsl #endif +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + #if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) # define HAVE_FLOORF 1 # define floorf _floorf @@ -1052,6 +907,11 @@ # define fmodl _fmodl #endif +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + #if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) # define HAVE_FREXPF 1 # define frexpf _frexpf @@ -1062,6 +922,51 @@ # define frexpl _frexpl #endif +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + #if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) # define HAVE_LDEXPF 1 # define ldexpf _ldexpf @@ -1077,29 +982,64 @@ # define log10f _log10f #endif +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + #if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) # define HAVE_LOGL 1 # define logl _logl #endif +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + #if defined (HAVE__POWF) && ! defined (HAVE_POWF) # define HAVE_POWF 1 # define powf _powf #endif -#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) -# define HAVE_LOG10L 1 -# define log10l _log10l +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl #endif -#if defined (HAVE__MODF) && ! defined (HAVE_MODF) -# define HAVE_MODF 1 -# define modf _modf +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos #endif -#if defined (HAVE__MODL) && ! defined (HAVE_MODL) -# define HAVE_MODL 1 -# define modl _modl +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl #endif #if defined (HAVE__SINF) && ! defined (HAVE_SINF) @@ -1107,16 +1047,16 @@ # define sinf _sinf #endif -#if defined (HAVE__POWL) && ! defined (HAVE_POWL) -# define HAVE_POWL 1 -# define powl _powl -#endif - #if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) # define HAVE_SINHF 1 # define sinhf _sinhf #endif +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + #if defined (HAVE__SINL) && ! defined (HAVE_SINL) # define HAVE_SINL 1 # define sinl _sinl @@ -1127,88 +1067,37 @@ # define sqrtf _sqrtf #endif -#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) -# define HAVE_SINHL 1 -# define sinhl _sinhl -#endif - -#if defined (HAVE__TANF) && ! defined (HAVE_TANF) -# define HAVE_TANF 1 -# define tanf _tanf -#endif - #if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) # define HAVE_SQRTL 1 # define sqrtl _sqrtl #endif -#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) -# define HAVE_TANHF 1 -# define tanhf _tanhf -#endif - -#if defined (HAVE__TANL) && ! defined (HAVE_TANL) -# define HAVE_TANF 1 -# define tanf _tanf -#endif - #if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) # define HAVE_STRTOF 1 # define strtof _strtof #endif -#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) -# define HAVE_TANHL 1 -# define tanhl _tanhl -#endif - #if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) # define HAVE_STRTOLD 1 # define strtold _strtold #endif -#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) -# define HAVE_SINCOS 1 -# define sincos _sincos -#endif - -#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) -# define HAVE_SINCOSF 1 -# define sincosf _sincosf -#endif - -#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) -# define HAVE_SINCOSL 1 -# define sincosl _sincosl -#endif - -#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) -# define HAVE_FINITE 1 -# define finite _finite -#endif - -#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) -# define HAVE_FINITEF 1 -# define finitef _finitef -#endif - -#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) -# define HAVE_FINITEL 1 -# define finitel _finitel +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf #endif -#if defined (HAVE__QFINITE) && ! defined (HAVE_QFINITE) -# define HAVE_QFINITE 1 -# define qfinite _qfinite +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf #endif -#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) -# define HAVE_FPCLASS 1 -# define fpclass _fpclass +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl #endif -#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) -# define HAVE_QFPCLASS 1 -# define qfpclass _qfpclass +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl #endif - diff --git a/gnu/lib/libsupc++/Makefile b/gnu/lib/libsupc++/Makefile index 011556e..54e96b8 100644 --- a/gnu/lib/libsupc++/Makefile +++ b/gnu/lib/libsupc++/Makefile @@ -1,14 +1,15 @@ # $FreeBSD$ GCCDIR= ${.CURDIR}/../../../contrib/gcc +GCCLIB= ${.CURDIR}/../../../contrib/gcclibs SRCDIR= ${.CURDIR}/../../../contrib/libstdc++/libsupc++ -.PATH: ${SRCDIR} ${GCCDIR} +.PATH: ${SRCDIR} ${GCCLIB}/libiberty # Static only. LIB= supc++ -SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc \ - eh_aux_runtime.cc eh_catch.cc eh_exception.cc eh_globals.cc \ +SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_arm.cc \ + eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc \ eh_personality.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc \ eh_type.cc eh_unex_handler.cc guard.cc new_handler.cc new_op.cc \ new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc \ @@ -18,12 +19,19 @@ SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc \ SRCS+= cp-demangle.c CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H -CFLAGS+= -I${SRCDIR} -I${GCCDIR} -I${.CURDIR}/../libstdc++ +CFLAGS+= -I${GCCLIB}/include -I${SRCDIR} -I${GCCDIR} +CFLAGS+= -I${.CURDIR}/../libstdc++ -I. CFLAGS+= -frandom-seed=RepeatabilityConsideredGood CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections HDRS= exception new typeinfo cxxabi.h exception_defines.h INCS= ${HDRS:S;^;${SRCDIR}/;} -INCSDIR=${INCLUDEDIR}/c++/3.4 +INCSDIR=${INCLUDEDIR}/c++/4.2 + +unwind.h: ${GCCDIR}/unwind-generic.h + ln -sf ${.ALLSRC} ${.TARGET} + +SRCS+= unwind.h +CLEANFILES+= unwind.h .include <bsd.lib.mk> |