2011-11-25 20:59:04 +00:00
|
|
|
# $FreeBSD$
|
|
|
|
|
2014-10-21 20:04:05 +00:00
|
|
|
.include <src.opts.mk>
|
|
|
|
|
2016-02-05 21:01:08 +00:00
|
|
|
PACKAGE= clibs
|
2017-01-09 22:46:47 +00:00
|
|
|
_LIBCXXRTDIR= ${SRCTOP}/contrib/libcxxrt
|
|
|
|
HDRDIR= ${SRCTOP}/contrib/libc++/include
|
|
|
|
SRCDIR= ${SRCTOP}/contrib/libc++/src
|
2012-06-02 11:00:48 +00:00
|
|
|
CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
|
2016-01-14 19:00:13 +00:00
|
|
|
.if ${MACHINE_CPUARCH} == "arm"
|
|
|
|
STATIC_CXXFLAGS+= -mlong-calls
|
|
|
|
.endif
|
2011-11-25 20:59:04 +00:00
|
|
|
|
|
|
|
.PATH: ${SRCDIR}
|
|
|
|
|
2012-06-02 11:00:48 +00:00
|
|
|
LIB= c++
|
|
|
|
SHLIB_MAJOR= 1
|
2013-08-03 16:23:43 +00:00
|
|
|
SHLIB_LDSCRIPT= libc++.ldscript
|
2011-11-25 20:59:04 +00:00
|
|
|
|
2017-01-09 22:46:47 +00:00
|
|
|
SRCS+= algorithm.cpp
|
|
|
|
SRCS+= any.cpp
|
|
|
|
SRCS+= bind.cpp
|
|
|
|
SRCS+= chrono.cpp
|
|
|
|
SRCS+= condition_variable.cpp
|
|
|
|
SRCS+= debug.cpp
|
|
|
|
SRCS+= exception.cpp
|
|
|
|
SRCS+= future.cpp
|
|
|
|
SRCS+= hash.cpp
|
|
|
|
SRCS+= ios.cpp
|
|
|
|
SRCS+= iostream.cpp
|
|
|
|
SRCS+= locale.cpp
|
|
|
|
SRCS+= memory.cpp
|
|
|
|
SRCS+= mutex.cpp
|
|
|
|
SRCS+= new.cpp
|
|
|
|
SRCS+= optional.cpp
|
|
|
|
SRCS+= random.cpp
|
|
|
|
SRCS+= regex.cpp
|
|
|
|
SRCS+= shared_mutex.cpp
|
|
|
|
SRCS+= stdexcept.cpp
|
|
|
|
SRCS+= string.cpp
|
|
|
|
SRCS+= strstream.cpp
|
|
|
|
SRCS+= system_error.cpp
|
|
|
|
SRCS+= thread.cpp
|
|
|
|
SRCS+= typeinfo.cpp
|
|
|
|
SRCS+= utility.cpp
|
|
|
|
SRCS+= valarray.cpp
|
2017-02-19 14:53:59 +00:00
|
|
|
SRCS+= variant.cpp
|
2017-01-09 22:46:47 +00:00
|
|
|
|
|
|
|
CXXRT_SRCS+= auxhelper.cc
|
|
|
|
CXXRT_SRCS+= dynamic_cast.cc
|
|
|
|
CXXRT_SRCS+= exception.cc
|
|
|
|
CXXRT_SRCS+= guard.cc
|
|
|
|
CXXRT_SRCS+= libelftc_dem_gnu3.c
|
|
|
|
CXXRT_SRCS+= memory.cc
|
|
|
|
CXXRT_SRCS+= stdexcept.cc
|
|
|
|
CXXRT_SRCS+= terminate.cc
|
|
|
|
CXXRT_SRCS+= typeinfo.cc
|
2012-08-25 13:15:44 +00:00
|
|
|
|
|
|
|
.for _S in ${CXXRT_SRCS}
|
2016-03-11 23:45:56 +00:00
|
|
|
CLEANFILES+= cxxrt_${_S}
|
2012-08-25 13:15:44 +00:00
|
|
|
STATICOBJS+= cxxrt_${_S:R}.o
|
2015-12-01 22:20:04 +00:00
|
|
|
cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA
|
2015-11-25 19:44:43 +00:00
|
|
|
ln -sf ${.ALLSRC} ${.TARGET}
|
2012-08-25 13:15:44 +00:00
|
|
|
.endfor
|
|
|
|
|
2012-06-02 11:00:48 +00:00
|
|
|
WARNS= 0
|
2017-01-08 19:39:03 +00:00
|
|
|
CFLAGS+= -isystem ${HDRDIR} -isystem ${_LIBCXXRTDIR} -nostdinc++ -nostdlib -D_LIBCPP_BUILDING_LIBRARY -DLIBCXXRT
|
2012-11-02 12:18:38 +00:00
|
|
|
.if empty(CXXFLAGS:M-std=*)
|
2014-08-25 08:40:36 +00:00
|
|
|
CXXFLAGS+= -std=c++11
|
2012-10-22 19:44:17 +00:00
|
|
|
.endif
|
2011-11-25 20:59:04 +00:00
|
|
|
|
2014-11-25 11:07:26 +00:00
|
|
|
LIBADD+= cxxrt
|
2014-01-30 07:44:22 +00:00
|
|
|
INCSGROUPS= STD EXP EXT
|
2011-11-25 20:59:04 +00:00
|
|
|
|
2017-01-09 22:46:47 +00:00
|
|
|
STD_HEADERS+= __bit_reference
|
|
|
|
STD_HEADERS+= __bsd_locale_defaults.h
|
|
|
|
STD_HEADERS+= __bsd_locale_fallbacks.h
|
|
|
|
STD_HEADERS+= __config
|
|
|
|
STD_HEADERS+= __debug
|
|
|
|
STD_HEADERS+= __functional_03
|
|
|
|
STD_HEADERS+= __functional_base
|
|
|
|
STD_HEADERS+= __functional_base_03
|
|
|
|
STD_HEADERS+= __hash_table
|
|
|
|
STD_HEADERS+= __libcpp_version
|
|
|
|
STD_HEADERS+= __locale
|
|
|
|
STD_HEADERS+= __mutex_base
|
|
|
|
STD_HEADERS+= __nullptr
|
|
|
|
STD_HEADERS+= __refstring
|
|
|
|
STD_HEADERS+= __split_buffer
|
|
|
|
STD_HEADERS+= __sso_allocator
|
|
|
|
STD_HEADERS+= __std_stream
|
|
|
|
STD_HEADERS+= __string
|
|
|
|
STD_HEADERS+= __threading_support
|
|
|
|
STD_HEADERS+= __tree
|
|
|
|
STD_HEADERS+= __tuple
|
|
|
|
STD_HEADERS+= __undef_min_max
|
|
|
|
STD_HEADERS+= algorithm
|
|
|
|
STD_HEADERS+= any
|
|
|
|
STD_HEADERS+= array
|
|
|
|
STD_HEADERS+= atomic
|
|
|
|
STD_HEADERS+= bitset
|
|
|
|
STD_HEADERS+= cassert
|
|
|
|
STD_HEADERS+= ccomplex
|
|
|
|
STD_HEADERS+= cctype
|
|
|
|
STD_HEADERS+= cerrno
|
|
|
|
STD_HEADERS+= cfenv
|
|
|
|
STD_HEADERS+= cfloat
|
|
|
|
STD_HEADERS+= chrono
|
|
|
|
STD_HEADERS+= cinttypes
|
|
|
|
STD_HEADERS+= ciso646
|
|
|
|
STD_HEADERS+= climits
|
|
|
|
STD_HEADERS+= clocale
|
|
|
|
STD_HEADERS+= cmath
|
|
|
|
STD_HEADERS+= codecvt
|
|
|
|
STD_HEADERS+= complex
|
|
|
|
STD_HEADERS+= complex.h
|
|
|
|
STD_HEADERS+= condition_variable
|
|
|
|
STD_HEADERS+= csetjmp
|
|
|
|
STD_HEADERS+= csignal
|
|
|
|
STD_HEADERS+= cstdarg
|
|
|
|
STD_HEADERS+= cstdbool
|
|
|
|
STD_HEADERS+= cstddef
|
|
|
|
STD_HEADERS+= cstdint
|
|
|
|
STD_HEADERS+= cstdio
|
|
|
|
STD_HEADERS+= cstdlib
|
|
|
|
STD_HEADERS+= cstring
|
|
|
|
STD_HEADERS+= ctgmath
|
|
|
|
STD_HEADERS+= ctime
|
|
|
|
STD_HEADERS+= ctype.h
|
|
|
|
STD_HEADERS+= cwchar
|
|
|
|
STD_HEADERS+= cwctype
|
|
|
|
STD_HEADERS+= deque
|
|
|
|
STD_HEADERS+= errno.h
|
|
|
|
STD_HEADERS+= exception
|
|
|
|
STD_HEADERS+= float.h
|
|
|
|
STD_HEADERS+= forward_list
|
|
|
|
STD_HEADERS+= fstream
|
|
|
|
STD_HEADERS+= functional
|
|
|
|
STD_HEADERS+= future
|
|
|
|
STD_HEADERS+= initializer_list
|
|
|
|
STD_HEADERS+= inttypes.h
|
|
|
|
STD_HEADERS+= iomanip
|
|
|
|
STD_HEADERS+= ios
|
|
|
|
STD_HEADERS+= iosfwd
|
|
|
|
STD_HEADERS+= iostream
|
|
|
|
STD_HEADERS+= istream
|
|
|
|
STD_HEADERS+= iterator
|
|
|
|
STD_HEADERS+= limits
|
|
|
|
STD_HEADERS+= limits.h
|
|
|
|
STD_HEADERS+= list
|
|
|
|
STD_HEADERS+= locale
|
|
|
|
STD_HEADERS+= locale.h
|
|
|
|
STD_HEADERS+= map
|
|
|
|
STD_HEADERS+= math.h
|
|
|
|
STD_HEADERS+= memory
|
|
|
|
STD_HEADERS+= mutex
|
|
|
|
STD_HEADERS+= new
|
|
|
|
STD_HEADERS+= numeric
|
|
|
|
STD_HEADERS+= optional
|
|
|
|
STD_HEADERS+= ostream
|
|
|
|
STD_HEADERS+= queue
|
|
|
|
STD_HEADERS+= random
|
|
|
|
STD_HEADERS+= ratio
|
|
|
|
STD_HEADERS+= regex
|
|
|
|
STD_HEADERS+= scoped_allocator
|
|
|
|
STD_HEADERS+= set
|
|
|
|
STD_HEADERS+= setjmp.h
|
|
|
|
STD_HEADERS+= shared_mutex
|
|
|
|
STD_HEADERS+= sstream
|
|
|
|
STD_HEADERS+= stack
|
|
|
|
STD_HEADERS+= stdbool.h
|
|
|
|
STD_HEADERS+= stddef.h
|
|
|
|
STD_HEADERS+= stdexcept
|
|
|
|
STD_HEADERS+= stdint.h
|
|
|
|
STD_HEADERS+= stdio.h
|
|
|
|
STD_HEADERS+= stdlib.h
|
|
|
|
STD_HEADERS+= streambuf
|
|
|
|
STD_HEADERS+= string
|
|
|
|
STD_HEADERS+= string.h
|
|
|
|
STD_HEADERS+= string_view
|
|
|
|
STD_HEADERS+= strstream
|
|
|
|
STD_HEADERS+= system_error
|
|
|
|
STD_HEADERS+= tgmath.h
|
|
|
|
STD_HEADERS+= thread
|
|
|
|
STD_HEADERS+= tuple
|
|
|
|
STD_HEADERS+= type_traits
|
|
|
|
STD_HEADERS+= typeindex
|
|
|
|
STD_HEADERS+= typeinfo
|
|
|
|
STD_HEADERS+= unordered_map
|
|
|
|
STD_HEADERS+= unordered_set
|
|
|
|
STD_HEADERS+= utility
|
|
|
|
STD_HEADERS+= valarray
|
|
|
|
STD_HEADERS+= variant
|
|
|
|
STD_HEADERS+= vector
|
|
|
|
STD_HEADERS+= wchar.h
|
|
|
|
STD_HEADERS+= wctype.h
|
|
|
|
|
|
|
|
RT_HEADERS+= cxxabi.h
|
|
|
|
RT_HEADERS+= unwind-arm.h
|
|
|
|
RT_HEADERS+= unwind-itanium.h
|
|
|
|
RT_HEADERS+= unwind.h
|
2011-11-25 20:59:04 +00:00
|
|
|
|
|
|
|
.for hdr in ${STD_HEADERS}
|
2012-06-02 11:00:48 +00:00
|
|
|
STD+= ${HDRDIR}/${hdr}
|
2016-05-28 16:38:09 +00:00
|
|
|
INCSLINKS+= ../${hdr} ${CXXINCLUDEDIR}/tr1/${hdr}
|
2011-11-25 20:59:04 +00:00
|
|
|
.endfor
|
2012-06-02 11:07:19 +00:00
|
|
|
.for hdr in ${RT_HEADERS}
|
2015-12-01 22:20:04 +00:00
|
|
|
STD+= ${_LIBCXXRTDIR}/${hdr}
|
2012-06-02 11:07:19 +00:00
|
|
|
.endfor
|
2012-06-02 11:00:48 +00:00
|
|
|
STDDIR= ${CXXINCLUDEDIR}
|
2011-11-25 20:59:04 +00:00
|
|
|
|
2017-01-09 22:46:47 +00:00
|
|
|
EXP_HEADERS+= __config
|
|
|
|
EXP_HEADERS+= __memory
|
|
|
|
EXP_HEADERS+= algorithm
|
|
|
|
EXP_HEADERS+= any
|
|
|
|
EXP_HEADERS+= chrono
|
|
|
|
EXP_HEADERS+= deque
|
|
|
|
EXP_HEADERS+= dynarray
|
|
|
|
EXP_HEADERS+= filesystem
|
|
|
|
EXP_HEADERS+= forward_list
|
|
|
|
EXP_HEADERS+= functional
|
|
|
|
EXP_HEADERS+= iterator
|
|
|
|
EXP_HEADERS+= list
|
|
|
|
EXP_HEADERS+= map
|
|
|
|
EXP_HEADERS+= memory_resource
|
|
|
|
EXP_HEADERS+= numeric
|
|
|
|
EXP_HEADERS+= optional
|
|
|
|
EXP_HEADERS+= propagate_const
|
|
|
|
EXP_HEADERS+= ratio
|
|
|
|
EXP_HEADERS+= regex
|
|
|
|
EXP_HEADERS+= set
|
|
|
|
EXP_HEADERS+= string
|
|
|
|
EXP_HEADERS+= string_view
|
|
|
|
EXP_HEADERS+= system_error
|
|
|
|
EXP_HEADERS+= tuple
|
|
|
|
EXP_HEADERS+= type_traits
|
|
|
|
EXP_HEADERS+= unordered_map
|
|
|
|
EXP_HEADERS+= unordered_set
|
|
|
|
EXP_HEADERS+= utility
|
|
|
|
EXP_HEADERS+= vector
|
2014-01-30 07:44:22 +00:00
|
|
|
|
|
|
|
.for hdr in ${EXP_HEADERS}
|
|
|
|
EXP+= ${HDRDIR}/experimental/${hdr}
|
|
|
|
.endfor
|
|
|
|
EXPDIR= ${CXXINCLUDEDIR}/experimental
|
|
|
|
|
2017-01-09 22:46:47 +00:00
|
|
|
EXT_HEADERS+= __hash
|
|
|
|
EXT_HEADERS+= hash_map
|
|
|
|
EXT_HEADERS+= hash_set
|
2011-11-25 20:59:04 +00:00
|
|
|
|
|
|
|
.for hdr in ${EXT_HEADERS}
|
2012-06-02 11:00:48 +00:00
|
|
|
EXT+= ${HDRDIR}/ext/${hdr}
|
2011-11-25 20:59:04 +00:00
|
|
|
.endfor
|
2012-06-02 11:00:48 +00:00
|
|
|
EXTDIR= ${CXXINCLUDEDIR}/ext
|
2011-11-25 20:59:04 +00:00
|
|
|
|
|
|
|
.include <bsd.lib.mk>
|