xref: /freebsd/lib/libgcc_s/Makefile (revision 1ab9996fb5fafce958fc0d22f68ee16a50d56638)
149c5eacbSEd Maste# $FreeBSD$
249c5eacbSEd Maste
30eaded92SGlen BarberPACKAGE=	clibs
449c5eacbSEd MasteSHLIB_NAME=	libgcc_s.so.1
56430a5fdSEd MasteSHLIBDIR?=	/lib
649c5eacbSEd Maste
77bc797e3SAlex Richardson# Enabling UBSan triggers "undefined reference to vtable for __cxxabiv1::__function_type_info"
87bc797e3SAlex RichardsonMK_UBSAN:=	no
97bc797e3SAlex Richardson
10c8b5e3deSConrad Meyer.include <bsd.opts.mk>
11c8b5e3deSConrad Meyer
122ed1e385SEd MasteMK_SSP=		no
1349c5eacbSEd MasteWARNS?=	2
1449c5eacbSEd Maste
1549c5eacbSEd MasteLDFLAGS+=	-nodefaultlibs
162f21ec01SEd MasteLIBADD+=	c
17c8b5e3deSConrad Meyer
18c8b5e3deSConrad MeyerVERSION_DEF=	${.CURDIR}/Versions.def
19c8b5e3deSConrad MeyerSYMBOL_MAPS=	${.CURDIR}/Symbol.map
20c8b5e3deSConrad Meyer# Export ARM AEABI unwind routines needed by libc and libthr.
21c8b5e3deSConrad Meyer.if exists(${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map)
22c8b5e3deSConrad MeyerSYMBOL_MAPS+=	${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map
231fa29c42SMichal Meloun.else
241fa29c42SMichal MelounSYMBOL_MAPS+=	${.CURDIR}/SymbolDefault.map
25c8b5e3deSConrad Meyer.endif
2649c5eacbSEd Maste
2749c5eacbSEd Maste.include "../libcompiler_rt/Makefile.inc"
2849c5eacbSEd Maste.include "../libgcc_eh/Makefile.inc"
2949c5eacbSEd Maste
30b0a39ef0SEnji Cooper# gcc has incompatible internal declarations for __divtc3 and __multc3, but has
31b0a39ef0SEnji Cooper# no option to silence its warning, so make warnings non-fatal.
327fa2f2a6SAlex RichardsonMK_WERROR.gcc=	no
33b0a39ef0SEnji Cooper
34bff20752SEd MasteLIBCSRCDIR=	${SRCTOP}/lib/libc
35bff20752SEd MasteLIBMSRCDIR=	${SRCTOP}/lib/msun/src
36bff20752SEd MasteCFLAGS+=	-I${LIBCSRCDIR}/include -I${LIBCSRCDIR}/${MACHINE_CPUARCH}
37bff20752SEd MasteCFLAGS+=	-I${LIBMSRCDIR}
38bff20752SEd Maste.PATH:		${LIBMSRCDIR}
39bff20752SEd MasteSRCS+=		s_fabs.c
40bff20752SEd MasteSRCS+=		s_fabsf.c
41bff20752SEd MasteSRCS+=		s_fabsl.c
42bff20752SEd MasteSRCS+=		s_fmax.c
43bff20752SEd MasteSRCS+=		s_fmaxf.c
44bff20752SEd MasteSRCS+=		s_logb.c
45bff20752SEd MasteSRCS+=		s_logbf.c
46bff20752SEd MasteSRCS+=		s_scalbn.c
47bff20752SEd MasteSRCS+=		s_scalbnf.c
482c4bb7e3SJohn Baldwin
492c4bb7e3SJohn Baldwin# Don't include long double routines on architectures where long double
502c4bb7e3SJohn Baldwin# is the same size as double.
51*1ab9996fSJohn Baldwin.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "powerpc"
522c4bb7e3SJohn BaldwinSRCS+=		s_fmaxl.c
532c4bb7e3SJohn BaldwinSRCS+=		s_logbl.c
54bff20752SEd MasteSRCS+=		s_scalbnl.c
552c4bb7e3SJohn Baldwin.endif
56bff20752SEd Maste
5749c5eacbSEd Maste.include <bsd.lib.mk>
58