6 _LIBCXXRTDIR= ${.CURDIR}/../../contrib/libcxxrt
7 HDRDIR= ${.CURDIR}/../../contrib/libc++/include
8 SRCDIR= ${.CURDIR}/../../contrib/libc++/src
9 CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
10 .if ${MACHINE_CPUARCH} == "arm"
11 STATIC_CXXFLAGS+= -mlong-calls
18 SHLIB_LDSCRIPT= libc++.ldscript
24 condition_variable.cpp\
48 CXXRT_SRCS+= libelftc_dem_gnu3.c\
58 .for _S in ${CXXRT_SRCS}
59 CLEANFILES+= cxxrt_${_S}
60 STATICOBJS+= cxxrt_${_S:R}.o
61 cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA
62 ln -sf ${.ALLSRC} ${.TARGET}
66 CFLAGS+= -isystem ${HDRDIR} -isystem ${_LIBCXXRTDIR} -nostdinc++ -nostdlib -DLIBCXXRT
67 .if empty(CXXFLAGS:M-std=*)
72 INCSGROUPS= STD EXP EXT
74 STD_HEADERS= __bit_reference\
183 RT_HEADERS= cxxabi.h\
188 .for hdr in ${STD_HEADERS}
189 STD+= ${HDRDIR}/${hdr}
190 INCSLINKS+= ../${hdr} ${CXXINCLUDEDIR}/tr1/${hdr}
192 .for hdr in ${RT_HEADERS}
193 STD+= ${_LIBCXXRTDIR}/${hdr}
195 STDDIR= ${CXXINCLUDEDIR}
197 EXP_HEADERS= __config\
211 .for hdr in ${EXP_HEADERS}
212 EXP+= ${HDRDIR}/experimental/${hdr}
214 EXPDIR= ${CXXINCLUDEDIR}/experimental
220 .for hdr in ${EXT_HEADERS}
221 EXT+= ${HDRDIR}/ext/${hdr}
223 EXTDIR= ${CXXINCLUDEDIR}/ext
225 .if ${MK_GNUCXX} == "no" && ${COMPILER_TYPE} == "gcc"
226 CLEANFILES+= libstdc++.so libstdc++.a
229 ${INSTALL_SYMLINK} ${DESTDIR}${LIBDIR}/lib${LIB}.so \
230 ${.OBJDIR}/libstdc++.so
231 ${INSTALL_SYMLINK} ${DESTDIR}${LIBDIR}/lib${LIB}.a \
232 ${.OBJDIR}/libstdc++.a
235 .include <bsd.lib.mk>