1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-21 04:06:46 +00:00
freebsd-ports/emulators/qemu-devel/files/patch-libmath_FreeBSD-version
Juergen Lock d4e5177000 Finally bring qemu 0.12.1 into ports as the new emulators/qemu-devel,
release announcement is here:
	http://lists.gnu.org/archive/html/qemu-devel/2009-12/msg02151.html

Quoting from pkg-message:

- kqemu is no longer supported in qemu upstream after the 0.11 branch
was created, which means also not in this version.  (Linux has moved
on to kvm now for qemu(-like) virtualization needs, so if you want qemu
to go faster and don't want to switch to virtualbox or stick to the older
emulators/qemu port which is at 0.11.1 atm and as such still supports
kqemu you should help getting the FreeBSD kvm port updated and
completed:
	http://wiki.freebsd.org/FabioChecconi/PortingLinuxKVMToFreeBSD
)
2010-01-17 16:20:56 +00:00

152 lines
3.6 KiB
Plaintext

diff -ru qemu.orig/bsd/Makefile qemu/bsd/Makefile
--- qemu.orig/bsd/Makefile 2009-01-19 23:30:09.124413041 -0600
+++ qemu/bsd/Makefile 2009-01-19 23:40:20.180704580 -0600
@@ -1,23 +1,90 @@
-SRCS= ${MACHINE_ARCH}/e_atan2l.c \
- ${MACHINE_ARCH}/e_logl.S \
- ${MACHINE_ARCH}/e_powl.S \
- ${MACHINE_ARCH}/e_remainderl.S \
- ${MACHINE_ARCH}/e_sqrtl.c \
- ${MACHINE_ARCH}/s_ceill.S \
- ${MACHINE_ARCH}/s_cosl.S \
- ${MACHINE_ARCH}/s_floorl.S \
- ${MACHINE_ARCH}/s_isnormal.c \
- ${MACHINE_ARCH}/s_llrint.S \
- ${MACHINE_ARCH}/s_llrintf.S \
- ${MACHINE_ARCH}/s_llrintl.S \
- ${MACHINE_ARCH}/s_lrint.S \
- ${MACHINE_ARCH}/s_lrintf.S \
- ${MACHINE_ARCH}/s_lrintl.S \
- ${MACHINE_ARCH}/s_rintl.c \
- ${MACHINE_ARCH}/s_round.c \
- ${MACHINE_ARCH}/s_sinl.S \
- ${MACHINE_ARCH}/s_tanl.S \
- ${MACHINE_ARCH}/s_ldexpl.c
+AWK= /usr/bin/awk
+SYSCTL= /sbin/sysctl
+
+.if !defined(OSVERSION)
+.if exists(/usr/include/sys/param.h)
+OSVERSION!= ${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < /usr/include/sys/param.h
+.elif exists(/usr/src/sys/sys/param.h)
+OSVERSION!= ${AWK} '/^\#define[[:blank::]]__FreeBSD_version/ {print $$3}' < /usr/src/sys/sys/param.h
+.else
+OSVERSION!= ${SYSCTL} -n kern.osreldate
+.endif
+.endif
+
+# Need to be implemented
+_logl= ${MACHINE_ARCH}/e_logl.S
+_powl= ${MACHINE_ARCH}/e_powl.S
+
+# Implemented in -CURRENT
+.if ${OSVERSION} < 800042
+_atan2l= ${MACHINE_ARCH}/e_atan2l.c
+.endif
+
+.if ${OSVERSION} < 800030
+_remainderl= ${MACHINE_ARCH}/e_remainderl.S
+.endif
+
+.if ${OSVERSION} < 800025
+_sqrtl= ${MACHINE_ARCH}/e_sqrtl.c
+.endif
+
+.if ${OSVERSION} < 800022
+_cosl= ${MACHINE_ARCH}/s_cosl.S
+_sinl= ${MACHINE_ARCH}/s_sinl.S
+_tanl= ${MACHINE_ARCH}/s_tanl.S
+.endif
+
+.if ${OSVERSION} < 800012
+_lrintl= ${MACHINE_ARCH}/s_lrintl.S
+_llrintl= ${MACHINE_ARCH}/s_llrintl.S
+_rintl= ${MACHINE_ARCH}/s_rintl.c
+.endif
+
+.if ${OSVERSION} < 600020
+_ldexpl= ${MACHINE_ARCH}/s_ldexpl.c
+.endif
+
+.if ${OSVERSION} < 600008
+_ceill= ${MACHINE_ARCH}/s_ceill.S
+_floorl= ${MACHINE_ARCH}/s_floorl.S
+_llrint= ${MACHINE_ARCH}/s_llrint.S
+_llrintf= ${MACHINE_ARCH}/s_llrintf.S
+_lrint= ${MACHINE_ARCH}/s_lrint.S
+_lrintf= ${MACHINE_ARCH}/s_lrintf.S
+.endif
+
+.if ${OSVERSION} < 502121
+_isnormal= ${MACHINE_ARCH}/s_isnormal.c
+.endif
+
+.if ${OSVERSION} < 502114
+_round= ${MACHINE_ARCH}/s_round.c
+.endif
+
+#.if ${OSVERSION} < 501113
+#_fabsl= ${MACHINE_ARCH}/e_fabsl.c
+#.endif
+
+SRCS= ${_atan2l} \
+ ${_logl} \
+ ${_powl} \
+ ${_remainderl} \
+ ${_sqrtl} \
+ ${_ceill} \
+ ${_cosl} \
+ ${_floorl} \
+ ${_isnormal} \
+ ${_llrint} \
+ ${_llrintf} \
+ ${_llrintl} \
+ ${_lrint} \
+ ${_lrintf} \
+ ${_lrintl} \
+ ${_rintl} \
+ ${_round} \
+ ${_sinl} \
+ ${_tanl} \
+ ${_ldexpl}
OBJS= ${SRCS:R:S/$/.o/}
Index: qemu/fpu/softfloat-native.h
@@ -1,17 +1,29 @@
+#ifndef SOFTFLOAT_NATIVE_H
+#define SOFTFLOAT_NATIVE_H
+
/* Native implementation of soft float functions */
#include <math.h>
#if (defined(CONFIG_BSD) && !defined(__APPLE__) && !defined(__GLIBC__)) \
|| defined(CONFIG_SOLARIS)
#ifdef __FreeBSD__
#include <osreldate.h>
+#if __FreeBSD_version < 501113
long double fabsl(long double x);
+#endif
+#if __FreeBSD_version < 800030
long double remainderl(long double x, long double y);
+#endif
+#if __FreeBSD_version < 800025
long double sqrtl(long double x);
+#endif
+#if __FreeBSD_version < 800012
long double rintl(long double x);
long lrintl(long double x);
long long llrintl(long double x);
#endif
+#endif
+#endif
#if (defined(CONFIG_BSD) && !defined(__APPLE__) && \
(!defined(__FreeBSD__) || __FreeBSD_version < 500000)) || \
@@ -518,3 +529,5 @@
}
#endif
+
+#endif /* SOFTFLOAT_NATIVE_H */