]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libgcc_eh/Makefile.inc
zfs: merge openzfs/zfs@688514e47
[FreeBSD/FreeBSD.git] / lib / libgcc_eh / Makefile.inc
1
2 COMPILERRTDIR=  ${SRCTOP}/contrib/llvm-project/compiler-rt
3 UNWINDINCDIR=   ${SRCTOP}/contrib/llvm-project/libunwind/include
4 UNWINDSRCDIR=   ${SRCTOP}/contrib/llvm-project/libunwind/src
5
6 STATIC_CFLAGS+=${PICFLAG} -fvisibility=hidden -DVISIBILITY_HIDDEN
7
8 .PATH: ${COMPILERRTDIR}/lib/builtins
9 .PATH: ${UNWINDSRCDIR}
10 SRCS_EXC+=      gcc_personality_v0.c
11 SRCS_EXC+=      Unwind-EHABI.cpp
12 SRCS_EXC+=      Unwind-sjlj.c
13 SRCS_EXC+=      UnwindLevel1-gcc-ext.c
14 SRCS_EXC+=      UnwindLevel1.c
15 SRCS_EXC+=      UnwindRegistersRestore.S
16 SRCS_EXC+=      UnwindRegistersSave.S
17 SRCS_EXC+=      libunwind.cpp
18
19 SRCS+=          ${SRCS_EXC}
20 .for file in ${SRCS_EXC:M*.c}
21 CFLAGS.${file}+=        -fno-exceptions -funwind-tables
22 .if ${MK_ASAN} != "no"
23 # False-positives during stack unwinding
24 CFLAGS.${file}+=        -fno-sanitize=address
25 .endif
26 .endfor
27 .for file in ${SRCS_EXC:M*.cpp}
28 CXXFLAGS.${file}+=      -fno-exceptions -funwind-tables
29 .if ${MK_ASAN} != "no"
30 # False-positives during stack unwinding
31 CXXFLAGS.${file}+=      -fno-sanitize=address
32 .endif
33 .endfor
34
35 CFLAGS+=        -I${UNWINDINCDIR}
36 CFLAGS+=        -D_LIBUNWIND_IS_NATIVE_ONLY
37 CFLAGS+=        -D_LIBUNWIND_USE_FRAME_HEADER_CACHE
38 CXXFLAGS+=      -fno-rtti
39 CXXSTD?=        c++11
40 STATIC_CXXFLAGS+= -fvisibility=hidden -fPIC
41 # Probably need to just move this earlier or use CXXFLAGS
42 .if ${MK_DIRDEPS_BUILD} == "yes"
43 # Avoid dependency on lib/libc++
44 CFLAGS+=        -isystem ${SRCTOP}/contrib/llvm-project/libcxx/include -nostdinc++
45
46 # we need this for __config_site
47 CFLAGS+=        -I${SRCTOP}/lib/libc++
48 .if ${.MAKE.LEVEL} > 0
49 GENDIRDEPS_FILTER+= Nlib/libc++
50 .endif
51 .endif