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\
75 __bsd_locale_defaults.h\
76 __bsd_locale_fallbacks.h\
188 RT_HEADERS= cxxabi.h\
193 .for hdr in ${STD_HEADERS}
194 STD+= ${HDRDIR}/${hdr}
195 INCSLINKS+= ../${hdr} ${CXXINCLUDEDIR}/tr1/${hdr}
197 .for hdr in ${RT_HEADERS}
198 STD+= ${_LIBCXXRTDIR}/${hdr}
200 STDDIR= ${CXXINCLUDEDIR}
202 EXP_HEADERS= __config\
231 .for hdr in ${EXP_HEADERS}
232 EXP+= ${HDRDIR}/experimental/${hdr}
234 EXPDIR= ${CXXINCLUDEDIR}/experimental
240 .for hdr in ${EXT_HEADERS}
241 EXT+= ${HDRDIR}/ext/${hdr}
243 EXTDIR= ${CXXINCLUDEDIR}/ext
245 .if ${MK_GNUCXX} == "no" && ${COMPILER_TYPE} == "gcc"
246 CLEANFILES+= libstdc++.so libstdc++.a
249 ${INSTALL_SYMLINK} ${DESTDIR}${LIBDIR}/lib${LIB}.so \
250 ${.OBJDIR}/libstdc++.so
251 ${INSTALL_SYMLINK} ${DESTDIR}${LIBDIR}/lib${LIB}.a \
252 ${.OBJDIR}/libstdc++.a
255 .include <bsd.lib.mk>