5 LIBCXXRTDIR= ${SRCTOP}/contrib/libcxxrt
6 HDRDIR= ${SRCTOP}/contrib/libc++/include
7 SRCDIR= ${SRCTOP}/contrib/libc++/src
8 CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
14 SHLIB_LDSCRIPT= libc++.ldscript
19 condition_variable.cpp\
43 CXXRT_SRCS+= libelftc_dem_gnu3.c\
53 .for _S in ${CXXRT_SRCS}
54 CLEANFILES+= cxxrt_${_S}
55 STATICOBJS+= cxxrt_${_S:R}.o
57 ln -sf ${LIBCXXRTDIR}/${_S} ${.TARGET}
61 CFLAGS+= -I${HDRDIR} -I${LIBCXXRTDIR} -nostdlib -DLIBCXXRT
62 .if empty(CXXFLAGS:M-std=*)
68 INCSGROUPS= STD EXP EXT
70 STD_HEADERS= __bit_reference\
167 RT_HEADERS= cxxabi.h\
172 .for hdr in ${STD_HEADERS}
173 STD+= ${HDRDIR}/${hdr}
174 INCSLINKS+= ${CXXINCLUDEDIR}/${hdr} ${CXXINCLUDEDIR}/tr1/${hdr}
176 .for hdr in ${RT_HEADERS}
177 STD+= ${LIBCXXRTDIR}/${hdr}
179 STDDIR= ${CXXINCLUDEDIR}
181 EXP_HEADERS= __config\
188 .for hdr in ${EXP_HEADERS}
189 EXP+= ${HDRDIR}/experimental/${hdr}
191 EXPDIR= ${CXXINCLUDEDIR}/experimental
197 .for hdr in ${EXT_HEADERS}
198 EXT+= ${HDRDIR}/ext/${hdr}
200 EXTDIR= ${CXXINCLUDEDIR}/ext
202 .if ${MK_GNUCXX} == "no" && ${COMPILER_TYPE} == "gcc"
203 CLEANFILES+= libstdc++.so libstdc++.a
206 ln -sf ${DESTDIR}${LIBDIR}/lib${LIB}.so \
207 ${.OBJDIR}/libstdc++.so
208 ln -sf ${DESTDIR}${LIBDIR}/lib${LIB}.a \
209 ${.OBJDIR}/libstdc++.a
212 .include <bsd.lib.mk>