Module Name: src
Committed By: joerg
Date: Tue Oct 15 23:59:36 UTC 2013
Modified Files:
src/lib/libm: Makefile
Added Files:
src/lib/libm/compiler_rt: Makefile.inc
Log Message:
Hook complex operation support into libm when not using libgcc.
To generate a diff of this commit:
cvs rdiff -u -r1.142 -r1.143 src/lib/libm/Makefile
cvs rdiff -u -r0 -r1.1 src/lib/libm/compiler_rt/Makefile.inc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libm/Makefile
diff -u src/lib/libm/Makefile:1.142 src/lib/libm/Makefile:1.143
--- src/lib/libm/Makefile:1.142 Sat Sep 21 22:28:12 2013
+++ src/lib/libm/Makefile Tue Oct 15 23:59:36 2013
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.142 2013/09/21 22:28:12 joerg Exp $
+# $NetBSD: Makefile,v 1.143 2013/10/15 23:59:36 joerg Exp $
#
# @(#)Makefile 5.1beta 93/09/24
#
@@ -324,5 +324,10 @@ COPTS.compat_cabs.c+= ${${ACTIVE_CC} ==
COPTS.compat_cabsf.c+= ${${ACTIVE_CC} == "clang":? -Wno-incompatible-library-redeclaration :}
.include "${.CURDIR}/gen/Makefile.inc"
+
+.if ${HAVE_LIBGCC} == "no"
+.include "${.CURDIR}/compiler_rt/Makefile.inc"
+.endif
+
.include <bsd.lib.mk>
.include <bsd.subdir.mk>
Added files:
Index: src/lib/libm/compiler_rt/Makefile.inc
diff -u /dev/null src/lib/libm/compiler_rt/Makefile.inc:1.1
--- /dev/null Tue Oct 15 23:59:36 2013
+++ src/lib/libm/compiler_rt/Makefile.inc Tue Oct 15 23:59:36 2013
@@ -0,0 +1,33 @@
+# $NetBSD: Makefile.inc,v 1.1 2013/10/15 23:59:36 joerg Exp $
+
+COMPILER_RT_SRCDIR= ${NETBSDSRCDIR}/sys/external/bsd/compiler_rt/dist
+
+.if ${MACHINE_ARCH} == "powerpc"
+COMPILER_RT_CPU_DIR= ${COMPILER_RT_SRCDIR}/lib/ppc
+COMPILER_RT_ARCH_DIR= ${COMPILER_RT_SRCDIR}/lib/ppc
+.else
+COMPILER_RT_CPU_DIR= ${COMPILER_RT_SRCDIR}/lib/${MACHINE_CPU}
+COMPILER_RT_ARCH_DIR= ${COMPILER_RT_SRCDIR}/lib/${MACHINE_ARCH}
+.endif
+
+.PATH: ${COMPILER_RT_CPU_DIR}
+.PATH: ${COMPILER_RT_ARCH_DIR}
+.PATH: ${COMPILER_RT_SRCDIR}/lib
+
+# Needs scaling support
+GENERIC_SRCS+= \
+ mulxc3.c \
+ mulsc3.c \
+ divxc3.c \
+ divdc3.c \
+ divsc3.c
+
+.for src in ${GENERIC_SRCS}
+. if exists(${COMPILER_RT_CPU_DIR}/${src:R}.S) || \
+ exists(${COMPILER_RT_ARCH_DIR}/${src:R}.S)
+SRCS+= ${src:R}.S
+. else
+SRCS+= ${src}
+COPTS.${src}+= -Wno-error=missing-prototypes
+. endif
+.endfor