xref: /freebsd/lib/libgcc_s/Makefile (revision 7bc797e3f3807660cf98e5b1bd63545cafe820f8)
149c5eacbSEd Maste# $FreeBSD$
249c5eacbSEd Maste
30eaded92SGlen BarberPACKAGE=	clibs
449c5eacbSEd MasteSHLIB_NAME=	libgcc_s.so.1
56430a5fdSEd MasteSHLIBDIR?=	/lib
649c5eacbSEd Maste
7*7bc797e3SAlex Richardson# Enabling UBSan triggers "undefined reference to vtable for __cxxabiv1::__function_type_info"
8*7bc797e3SAlex RichardsonMK_UBSAN:=	no
9*7bc797e3SAlex 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.
519de4d0b1SGlen Barber.if ${MACHINE_CPUARCH} != "mips" && ${MACHINE_CPUARCH} != "arm" && \
522c4bb7e3SJohn Baldwin    ${MACHINE_CPUARCH} != "powerpc"
532c4bb7e3SJohn BaldwinSRCS+=		s_fmaxl.c
542c4bb7e3SJohn BaldwinSRCS+=		s_logbl.c
55bff20752SEd MasteSRCS+=		s_scalbnl.c
562c4bb7e3SJohn Baldwin.endif
57bff20752SEd Maste
5849c5eacbSEd Maste.include <bsd.lib.mk>
59