X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=acinclude.m4;h=d0f8c0e81670e1a34f98dd9cadda9ec9d8ff1fb7;hb=fd78b70414d41ed431ca0e21a7c1aaec10658a8b;hp=9e02d6d922ca24d65225018f111eacaad9acc766;hpb=53c872512f27bfa786f713fdf858724d6a32feeb;p=rrdtool.git diff --git a/acinclude.m4 b/acinclude.m4 index 9e02d6d..d0f8c0e 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -19,7 +19,7 @@ AC_DEFUN([EX_CHECK_ALL], EX_CHECK_STATE=NO ex_check_save_LIBS=${LIBS} ex_check_save_CPPFLAGS=${CPPFLAGS} - ex_check_save_LDFLAGS=${LDPFLAGS} + ex_check_save_LDFLAGS=${LDFLAGS} if test "x$7" != "x"; then CPPFLAGS="$CPPFLAGS -I$7" fi @@ -65,7 +65,7 @@ AC_DEFUN([EX_CHECK_ALL], You can find also find an archive copy on - http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs + http://oss.oetiker.ch/rrdtool/pub/libs The last tested version of $4 is $5. @@ -362,6 +362,12 @@ AC_CACHE_VAL([rd_cv_ieee_$2], # define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) #endif +/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */ +#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS)) +# undef isnan +# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN) +#endif + /* Digital UNIX */ #if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) # define HAVE_ISINF 1 @@ -386,21 +392,21 @@ AC_CACHE_VAL([rd_cv_ieee_$2], #include int main(void){ - double nan,inf,c,zero; + double rrdnan,rrdinf,rrdc,rrdzero; $4; /* some math to see if we get a floating point exception */ - zero=sin(0.0); /* don't let the compiler optimize us away */ - nan=0.0/zero; /* especially here */ - inf=1.0/zero; /* and here. I want to know if it can do the magic */ + rrdzero=sin(0.0); /* don't let the compiler optimize us away */ + rrdnan=0.0/rrdzero; /* especially here */ + rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ /* at run time without sig fpe */ - c = inf + nan; - c = inf / nan; - if (! isnan(nan)) {printf ("not isnan(NaN) ... "); return 1;} - if (nan == nan) {printf ("nan == nan ... "); return 1;} - if (! isinf(inf)) {printf ("not isinf(oo) ... "); return 1;} - if (! isinf(-inf)) {printf ("not isinf(-oo) ... "); return 1;} - if (! inf > 0) {printf ("not inf > 0 ... "); return 1;} - if (! -inf < 0) {printf ("not -inf < 0 ... "); return 1;} + rrdc = rrdinf + rrdnan; + rrdc = rrdinf / rrdnan; + if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} + if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} + if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} + if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} + if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} + if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} return 0; }]])],[rd_cv_ieee_$2=yes],[rd_cv_ieee_$2=no],[:])]) dnl these we run regardles is cached or not @@ -443,7 +449,7 @@ AC_IEEE([out of the box], works, , , , PERLFLAGS="CCFLAGS=-DMUST_DISABLE_SIGFPE"], AC_MSG_ERROR([ Your Compiler does not do propper IEEE math ... Please find out how to -make IEEE math work with your compiler and let me know (oetiker@ee.ethz.ch). +make IEEE math work with your compiler and let me know (tobi@oetiker.ch). Check config.log to see what went wrong ... ]))])])])])])])])])]) @@ -477,4 +483,27 @@ $2]) CPPFLAGS="$save_CPPFLAGS" ]) +dnl a macro to add some color to the build process. +dnl CONFIGURE_PART(MESSAGE) + +AC_DEFUN([CONFIGURE_PART],[ +case $TERM in + # for the most important terminal types we directly know the sequences + xterm|xterm*|vt220|vt220*) + T_MD=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` + ;; + vt100|vt100*|cygwin) + T_MD=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` + T_ME=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /dev/null` + ;; + *) + T_MD='' + T_ME='' + ;; +esac + AC_MSG_RESULT() + AC_MSG_RESULT([${T_MD}$1${T_ME}]) +]) +