configure: properly check if -lrt and -lm is needed
Fixes build against uClibc. uClibc provides 2 versions of clock_gettime(), one with realtime support and one without (this is so you can avoid linking in -lrt unless actually needed). This means that the clock_gettime() don't need -lrt. We still need it for timer_create() so we check for this function in addition. We also need check if -lm is needed for isnan(). Both -lm and -lrt are needed for libs_qga. Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
3cebc3f11d
commit
8bacde8d86
31
configure
vendored
31
configure
vendored
@ -2670,18 +2670,45 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# Do we need libm
|
||||||
|
cat > $TMPC << EOF
|
||||||
|
#include <math.h>
|
||||||
|
int main(void) { return isnan(sin(0.0)); }
|
||||||
|
EOF
|
||||||
|
if compile_prog "" "" ; then
|
||||||
|
:
|
||||||
|
elif compile_prog "" "-lm" ; then
|
||||||
|
LIBS="-lm $LIBS"
|
||||||
|
libs_qga="-lm $libs_qga"
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "Error: libm check failed"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# Do we need librt
|
# Do we need librt
|
||||||
|
# uClibc provides 2 versions of clock_gettime(), one with realtime
|
||||||
|
# support and one without. This means that the clock_gettime() don't
|
||||||
|
# need -lrt. We still need it for timer_create() so we check for this
|
||||||
|
# function in addition.
|
||||||
cat > $TMPC <<EOF
|
cat > $TMPC <<EOF
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
int main(void) { return clock_gettime(CLOCK_REALTIME, NULL); }
|
int main(void) {
|
||||||
|
timer_create(CLOCK_REALTIME, NULL, NULL);
|
||||||
|
return clock_gettime(CLOCK_REALTIME, NULL);
|
||||||
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if compile_prog "" "" ; then
|
if compile_prog "" "" ; then
|
||||||
:
|
:
|
||||||
elif compile_prog "" "-lrt" ; then
|
# we need pthread for static linking. use previous pthread test result
|
||||||
|
elif compile_prog "" "-lrt $pthread_lib" ; then
|
||||||
LIBS="-lrt $LIBS"
|
LIBS="-lrt $LIBS"
|
||||||
|
libs_qga="-lrt $libs_qga"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \
|
if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \
|
||||||
|
Loading…
Reference in New Issue
Block a user