git: f041aca7adf2 - 2022Q2 - devel/libunwind: use base system unwind.h
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 27 Apr 2022 17:04:52 UTC
The branch 2022Q2 has been updated by tijl: URL: https://cgit.FreeBSD.org/ports/commit/?id=f041aca7adf2d5ee3742d2c3e98fdc4e7c045fe5 commit f041aca7adf2d5ee3742d2c3e98fdc4e7c045fe5 Author: Tijl Coosemans <tijl@FreeBSD.org> AuthorDate: 2022-04-27 16:51:01 +0000 Commit: Tijl Coosemans <tijl@FreeBSD.org> CommitDate: 2022-04-27 16:59:02 +0000 devel/libunwind: use base system unwind.h - Add --disable-cxx-exceptions so libunwind does not implement the _Unwind_* API and does not use its internal unwind.h. The base system libgcc_s provides this API. This was already the upstream default for most architectures. - Add --disable-unwind-header to prevent installation of unwind.h. Instead, install an unwind.h that forwards to the base system unwind.h, but not on FreeBSD 14 where all implementations of unwind.h (base, lang/gcc*, and devel/llvm*) are compatible. PR: 263370 Approved by: sunpoet (cherry picked from commit 975a5c1057579603c4041c2b8e3ac0933ea0eb89) --- devel/libunwind/Makefile | 11 ++++++++++- devel/libunwind/files/unwind.h | 26 ++++++++++++++++++++++++++ devel/libunwind/pkg-plist | 1 - 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/devel/libunwind/Makefile b/devel/libunwind/Makefile index a404f9df3595..5ab156895129 100644 --- a/devel/libunwind/Makefile +++ b/devel/libunwind/Makefile @@ -2,6 +2,7 @@ PORTNAME= libunwind PORTVERSION= 20211201 # This is the release date on https://download.savannah.gnu.org/releases/libunwind/ +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= SAVANNAH \ https://github.com/libunwind/libunwind/releases/download/v${PORTVERSION}/ @@ -17,7 +18,9 @@ ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 powerpc64 powerpc64le USES= compiler:c11 cpe libtool pathfix pkgconfig -CONFIGURE_ARGS= ac_cv_path_LATEX2MAN=${TRUE} +CONFIGURE_ARGS= --disable-cxx-exceptions \ + --disable-unwind-header \ + ac_cv_path_LATEX2MAN=${TRUE} GNU_CONFIGURE= yes INSTALL_TARGET= install-strip USE_LDCONFIG= yes @@ -34,4 +37,10 @@ PLIST_SUB+= COREDUMP="" PLIST_SUB+= COREDUMP="@comment " .endif +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1400052 +PLIST_FILES+= include/unwind.h +post-install: + ${INSTALL_DATA} ${FILESDIR}/unwind.h ${STAGEDIR}${PREFIX}/include +.endif + .include <bsd.port.post.mk> diff --git a/devel/libunwind/files/unwind.h b/devel/libunwind/files/unwind.h new file mode 100644 index 000000000000..2d79ed4428de --- /dev/null +++ b/devel/libunwind/files/unwind.h @@ -0,0 +1,26 @@ +#ifndef _LIBUNWIND_UNWIND_H +#define _LIBUNWIND_UNWIND_H + +#if __has_include("/usr/include/unwind.h") +#include "/usr/include/unwind.h" +#elif __has_include("/usr/include/c++/v1/unwind.h") + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(__arm__) && !defined(__ARM_DWARF_EH__) +#include "/usr/include/c++/v1/unwind-arm.h" +#else +#include "/usr/include/c++/v1/unwind-itanium.h" +#endif + +#ifdef __cplusplus +} +#endif + +#else +#include_next <unwind.h> +#endif + +#endif diff --git a/devel/libunwind/pkg-plist b/devel/libunwind/pkg-plist index a776ec5d56b2..73e648228c4a 100644 --- a/devel/libunwind/pkg-plist +++ b/devel/libunwind/pkg-plist @@ -4,7 +4,6 @@ include/libunwind-dynamic.h include/libunwind-ptrace.h include/libunwind-%%ARCH%%.h include/libunwind.h -include/unwind.h %%COREDUMP%%lib/libunwind-coredump.a %%COREDUMP%%lib/libunwind-coredump.so %%COREDUMP%%lib/libunwind-coredump.so.0