xref: /openbsd-src/gnu/lib/libexecinfo/Makefile (revision 3bef86f7bc2197c76d5fec5b22e91f84e96ed5e5)
1*3bef86f7Srobert# $OpenBSD: Makefile,v 1.3 2024/01/26 11:51:45 robert Exp $
2771fbea0Smortimer
3771fbea0Smortimer.include <bsd.own.mk>
4771fbea0Smortimer
5771fbea0SmortimerUSE_UNWIND=no
6771fbea0Smortimer.if ${COMPILER_VERSION} == "clang"
7771fbea0SmortimerUSE_UNWIND=yes
8771fbea0Smortimer.endif
9771fbea0Smortimer
10771fbea0SmortimerLIB=execinfo
11771fbea0SmortimerSRCS=backtrace.c
12771fbea0SmortimerMAN= backtrace.3
13771fbea0Smortimer
14771fbea0Smortimer.if empty(CFLAGS:M-std=*)
15771fbea0SmortimerCFLAGS+=  -std=gnu99
16771fbea0Smortimer.endif
17771fbea0Smortimer
18771fbea0Smortimer.if ${USE_UNWIND} == "yes"
19771fbea0Smortimer.PATH: ${SRCDIR} ${BSDSRCDIR}/gnu/llvm/libunwind/src
20771fbea0Smortimer.PATH: ${SRCDIR} ${BSDSRCDIR}/gnu/llvm/libcxx/src
21771fbea0SmortimerCXXFLAGS+= -I${BSDSRCDIR}/gnu/llvm/libunwind/include \
225a38ef86Spatrick           -I${BSDSRCDIR}/gnu/lib/libcxx/include/c++/v1/ \
23771fbea0Smortimer           -I${BSDSRCDIR}/gnu/llvm/libcxx/include
24771fbea0SmortimerCFLAGS+= -I${BSDSRCDIR}/gnu/llvm/libunwind/include
25771fbea0Smortimer
26771fbea0SmortimerCPPFLAGS+=  -D_LIBUNWIND_IS_NATIVE_ONLY
27771fbea0SmortimerCPPFLAGS+=  -DLIBUNWIND_USE_WEAK_PTHREAD
28771fbea0SmortimerCPPFLAGS+=  -DNDEBUG
29771fbea0SmortimerCXXFLAGS+=  -nostdlib -nostdinc++ -funwind-tables \
30771fbea0Smortimer            -fno-exceptions -fno-rtti
31771fbea0Smortimer.if empty(CXXFLAGS:M-std=*)
32*3bef86f7SrobertCXXFLAGS+=  -std=c++20
33771fbea0Smortimer.endif
34771fbea0Smortimer
35771fbea0SmortimerSRCS+=unwind.c \
36771fbea0Smortimer	Unwind-EHABI.cpp \
37771fbea0Smortimer	Unwind-sjlj.c \
38771fbea0Smortimer	UnwindLevel1-gcc-ext.c \
39771fbea0Smortimer	UnwindLevel1.c \
40771fbea0Smortimer	UnwindRegistersRestore.S \
41771fbea0Smortimer	UnwindRegistersSave.S \
42771fbea0Smortimer	libunwind.cpp \
43771fbea0Smortimer	new.cpp
44771fbea0Smortimer
45771fbea0Smortimer.else # !${USE_UNWIND}
46771fbea0SmortimerSRCS+=builtin.c
47771fbea0Smortimer.endif
48771fbea0Smortimer
49771fbea0SmortimerVERSION_SCRIPT=	${.CURDIR}/Symbols.map
50771fbea0Smortimer
51771fbea0Smortimerincludes:
52771fbea0Smortimer	cmp -s ${DESTDIR}/usr/include/execinfo.h ${.CURDIR}/execinfo.h || \
53771fbea0Smortimer		${INSTALL} ${INSTALL_COPY} -m 444 -o $(BINOWN) -g $(BINGRP) \
54771fbea0Smortimer		${.CURDIR}/execinfo.h ${DESTDIR}/usr/include/execinfo.h
55771fbea0Smortimer
56771fbea0Smortimer.include <bsd.lib.mk>
57