Add some build glue for libstdc++. I'm not a C++ person, but this seems

to work at least for the non-hairy stuff.  The main wrinkle here is that
a whole mess of include files get installed and under different names.
An earlier version of this built a shadow include tree first in the obj
directory, but this depends on the 'make includes' functionality.

More tweaking is certainly going to be needed.
This commit is contained in:
peter 2002-05-29 00:45:51 +00:00
parent 43c4a49998
commit 61220912c5
12 changed files with 1428 additions and 179 deletions

View File

@ -8,10 +8,10 @@ SUBDIR+= libgcc_r
.endif
.endif
.if notyet
# libsupc++ uses libstdc++ headers, although 'make includes' should
# have taken care of that already.
.if !defined(NO_CXX)
SUBDIR+= libsupc++ libstdc++
.endif
SUBDIR+= libstdc++ libsupc++
.endif
.if !defined(NO_OBJC)

View File

@ -1,8 +1,12 @@
# $FreeBSD$
SRCDIR= ${.CURDIR}/../../../contrib/libstdc++-v3/src
GCCDIR= ${.CURDIR}/../../../contrib/gcc
SRCDIR= ${.CURDIR}/../../../contrib/libstdc++
SUPDIR= ${SRCDIR}/libsupc++
.PATH: ${SRCDIR}/src ${SRCDIR}/libmath ${SRCDIR}/config/io \
${SRCDIR}/config/locale/generic ${SRCDIR} ${SRCDIR}/std
${SRCDIR}/config/locale/generic ${SRCDIR} ${SRCDIR}/std \
${SUPDIR}
SUBDIR= doc
@ -10,18 +14,17 @@ LIB= stdc++
SHLIB_MAJOR= 4
SHLIB_MINOR= 0
CFLAGS+= -DHAVE_CONFIG_H
CFLAGS+= -I${.CURDIR} -I${SRCDIR}/include -I.
CXXFLAGS+= -nostdinc++ \
-fno-implicit-templates -ffunction-sections -fdata-sections
LDFLAGS+= -version-info 4:0:0 -Wl,--version-script=linker.map
CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H
CFLAGS+= -I${.CURDIR} -I${SUPDIR} -I${GCCDIR}
CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections -Wno-deprecated
#LDFLAGS+= -Wl,-version-info,4:0:0 -Wl,--version-script=${SRCDIR}/src/linker.map
LDADD+= -lm -lsupc++
DPADD+= ${LIBM} ${LIBSUPCXX}
LDADD+= -lm
DPADD+= ${LIBM}
# libstdc++ sources (libstdc++-v3/src/Makefile.in, do not reorder)
# libstdc++ sources (libstdc++/src/Makefile.in, do not reorder)
SRCS+= globals.cc limits.cc basic_file_stdio.cc complex_io.cc ios.cc \
strstream.cc cmath.cc bitset.cc functexcept.cc stdexcept.cc \
strstream-fixed.cc cmath.cc bitset.cc functexcept.cc stdexcept.cc \
vterminate.cc c_locale.cc locale.cc localename.cc codecvt.cc \
collate_members.cc ctype_members.cc messages_members.cc \
monetary_members.cc numeric_members.cc time_members.cc concept-inst.cc \
@ -31,66 +34,68 @@ SRCS+= globals.cc limits.cc basic_file_stdio.cc complex_io.cc ios.cc \
# C parts of math
SRCS+= nan.c signbit.c signbitf.c signbitl.c # stubs.c
#------------------------------------------------------------------------------
# From libstdc++-v3/include/Makefile.am
# 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 eh_personality.cc eh_terminate.cc eh_throw.cc eh_type.cc \
new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc \
pure.cc tinfo.cc tinfo2.cc vec.cc
BITHDRS=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 fpos.h fstream.tcc functexcept.h generic_shadow.h \
gslice.h gslice_array.h indirect_array.h ios_base.h istream.tcc \
locale_facets.h locale_facets.tcc localefwd.h mask_array.h ostream.tcc \
pthread_allocimpl.h stream_iterator.h streambuf_iterator.h slice.h \
slice_array.h sstream.tcc \
stl_algo.h stl_algobase.h stl_alloc.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_pthread_alloc.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 valarray_array.h \
valarray_array.tcc valarray_meta.h
# from libiberty:
SRCS+= ${GCCDIR}/cp-demangle.c ${GCCDIR}/dyn-string.c
BKWHDRS=complex.h iomanip.h istream.h ostream.h stream.h streambuf.h algo.h \
algobase.h alloc.h bvector.h defalloc.h deque.h function.h hash_map.h \
hash_set.h hashtable.h heap.h iostream.h iterator.h list.h map.h \
multimap.h new.h multiset.h pair.h queue.h rope.h set.h slist.h \
stack.h tempbuf.h tree.h vector.h fstream.h strstream.h strstream \
backward_warning.h
strstream-fixed.cc: ${SRCDIR}/src/strstream.cc
sed -e 's,^#include <strstream.h>,#include <backward/strstream.h>,g' \
< ${SRCDIR}/src/strstream.cc > strstream-fixed.cc
EXTHDRS=algorithm functional hash_map hash_set iterator memory numeric \
rb_tree rope ropeimpl.h slist stl_hash_fun.h stl_hashtable.h stl_rope.h
CLEANFILES+= strstream-fixed.cc
# This is the common subset of files that all three "C" header models use.
BASEDHDRS=std_cassert.h std_cctype.h std_cerrno.h std_cfloat.h std_ciso646.h \
std_climits.h std_clocale.h std_cmath.h std_csetjmp.h std_csignal.h \
std_cstdarg.h std_cstddef.h std_cstdio.h std_cstdlib.h std_cstring.h \
std_ctime.h std_cwchar.h std_cwctype.h \
cmath.tcc
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 std_iosfwd.h std_iostream.h \
std_istream.h std_iterator.h std_limits.h std_list.h std_locale.h \
std_map.h std_memory.h std_numeric.h std_ostream.h std_queue.h \
std_set.h std_sstream.h std_stack.h std_stdexcept.h std_streambuf.h \
std_string.h std_utility.h std_valarray.h std_vector.h
TGTHDRS=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h \
atomicity.h cpu_limits.h
# These extra_target_headers files are all built with ad hoc naming rules.
XTGHDRS=basic_file.h c++config.h c++io.h c++locale.h messages_members.h \
codecvt_specializations.h
THDHDRS=gthr.h gthr-single.h gthr-posix.h gthr-default.h
BASEDHDRS_renamed= ${BASEDHDRS:Mstd_*:S/std_//g:S/.h//g}
STDHDRS_renamed= ${STDHDRS:Mstd_*:S/std_//g:S/.h//g}
INCS= _G_config.h ${HDRS:S;^;${SRCDIR}/;} ${IHDRS} ${STLHDRS}
INCSGROUPS= INCS STDHDRS
INCSDIR= ${INCLUDEDIR}/g++
STDHDRSDIR= ${INCLUDEDIR}/g++/std
BUILDHDRS= gthr.h gthr-single.h gthr-posix.h gthr-default.h
BASELINKS!= awk '$$0 !~ /^\#/ {print "include/" $$1, $$2}' ${.CURDIR}/includes.map
CONFIGLINKS!= awk '$$0 !~ /^\#/ {print "config/" $$1, $$2}' ${.CURDIR}/configs.map
CPULINKS!= awk '$$0 !~ /^\#/ {print "config/" $$1, $$2}' ${.CURDIR}/${MACHINE_ARCH}.map
INCLUDES= ${BASELINKS} ${CONFIGLINKS} ${CPULINKS}
gthr.h: ${GCCDIR}/gthr.h
sed -e '/^#/s/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*\)/_GLIBCPP_\1/g' \
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
< ${GCCDIR}/gthr.h > gthr.h
gthr-single.h: ${GCCDIR}/gthr-single.h
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
-e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCPP_\1/g' \
< ${GCCDIR}/gthr-single.h > gthr-single.h
gthr-posix.h: ${GCCDIR}/gthr-posix.h
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
-e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCPP_\1/g' \
-e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*WEAK\)/_GLIBCPP_\1/g' \
< ${GCCDIR}/gthr-posix.h > gthr-posix.h
gthr-default.h: ${GCCDIR}/gthr-posix.h
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
-e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCPP_\1/g' \
-e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*WEAK\)/_GLIBCPP_\1/g' \
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
< ${GCCDIR}/gthr-posix.h > gthr-default.h
CLEANFILES+= ${BUILDHDRS}
buildincludes: ${BUILDHDRS}
installincludes:
@set ${INCLUDES}; \
while test $$# -ge 2; do \
l=${SRCDIR}/$$1; \
shift; \
t=$$1; \
shift; \
${ECHO} $$l -\> ${DESTDIR}${INCSDIR}/$$t; \
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
$$l ${DESTDIR}${INCSDIR}/$$t; \
done; true
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
${BUILDHDRS} ${.CURDIR}/c++config.h ${DESTDIR}${INCSDIR}/bits
.include <bsd.lib.mk>

View File

@ -1,102 +0,0 @@
/* $FreeBSD$ */
/* XXX _G_VTABLE_LABEL_PREFIX is different between ELF and a.out */
/* AUTOMATICALLY GENERATED; DO NOT EDIT! */
#ifndef _G_config_h
#define _G_config_h
#define _G_LIB_VERSION "3.0.0"
#define _G_VTABLE_LABEL_HAS_LENGTH 1
#ifdef __ELF__
#define _G_NAMES_HAVE_UNDERSCORE 0
#define _G_VTABLE_LABEL_PREFIX "_vt$"
#define _G_VTABLE_LABEL_PREFIX_ID _vt$
#else
#define _G_NAMES_HAVE_UNDERSCORE 1
#define _G_VTABLE_LABEL_PREFIX "__vt$"
#endif
#define _G_HAVE_ST_BLKSIZE 1
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
typedef int _G_int8_t __attribute__((__mode__(__QI__)));
typedef unsigned int _G_uint8_t __attribute__((__mode__(__QI__)));
typedef int _G_int16_t __attribute__((__mode__(__HI__)));
typedef unsigned int _G_uint16_t __attribute__((__mode__(__HI__)));
typedef int _G_int32_t __attribute__((__mode__(__SI__)));
typedef unsigned int _G_uint32_t __attribute__((__mode__(__SI__)));
typedef int _G_int64_t __attribute__((__mode__(__DI__)));
typedef unsigned int _G_uint64_t __attribute__((__mode__(__DI__)));
#if __GNUC__ > 2 || __GNUC_MINOR__ >= 8
__extension__ typedef long long _G_llong;
__extension__ typedef unsigned long long _G_ullong;
#endif
#else
typedef short _G_int16_t;
typedef unsigned short _G_uint16_t;
typedef int _G_int32_t;
typedef unsigned int _G_uint32_t;
#endif
typedef unsigned long _G_clock_t;
typedef unsigned int _G_dev_t;
typedef int __attribute__((__mode__(__DI__))) _G_fpos_t;
typedef unsigned int _G_gid_t;
typedef unsigned int _G_ino_t;
typedef unsigned short _G_mode_t;
typedef unsigned short _G_nlink_t;
typedef int __attribute__((__mode__(__DI__))) _G_off_t;
typedef int _G_pid_t;
#ifndef __PTRDIFF_TYPE__
#define __PTRDIFF_TYPE__ int
#endif
typedef __PTRDIFF_TYPE__ _G_ptrdiff_t;
typedef unsigned int _G_sigset_t;
#ifndef __SIZE_TYPE__
#define __SIZE_TYPE__ unsigned int
#endif
typedef __SIZE_TYPE__ _G_size_t;
typedef long _G_time_t;
typedef unsigned int _G_uid_t;
typedef int _G_wchar_t;
#define _G_BUFSIZ 1024
#define _G_FOPEN_MAX 20
#define _G_FILENAME_MAX 1024
#if defined (__cplusplus) || defined (__STDC__)
#define _G_ARGS(ARGLIST) ARGLIST
#else
#define _G_ARGS(ARGLIST) ()
#endif
#if !defined (__GNUG__) || defined (__STRICT_ANSI__)
#define _G_NO_NRV
#endif
#if !defined (__GNUG__)
#define _G_NO_EXTERN_TEMPLATES
#endif
typedef int _G_ssize_t;
typedef int /* default */ _G_wint_t;
#ifdef __i386__
typedef char * _G_va_list;
#else
#define _G_NEED_STDARG_H
#define _G_va_list va_list
#endif /* __i386__ */
#define _G_signal_return_type void
#define _G_sprintf_return_type int
#define _G_HAVE_ATEXIT 1
#define _G_HAVE_SYS_RESOURCE 1
#define _G_HAVE_SYS_TIMES 1
#define _G_HAVE_SYS_SOCKET 1
#define _G_HAVE_SYS_CDEFS 1
#define _G_HAVE_SYS_WAIT 1
#define _G_HAVE_UNISTD 1
#define _G_HAVE_DIRENT 1
#define _G_HAVE_CURSES 1
#define _G_MATH_H_INLINES 0
#define _G_HAVE_BOOL 1
#define _G_HAVE_PRINTF_FP 0
#define _G_HAVE_LONG_DOUBLE_IO 0
/* #undef NULL */ /* FreeBSD 4.0-CURRENT has a proper 'NULL' definition. */
#define __need_NULL
#include <stddef.h>
#endif /* !_G_config_h */

View File

@ -0,0 +1,3 @@
# $FreeBSD$
cpu/alpha/bits/atomicity.h bits/atomicity.h
cpu/alpha/bits/cpu_limits.h bits/cpu_limits.h

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
# $FreeBSD$
io/basic_file_stdio.h bits/basic_file.h
io/c_io_stdio.h bits/c++io.h
locale/generic/c_locale.h bits/c++locale.h
locale/generic/codecvt_specializations.h bits/codecvt_specializations.h
locale/generic/messages_members.h bits/messages_members.h
os/bsd/freebsd/bits/ctype_base.h bits/ctype_base.h
os/bsd/freebsd/bits/ctype_inline.h bits/ctype_inline.h
os/bsd/freebsd/bits/ctype_noninline.h bits/ctype_noninline.h
os/bsd/freebsd/bits/os_defines.h bits/os_defines.h

View File

@ -0,0 +1,3 @@
# $FreeBSD$
cpu/i386/bits/atomicity.h bits/atomicity.h
cpu/i386/bits/cpu_limits.h bits/cpu_limits.h

View File

@ -0,0 +1,3 @@
# $FreeBSD$
cpu/ia64/bits/atomicity.h bits/atomicity.h
cpu/ia64/bits/cpu_limits.h bits/cpu_limits.h

View File

@ -0,0 +1,165 @@
# $FreeBSD$
backward/algo.h backward/algo.h
backward/algobase.h backward/algobase.h
backward/alloc.h backward/alloc.h
backward/backward_warning.h backward/backward_warning.h
backward/bvector.h backward/bvector.h
backward/complex.h backward/complex.h
backward/defalloc.h backward/defalloc.h
backward/deque.h backward/deque.h
backward/fstream.h backward/fstream.h
backward/function.h backward/function.h
backward/hash_map.h backward/hash_map.h
backward/hash_set.h backward/hash_set.h
backward/hashtable.h backward/hashtable.h
backward/heap.h backward/heap.h
backward/iomanip.h backward/iomanip.h
backward/iostream.h backward/iostream.h
backward/istream.h backward/istream.h
backward/iterator.h backward/iterator.h
backward/list.h backward/list.h
backward/map.h backward/map.h
backward/multimap.h backward/multimap.h
backward/multiset.h backward/multiset.h
backward/new.h backward/new.h
backward/ostream.h backward/ostream.h
backward/pair.h backward/pair.h
backward/queue.h backward/queue.h
backward/rope.h backward/rope.h
backward/set.h backward/set.h
backward/slist.h backward/slist.h
backward/stack.h backward/stack.h
backward/stream.h backward/stream.h
backward/streambuf.h backward/streambuf.h
backward/strstream backward/strstream
backward/strstream.h backward/strstream.h
backward/tempbuf.h backward/tempbuf.h
backward/tree.h backward/tree.h
backward/vector.h backward/vector.h
bits/basic_ios.h bits/basic_ios.h
bits/basic_ios.tcc bits/basic_ios.tcc
bits/basic_string.h bits/basic_string.h
bits/basic_string.tcc bits/basic_string.tcc
bits/boost_concept_check.h bits/boost_concept_check.h
bits/char_traits.h bits/char_traits.h
bits/codecvt.h bits/codecvt.h
bits/concept_check.h bits/concept_check.h
bits/cpp_type_traits.h bits/cpp_type_traits.h
bits/fpos.h bits/fpos.h
bits/fstream.tcc bits/fstream.tcc
bits/functexcept.h bits/functexcept.h
bits/generic_shadow.h bits/generic_shadow.h
bits/gslice.h bits/gslice.h
bits/gslice_array.h bits/gslice_array.h
bits/indirect_array.h bits/indirect_array.h
bits/ios_base.h bits/ios_base.h
bits/istream.tcc bits/istream.tcc
bits/locale_facets.h bits/locale_facets.h
bits/locale_facets.tcc bits/locale_facets.tcc
bits/localefwd.h bits/localefwd.h
bits/mask_array.h bits/mask_array.h
bits/ostream.tcc bits/ostream.tcc
bits/pthread_allocimpl.h bits/pthread_allocimpl.h
bits/slice.h bits/slice.h
bits/slice_array.h bits/slice_array.h
bits/sstream.tcc bits/sstream.tcc
bits/stl_algo.h bits/stl_algo.h
bits/stl_algobase.h bits/stl_algobase.h
bits/stl_alloc.h bits/stl_alloc.h
bits/stl_bvector.h bits/stl_bvector.h
bits/stl_construct.h bits/stl_construct.h
bits/stl_deque.h bits/stl_deque.h
bits/stl_function.h bits/stl_function.h
bits/stl_heap.h bits/stl_heap.h
bits/stl_iterator.h bits/stl_iterator.h
bits/stl_iterator_base_funcs.h bits/stl_iterator_base_funcs.h
bits/stl_iterator_base_types.h bits/stl_iterator_base_types.h
bits/stl_list.h bits/stl_list.h
bits/stl_map.h bits/stl_map.h
bits/stl_multimap.h bits/stl_multimap.h
bits/stl_multiset.h bits/stl_multiset.h
bits/stl_numeric.h bits/stl_numeric.h
bits/stl_pair.h bits/stl_pair.h
bits/stl_pthread_alloc.h bits/stl_pthread_alloc.h
bits/stl_queue.h bits/stl_queue.h
bits/stl_raw_storage_iter.h bits/stl_raw_storage_iter.h
bits/stl_relops.h bits/stl_relops.h
bits/stl_set.h bits/stl_set.h
bits/stl_stack.h bits/stl_stack.h
bits/stl_tempbuf.h bits/stl_tempbuf.h
bits/stl_threads.h bits/stl_threads.h
bits/stl_tree.h bits/stl_tree.h
bits/stl_uninitialized.h bits/stl_uninitialized.h
bits/stl_vector.h bits/stl_vector.h
bits/stream_iterator.h bits/stream_iterator.h
bits/streambuf.tcc bits/streambuf.tcc
bits/streambuf_iterator.h bits/streambuf_iterator.h
bits/stringfwd.h bits/stringfwd.h
bits/type_traits.h bits/type_traits.h
bits/valarray_array.h bits/valarray_array.h
bits/valarray_array.tcc bits/valarray_array.tcc
bits/valarray_meta.h bits/valarray_meta.h
c_std/cmath.tcc bits/cmath.tcc
c_std/std_cassert.h cassert
c_std/std_cctype.h cctype
c_std/std_cerrno.h cerrno
c_std/std_cfloat.h cfloat
c_std/std_ciso646.h ciso646
c_std/std_climits.h climits
c_std/std_clocale.h clocale
c_std/std_cmath.h cmath
c_std/std_csetjmp.h csetjmp
c_std/std_csignal.h csignal
c_std/std_cstdarg.h cstdarg
c_std/std_cstddef.h cstddef
c_std/std_cstdio.h cstdio
c_std/std_cstdlib.h cstdlib
c_std/std_cstring.h cstring
c_std/std_ctime.h ctime
c_std/std_cwchar.h cwchar
c_std/std_cwctype.h cwctype
ext/algorithm ext/algorithm
ext/enc_filebuf.h ext/enc_filebuf.h
ext/functional ext/functional
ext/hash_map ext/hash_map
ext/hash_set ext/hash_set
ext/iterator ext/iterator
ext/memory ext/memory
ext/numeric ext/numeric
ext/rb_tree ext/rb_tree
ext/rope ext/rope
ext/ropeimpl.h ext/ropeimpl.h
ext/slist ext/slist
ext/stdio_filebuf.h ext/stdio_filebuf.h
ext/stl_hash_fun.h ext/stl_hash_fun.h
ext/stl_hashtable.h ext/stl_hashtable.h
ext/stl_rope.h ext/stl_rope.h
std/std_algorithm.h algorithm
std/std_bitset.h bitset
std/std_complex.h complex
std/std_deque.h deque
std/std_fstream.h fstream
std/std_functional.h functional
std/std_iomanip.h iomanip
std/std_ios.h ios
std/std_iosfwd.h iosfwd
std/std_iostream.h iostream
std/std_istream.h istream
std/std_iterator.h iterator
std/std_limits.h limits
std/std_list.h list
std/std_locale.h locale
std/std_map.h map
std/std_memory.h memory
std/std_numeric.h numeric
std/std_ostream.h ostream
std/std_queue.h queue
std/std_set.h set
std/std_sstream.h sstream
std/std_stack.h stack
std/std_stdexcept.h stdexcept
std/std_streambuf.h streambuf
std/std_string.h string
std/std_utility.h utility
std/std_valarray.h valarray
std/std_vector.h vector

View File

@ -0,0 +1,3 @@
# $FreeBSD$
cpu/powerpc/bits/atomicity.h bits/atomicity.h
cpu/powerpc/bits/cpu_limits.h bits/cpu_limits.h

View File

@ -0,0 +1,3 @@
# $FreeBSD$
cpu/sparc/sparc64/bits/atomicity.h bits/atomicity.h
cpu/generic/bits/cpu_limits.h bits/cpu_limits.h

View File

@ -1,9 +1,12 @@
# $FreeBSD$
SRCDIR= ${.CURDIR}/../../../contrib/libstdc++-v3
.PATH: ${SRCDIR} ${SRCDIR}/../../gcc
GCCDIR= ${.CURDIR}/../../../contrib/gcc
SRCDIR= ${.CURDIR}/../../../contrib/libstdc++/libsupc++
LIB= stdc++
.PATH: ${SRCDIR} ${GCCDIR}
# 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 eh_personality.cc eh_terminate.cc eh_throw.cc eh_type.cc \
@ -14,12 +17,11 @@ SRCS= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc \
SRCS+= cp-demangle.c dyn-string.c
CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H
CFLAGS+= -I${SRCDIR}/../../gcc
CXXFLAGS+= -nostdinc++ \
-fno-implicit-templates -ffunction-sections -fdata-sections
CFLAGS+= -I${SRCDIR} -I${GCCDIR} -I${.CURDIR}/../libstdc++
CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections
HDRS= exception new typeinfo cxxabi.h exception_defines.h
INCS= ${HDRS:S;^;${SRCDIR}/;}
INCSDIR=${INCLUDEDIR}/g++-v3
INCSDIR=${INCLUDEDIR}/g++
.include <bsd.lib.mk>