From f9d08bf685d1f548cb3959a9871de918fe458665 Mon Sep 17 00:00:00 2001 From: Patrick Wildt Date: Sun, 4 Sep 2016 12:48:35 +0000 Subject: Add makefiles to compile libc++, libc++abi and libunwind. Tweaks from pascal@ ok guenther@ kettenis@ --- lib/libcxxabi/Makefile | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 lib/libcxxabi/Makefile (limited to 'lib/libcxxabi/Makefile') diff --git a/lib/libcxxabi/Makefile b/lib/libcxxabi/Makefile new file mode 100644 index 00000000000..cff5841be9e --- /dev/null +++ b/lib/libcxxabi/Makefile @@ -0,0 +1,89 @@ +# $OpenBSD: Makefile,v 1.1 2016/09/04 12:48:34 patrick Exp $ + +HDRDIR= ${.CURDIR}/include +SRCDIR= ${.CURDIR}/src +SHDRDIR= ${.CURDIR}/../libcxx/include +UHDRDIR= ${.CURDIR}/../libunwind/include +CXXINCLUDEDIR= /usr/include/c++/v1 + +.PATH: ${SRCDIR} ${.CURDIR}/../libunwind/src + +CXX=eg++ + +LIB= c++abi + +SRCS+= abort_message.cpp\ + cxa_aux_runtime.cpp\ + cxa_default_handlers.cpp\ + cxa_demangle.cpp\ + cxa_exception.cpp\ + cxa_exception_storage.cpp\ + cxa_guard.cpp\ + cxa_handlers.cpp\ + cxa_new_delete.cpp\ + cxa_personality.cpp\ + cxa_thread_atexit.cpp\ + cxa_unexpected.cpp\ + cxa_vector.cpp\ + cxa_virtual.cpp\ + exception.cpp\ + private_typeinfo.cpp\ + stdexcept.cpp\ + typeinfo.cpp\ + Unwind-EHABI.cpp\ + Unwind-sjlj.c\ + UnwindLevel1-gcc-ext.c\ + UnwindLevel1.c\ + UnwindRegistersRestore.S\ + UnwindRegistersSave.S\ + libunwind.cpp + +CPPFLAGS+= -I${SHDRDIR} -I${HDRDIR} -I${UHDRDIR} +CXXFLAGS+= -nostdlib -funwind-tables +.if empty(CXXFLAGS:M-std=*) +CXXFLAGS+= -std=c++11 +.endif + +STD_HEADERS= cxxabi.h \ + __cxxabi_config.h + +.for hdr in ${STD_HEADERS} +STD+= ${hdr} ${HDRDIR}/${hdr} +.endfor +STDDIR= ${CXXINCLUDEDIR} + +STD_UHEADERS= libunwind.h \ + __libunwind_config.h \ + unwind.h + +.for hdr in ${STD_UHEADERS} +USTD+= ${hdr} ${UHDRDIR}/${hdr} +.endfor +USTDDIR= ${CXXINCLUDEDIR} + +MACHO_HEADERS=compact_unwind_encoding.h + +.for hdr in ${MACHO_HEADERS} +MACHO+= ${hdr} ${UHDRDIR}/mach-o/${hdr} +.endfor +MACHODIR= ${CXXINCLUDEDIR}/mach-o + +includes: + @echo installing ${STD_HEADERS} + ${INSTALL} -d -m 755 ${DESTDIR}/${STDDIR}; +. for hdr src in ${STD} + cmp -s ${src} ${DESTDIR}/${STDDIR}/${hdr} || \ + ${INSTALL} ${INSTALL_COPY} -m 444 ${src} ${DESTDIR}/${STDDIR}/${hdr}; +. endfor + ${INSTALL} -d -m 755 ${DESTDIR}/${USTDDIR}; +. for hdr src in ${USTD} + cmp -s ${src} ${DESTDIR}/${USTDDIR}/${hdr} || \ + ${INSTALL} ${INSTALL_COPY} -m 444 ${src} ${DESTDIR}/${USTDDIR}/${hdr}; +. endfor + ${INSTALL} -d -m 755 ${DESTDIR}/${MACHODIR}; +. for hdr src in ${MACHO} + cmp -s ${src} ${DESTDIR}/${MACHODIR}/${hdr} || \ + ${INSTALL} ${INSTALL_COPY} -m 444 ${src} ${DESTDIR}/${MACHODIR}/${hdr}; +. endfor + +.include -- cgit v1.2.3