Annotation of /trunk/qemu-kvm/patches/qemu-1.2.0-glibc.patch
Parent Directory | Revision Log
Revision 2550 -
(hide annotations)
(download)
Tue Mar 17 10:20:51 2015 UTC (9 years, 6 months ago) by niro
File size: 2194 byte(s)
Tue Mar 17 10:20:51 2015 UTC (9 years, 6 months ago) by niro
File size: 2194 byte(s)
-fix build against newer glibc or ulibc
1 | niro | 2550 | From 8bacde8d86a09699207d85d4bab06162aed18dc4 Mon Sep 17 00:00:00 2001 |
2 | From: Natanael Copa <natanael.copa@gmail.com> | ||
3 | Date: Wed, 12 Sep 2012 09:06:51 +0000 | ||
4 | Subject: [PATCH] configure: properly check if -lrt and -lm is needed | ||
5 | |||
6 | Fixes build against uClibc. | ||
7 | |||
8 | uClibc provides 2 versions of clock_gettime(), one with realtime | ||
9 | support and one without (this is so you can avoid linking in -lrt | ||
10 | unless actually needed). This means that the clock_gettime() don't | ||
11 | need -lrt. We still need it for timer_create() so we check for this | ||
12 | function in addition. | ||
13 | |||
14 | We also need check if -lm is needed for isnan(). | ||
15 | |||
16 | Both -lm and -lrt are needed for libs_qga. | ||
17 | |||
18 | Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> | ||
19 | Signed-off-by: Blue Swirl <blauwirbel@gmail.com> | ||
20 | --- | ||
21 | configure | 31 +++++++++++++++++++++++++++++-- | ||
22 | 1 files changed, 29 insertions(+), 2 deletions(-) | ||
23 | |||
24 | diff --git a/configure b/configure | ||
25 | index 7656c32..9ab13db 100755 | ||
26 | --- a/configure | ||
27 | +++ b/configure | ||
28 | @@ -2671,17 +2671,44 @@ fi | ||
29 | |||
30 | |||
31 | ########################################## | ||
32 | +# Do we need libm | ||
33 | +cat > $TMPC << EOF | ||
34 | +#include <math.h> | ||
35 | +int main(void) { return isnan(sin(0.0)); } | ||
36 | +EOF | ||
37 | +if compile_prog "" "" ; then | ||
38 | + : | ||
39 | +elif compile_prog "" "-lm" ; then | ||
40 | + LIBS="-lm $LIBS" | ||
41 | + libs_qga="-lm $libs_qga" | ||
42 | +else | ||
43 | + echo | ||
44 | + echo "Error: libm check failed" | ||
45 | + echo | ||
46 | + exit 1 | ||
47 | +fi | ||
48 | + | ||
49 | +########################################## | ||
50 | # Do we need librt | ||
51 | +# uClibc provides 2 versions of clock_gettime(), one with realtime | ||
52 | +# support and one without. This means that the clock_gettime() don't | ||
53 | +# need -lrt. We still need it for timer_create() so we check for this | ||
54 | +# function in addition. | ||
55 | cat > $TMPC <<EOF | ||
56 | #include <signal.h> | ||
57 | #include <time.h> | ||
58 | -int main(void) { return clock_gettime(CLOCK_REALTIME, NULL); } | ||
59 | +int main(void) { | ||
60 | + timer_create(CLOCK_REALTIME, NULL, NULL); | ||
61 | + return clock_gettime(CLOCK_REALTIME, NULL); | ||
62 | +} | ||
63 | EOF | ||
64 | |||
65 | if compile_prog "" "" ; then | ||
66 | : | ||
67 | -elif compile_prog "" "-lrt" ; then | ||
68 | +# we need pthread for static linking. use previous pthread test result | ||
69 | +elif compile_prog "" "-lrt $pthread_lib" ; then | ||
70 | LIBS="-lrt $LIBS" | ||
71 | + libs_qga="-lrt $libs_qga" | ||
72 | fi | ||
73 | |||
74 | if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \ | ||
75 | -- | ||
76 | 1.7.0.4 | ||
77 |