xref: /freebsd/lib/libgcc_s/Makefile (revision e63eee84cad59f63338a539e73bed07917932088)
1PACKAGE=	clibs
2SHLIB_NAME=	libgcc_s.so.1
3SHLIBDIR?=	/lib
4
5SHLIB_LDSCRIPT=libgcc_s.ldscript
6
7# Enabling UBSan triggers "undefined reference to vtable for __cxxabiv1::__function_type_info"
8MK_UBSAN:=	no
9
10.include <bsd.opts.mk>
11
12MK_SSP=		no
13WARNS?=	2
14
15LDFLAGS+=	-nodefaultlibs
16LDFLAGS+=	-Wl,-Bsymbolic
17LIBADD+=	c
18LIBADD+=	compiler_rt
19
20VERSION_DEF=	${.CURDIR}/Versions.def
21SYMBOL_MAPS=	${.CURDIR}/Symbol.map
22# Export ARM AEABI unwind routines needed by libc and libthr.
23.if exists(${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map)
24SYMBOL_MAPS+=	${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map
25.else
26SYMBOL_MAPS+=	${.CURDIR}/SymbolDefault.map
27.endif
28
29.include "../libcompiler_rt/Makefile.inc"
30.include "../libgcc_eh/Makefile.inc"
31
32# gcc has incompatible internal declarations for __divtc3 and __multc3, but has
33# no option to silence its warning, so make warnings non-fatal.
34MK_WERROR.gcc=	no
35
36LIBCSRCDIR=	${SRCTOP}/lib/libc
37LIBMSRCDIR=	${SRCTOP}/lib/msun/src
38CFLAGS+=	-I${LIBCSRCDIR}/include -I${LIBCSRCDIR}/${MACHINE_CPUARCH}
39CFLAGS+=	-I${LIBMSRCDIR}
40.PATH:		${LIBMSRCDIR}
41SRCS+=		s_fabs.c
42SRCS+=		s_fabsf.c
43SRCS+=		s_fabsl.c
44SRCS+=		s_fmax.c
45SRCS+=		s_fmaxf.c
46SRCS+=		s_logb.c
47SRCS+=		s_logbf.c
48SRCS+=		s_scalbn.c
49SRCS+=		s_scalbnf.c
50
51# Don't include long double routines on architectures where long double
52# is the same size as double.
53.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "powerpc"
54SRCS+=		s_fmaxl.c
55SRCS+=		s_logbl.c
56SRCS+=		s_scalbnl.c
57.endif
58
59.include <bsd.lib.mk>
60