X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.in;h=954d967cb536a15481eebaad986049a0ea23962e;hb=86278412535aeeb0e8e2c50df9029f1b0920e4d8;hp=040ccda500c199bec002005d8b7987764ea008af;hpb=fff2b3d4629a871297984219cf5d9c5437a0fd89;p=collectd.git diff --git a/configure.in b/configure.in index 040ccda5..954d967c 100644 --- a/configure.in +++ b/configure.in @@ -65,6 +65,11 @@ then AC_SUBST(KERNEL_CFLAGS) fi +if test "x$ac_system" = "xSolaris" +then + CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" +fi + # # Checks for header files. # @@ -240,7 +245,8 @@ AC_CHECK_HEADERS(IOKit/ps/IOPowerSources.h, [], [], ]) # For the swap module -AC_CHECK_HEADERS(sys/swap.h, [], [], +have_sys_swap_h="yes" +AC_CHECK_HEADERS(sys/swap.h, [], [have_sys_swap_h="no"], [ #if HAVE_SYS_TYPES_H # include @@ -250,6 +256,11 @@ AC_CHECK_HEADERS(sys/swap.h, [], [], #endif ]) +if test "x$have_sys_swap_h$ac_system" = "xnoSolaris" +then + AC_MSG_NOTICE([Solaris detected and sys/swap.h not found: Try building a 64bit binary.]) +fi + # For load module # For the processes plugin # For users module @@ -394,7 +405,7 @@ AC_CHECK_FUNCS(gettimeofday select strdup strtol getaddrinfo getnameinfo strchr AC_FUNC_STRERROR_R AC_CACHE_CHECK([for strtok_r], - [have_strtok_r_default], + [c_cv_have_strtok_r_default], AC_LINK_IFELSE( AC_LANG_PROGRAM( [[[[ @@ -416,18 +427,18 @@ AC_CACHE_CHECK([for strtok_r], printf ("token = %s;\n", token); } ]]]]), - [have_strtok_r_default="yes"], - [have_strtok_r_default="no"] + [c_cv_have_strtok_r_default="yes"], + [c_cv_have_strtok_r_default="no"] ) ) -if test "x$have_strtok_r_default" = "xno" +if test "x$c_cv_have_strtok_r_default" = "xno" then SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -D_REENTRANT=1" AC_CACHE_CHECK([if strtok_r needs _REENTRANT], - [have_strtok_r_reentrant], + [c_cv_have_strtok_r_reentrant], AC_LINK_IFELSE( AC_LANG_PROGRAM( [[[[ @@ -449,7 +460,7 @@ then printf ("token = %s;\n", token); } ]]]]), - [have_strtok_r_reentrant="yes"], + [c_cv_have_strtok_r_reentrant="yes"], [AC_MSG_FAILURE([strtok_r isn't available. Please file a bugreport!])] ) ) @@ -493,7 +504,7 @@ AC_ARG_WITH(nan-emulation, [AS_HELP_STRING([--with-nan-emulation], [use emulated [nan_type="none"]) if test "x$nan_type" = "xnone"; then AC_CACHE_CHECK([whether NAN is defined by default], - [have_nan_default], + [c_cv_have_nan_default], AC_COMPILE_IFELSE( AC_LANG_PROGRAM( [[ @@ -507,18 +518,18 @@ static float foo = NAN; else return 1; ]]), - [have_nan_default="yes"], - [have_nan_default="no"] + [c_cv_have_nan_default="yes"], + [c_cv_have_nan_default="no"] ) ) - if test "x$have_nan_default" = "xyes" + if test "x$c_cv_have_nan_default" = "xyes" then nan_type="default" fi fi if test "x$nan_type" = "xnone"; then AC_CACHE_CHECK([whether NAN is defined by __USE_ISOC99], - [have_nan_isoc], + [c_cv_have_nan_isoc], AC_COMPILE_IFELSE( AC_LANG_PROGRAM( [[ @@ -533,18 +544,18 @@ static float foo = NAN; else return 1; ]]), - [have_nan_isoc="yes"], - [have_nan_isoc="no"] + [c_cv_have_nan_isoc="yes"], + [c_cv_have_nan_isoc="no"] ) ) - if test "x$have_nan_isoc" = "xyes" + if test "x$c_cv_have_nan_isoc" = "xyes" then nan_type="isoc99" fi fi if test "x$nan_type" = "xnone"; then AC_CACHE_CHECK([whether NAN can be defined by 0/0], - [have_nan_zero], + [c_cv_have_nan_zero], AC_RUN_IFELSE( AC_LANG_PROGRAM( [[ @@ -565,11 +576,11 @@ static float foo = NAN; else return 1; ]]), - [have_nan_zero="yes"], - [have_nan_zero="no"] + [c_cv_have_nan_zero="yes"], + [c_cv_have_nan_zero="no"] ) ) - if test "x$have_nan_zero" = "xyes" + if test "x$c_cv_have_nan_zero" = "xyes" then nan_type="zero" fi @@ -604,7 +615,7 @@ fi; fi; fi if test "x$fp_layout_type" = "xunknown"; then AC_CACHE_CHECK([if doubles are stored in x86 representation], - [fp_layout_need_nothing], + [c_cv_fp_layout_need_nothing], AC_RUN_IFELSE( AC_LANG_PROGRAM( [[[[ @@ -633,17 +644,17 @@ if test "x$fp_layout_type" = "xunknown"; then else return (1); ]]]]), - [fp_layout_need_nothing="yes"], - [fp_layout_need_nothing="no"] + [c_cv_fp_layout_need_nothing="yes"], + [c_cv_fp_layout_need_nothing="no"] ) ) - if test "x$fp_layout_need_nothing" = "xyes"; then + if test "x$c_cv_fp_layout_need_nothing" = "xyes"; then fp_layout_type="nothing" fi fi if test "x$fp_layout_type" = "xunknown"; then AC_CACHE_CHECK([if endianflip converts to x86 representation], - [fp_layout_need_endianflip], + [c_cv_fp_layout_need_endianflip], AC_RUN_IFELSE( AC_LANG_PROGRAM( [[[[ @@ -680,17 +691,17 @@ if test "x$fp_layout_type" = "xunknown"; then else return (1); ]]]]), - [fp_layout_need_endianflip="yes"], - [fp_layout_need_endianflip="no"] + [c_cv_fp_layout_need_endianflip="yes"], + [c_cv_fp_layout_need_endianflip="no"] ) ) - if test "x$fp_layout_need_endianflip" = "xyes"; then + if test "x$c_cv_fp_layout_need_endianflip" = "xyes"; then fp_layout_type="endianflip" fi fi if test "x$fp_layout_type" = "xunknown"; then AC_CACHE_CHECK([if intswap converts to x86 representation], - [fp_layout_need_intswap], + [c_cv_fp_layout_need_intswap], AC_RUN_IFELSE( AC_LANG_PROGRAM( [[[[ @@ -721,11 +732,11 @@ if test "x$fp_layout_type" = "xunknown"; then else return (1); ]]]]), - [fp_layout_need_intswap="yes"], - [fp_layout_need_intswap="no"] + [c_cv_fp_layout_need_intswap="yes"], + [c_cv_fp_layout_need_intswap="no"] ) ) - if test "x$fp_layout_need_intswap" = "xyes"; then + if test "x$c_cv_fp_layout_need_intswap" = "xyes"; then fp_layout_type="intswap" fi fi @@ -764,7 +775,7 @@ fi if test "x$have_getmntent" = "xc"; then AC_CACHE_CHECK([whether getmntent takes one argument], - [have_one_getmntent], + [c_cv_have_one_getmntent], AC_COMPILE_IFELSE( AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT #include @@ -776,12 +787,12 @@ if test "x$have_getmntent" = "xc"; then me = getmntent (fh); ]] ), - [have_one_getmntent="yes"], - [have_one_getmntent="no"] + [c_cv_have_one_getmntent="yes"], + [c_cv_have_one_getmntent="no"] ) ) AC_CACHE_CHECK([whether getmntent takes two arguments], - [have_two_getmntent], + [c_cv_have_two_getmntent], AC_COMPILE_IFELSE( AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT #include @@ -794,8 +805,8 @@ if test "x$have_getmntent" = "xc"; then status = getmntent (fh, &mt); ]] ), - [have_two_getmntent="yes"], - [have_two_getmntent="no"] + [c_cv_have_two_getmntent="yes"], + [c_cv_have_two_getmntent="no"] ) ) fi @@ -803,11 +814,11 @@ fi # Check for different versions of `getmntent' here.. if test "x$have_getmntent" = "xc"; then - if test "x$have_one_getmntent" = "xyes"; then + if test "x$c_cv_have_one_getmntent" = "xyes"; then AC_DEFINE(HAVE_ONE_GETMNTENT, 1, [Define if the function getmntent exists and takes one argument.]) fi - if test "x$have_two_getmntent" = "xyes"; then + if test "x$c_cv_have_two_getmntent" = "xyes"; then AC_DEFINE(HAVE_TWO_GETMNTENT, 1, [Define if the function getmntent exists and takes two arguments.]) fi @@ -1263,6 +1274,15 @@ then fi AM_CONDITIONAL(BUILD_WITH_LIBKVM_NLIST, test "x$with_kvm_nlist" = "xyes") +AC_CHECK_LIB(kvm, kvm_openfiles, [with_kvm_openfiles="yes"], [with_kvm_openfiles="no"]) +if test "x$with_kvm_openfiles" = "xyes" +then + AC_DEFINE(HAVE_LIBKVM_NLIST, 1, + [Define to 1 if you have the 'kvm' library with the 'kvm_openfiles' symbol (-lkvm)]) + with_libkvm="yes" +fi +AM_CONDITIONAL(BUILD_WITH_LIBKVM_OPENFILES, test "x$with_kvm_openfiles" = "xyes") + with_sensors_cflags="" with_sensors_ldflags="" AC_ARG_WITH(lm-sensors, [AS_HELP_STRING([--with-lm-sensors@<:@=PREFIX@:>@], [Path to lm_sensors.])], @@ -1359,12 +1379,24 @@ then if test $mysql_config_status -ne 0 then - with_libmysql="no" + with_libmysql="no ($with_mysql_config failed)" else SAVE_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $with_mysql_cflags" - AC_CHECK_HEADERS(mysql/mysql.h, [], [with_libmysql="no (mysql/mysql.h not found)"], []) + have_mysql_h="no" + have_mysql_mysql_h="no" + AC_CHECK_HEADERS(mysql.h, [have_mysql_h="yes"]) + + if test "x$have_mysql_h" = "xno" + then + AC_CHECK_HEADERS(mysql/mysql.h, [have_mysql_mysql_h="yes"]) + fi + + if test "x$have_mysql_h$have_mysql_mysql_h" = "xnono" + then + with_libmysql="no (mysql.h not found)" + fi CPPFLAGS="$SAVE_CPPFLAGS" fi @@ -1376,7 +1408,7 @@ then if test $mysql_config_status -ne 0 then - with_libmysql="no" + with_libmysql="no ($with_mysql_config failed)" else AC_CHECK_LIB(mysqlclient, mysql_init, [with_libmysql="yes"], @@ -1616,7 +1648,11 @@ AM_CONDITIONAL(BUILD_WITH_LIBESMTP, test "x$with_libesmtp" = "xyes") perl_interpreter="perl" AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to libperl.])], [ - if test "x$withval" != "xno" && test "x$withval" != "xyes" + if test -x "$withval" + then + perl_interpreter="$withval" + with_libperl="yes" + else if test "x$withval" != "xno" && test "x$withval" != "xyes" then LDFLAGS="$LDFLAGS -L$withval/lib" CPPFLAGS="$CPPFLAGS -I$withval/include" @@ -1624,7 +1660,7 @@ AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to l with_libperl="yes" else with_libperl="$withval" - fi + fi; fi ], [ with_libperl="yes" @@ -1634,7 +1670,7 @@ AC_MSG_CHECKING([for perl]) perl_interpreter=`which "$perl_interpreter" 2> /dev/null` if test -x "$perl_interpreter" then - AC_MSG_RESULT([yes]) + AC_MSG_RESULT([yes ($perl_interpreter)]) else perl_interpreter="" AC_MSG_RESULT([no]) @@ -1647,32 +1683,34 @@ if test "x$with_libperl" = "xyes" \ then SAVE_CFLAGS=$CFLAGS SAVE_LDFLAGS=$LDFLAGS - PERL_CFLAGS=`$perl_interpreter -MExtUtils::Embed -e ccopts` - PERL_LDFLAGS=`$perl_interpreter -MExtUtils::Embed -e ldopts` +dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string) + PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts` + PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts` CFLAGS="$CFLAGS $PERL_CFLAGS" LDFLAGS="$LDFLAGS $PERL_LDFLAGS" AC_CACHE_CHECK([for libperl], - [have_libperl], + [c_cv_have_libperl], AC_LINK_IFELSE( AC_LANG_PROGRAM( [[ +#define PERL_NO_GET_CONTEXT #include #include #include ]], [[ - PerlInterpreter *perl = NULL; - Perl_load_module (perl, PERL_LOADMOD_NOIMPORT, + dTHX; + load_module (PERL_LOADMOD_NOIMPORT, newSVpv ("Collectd::Plugin::FooBar", 24), Nullsv); ]]), - [have_libperl="yes"], - [have_libperl="no"] + [c_cv_have_libperl="yes"], + [c_cv_have_libperl="no"] ) ) - if test "x$have_libperl" = "xyes" + if test "x$c_cv_have_libperl" = "xyes" then AC_DEFINE(HAVE_LIBPERL, 1, [Define if libperl is present and usable.]) AC_SUBST(PERL_CFLAGS) @@ -1685,7 +1723,7 @@ then LDFLAGS=$SAVE_LDFLAGS else if test -z "$perl_interpreter"; then with_libperl="no (no perl interpreter found)" - have_libperl="no" + c_cv_have_libperl="no" fi; fi AM_CONDITIONAL(BUILD_WITH_LIBPERL, test "x$with_libperl" = "xyes") @@ -1697,7 +1735,7 @@ then LDFLAGS="$LDFLAGS $PERL_LDFLAGS" AC_CACHE_CHECK([if perl supports ithreads], - [have_perl_ithreads], + [c_cv_have_perl_ithreads], AC_LINK_IFELSE( AC_LANG_PROGRAM( [[ @@ -1710,12 +1748,12 @@ then #endif /* !defined(USE_ITHREADS) */ ]], [[ ]]), - [have_perl_ithreads="yes"], - [have_perl_ithreads="no"] + [c_cv_have_perl_ithreads="yes"], + [c_cv_have_perl_ithreads="no"] ) ) - if test "x$have_perl_ithreads" = "xyes" + if test "x$c_cv_have_perl_ithreads" = "xyes" then AC_DEFINE(HAVE_PERL_ITHREADS, 1, [Define if Perl supports ithreads.]) fi @@ -1857,32 +1895,93 @@ PKG_CHECK_MODULES([LIBNOTIFY], [libnotify], [with_libnotify="yes"], [with_libnotify="no ($LIBNOTIFY_PKG_ERRORS)"]) -with_libupsclient="no (pkg-config isn't available)" +with_libupsclient_config="" with_libupsclient_cflags="" with_libupsclient_libs="" -if test "x$PKG_CONFIG" != "x" -then - pkg-config --exists 'libupsclient' 2>/dev/null - if test "$?" = "0" +AC_ARG_WITH(libupsclient, [AS_HELP_STRING([--with-libupsclient@<:@=PREFIX@:>@], [Path to the Net-SNMPD library.])], +[ + if test "x$withval" = "xno" + then + with_libupsclient="no" + else if test "x$withval" = "xyes" then - with_libupsclient="yes" + with_libupsclient="use_pkgconfig" else + if test -x "$withval" + then + with_libupsclient_config="$withval" + with_libupsclient="use_libupsclient_config" + else if test -x "$withval/bin/libupsclient-config" + then + with_libupsclient_config="$withval/bin/net-snmp-config" + with_libupsclient="use_libupsclient_config" + else + AC_MSG_NOTICE([Not checking for libupsclient: Manually configured]) + with_libupsclient_cflags="-I$withval/include" + with_libupsclient_libs="-L$withval/lib -lupsclient" + with_libupsclient="yes" + fi; fi + fi; fi +], +[with_libupsclient="use_pkgconfig"]) + +# configure using libupsclient-config +if test "x$with_libupsclient" = "xuse_libupsclient_config" +then + AC_MSG_NOTICE([Checking for libupsclient using $with_libupsclient_config]) + with_libupsclient_cflags="`$with_libupsclient_config --cflags`" + if test $? -ne 0 + then + with_libupsclient="no ($with_libupsclient_config failed)" + fi + with_libupsclient_libs="`$with_libupsclient_config --libs`" + if test $? -ne 0 + then + with_libupsclient="no ($with_libupsclient_config failed)" + fi +fi +if test "x$with_libupsclient" = "xuse_libupsclient_config" +then + with_libupsclient="yes" +fi + +# configure using pkg-config +if test "x$with_libupsclient" = "xuse_pkgconfig" +then + if test "x$PKG_CONFIG" = "x" + then + with_libupsclient="no (Don't have pkg-config)" + fi +fi +if test "x$with_libupsclient" = "xuse_pkgconfig" +then + AC_MSG_NOTICE([Checking for libupsclient using $PKG_CONFIG]) + $PKG_CONFIG --exists 'libupsclient' 2>/dev/null + if test $? -ne 0 + then with_libupsclient="no (pkg-config doesn't know library)" fi fi -if test "x$with_libupsclient" = "xyes" +if test "x$with_libupsclient" = "xuse_pkgconfig" then - with_libupsclient_cflags="`pkg-config --cflags 'libupsclient'`" + with_libupsclient_cflags="`$PKG_CONFIG --cflags 'libupsclient'`" if test $? -ne 0 then - with_libupsclient="no" + with_libupsclient="no ($PKG_CONFIG failed)" fi - with_libupsclient_libs="`pkg-config --libs 'libupsclient'`" + with_libupsclient_libs="`$PKG_CONFIG --libs 'libupsclient'`" if test $? -ne 0 then - with_libupsclient="no" + with_libupsclient="no ($PKG_CONFIG failed)" fi fi +if test "x$with_libupsclient" = "xuse_pkgconfig" +then + with_libupsclient="yes" +fi + +# with_libupsclient_cflags and with_libupsclient_libs are set up now, let's do +# the actual checks. if test "x$with_libupsclient" = "xyes" then SAVE_CPPFLAGS="$CPPFLAGS" @@ -2474,7 +2573,13 @@ AC_DEFUN( ]) if test "x$enable_plugin" = "xyes" then - AC_DEFINE([HAVE_PLUGIN_]my_toupper([$1]), 1, [Define to 1 if the $1 plugin is enabled.]) + if test "x$2" = "xyes" + then + AC_DEFINE([HAVE_PLUGIN_]my_toupper([$1]), 1, [Define to 1 if the $1 plugin is enabled.]) + else # User passed "yes" but dependency checking yielded "no" => Dependency problem. + dependency_error="yes" + enable_plugin="no (dependency error)" + fi fi AM_CONDITIONAL([BUILD_PLUGIN_]my_toupper([$1]), test "x$enable_plugin" = "xyes") enable_$1="$enable_plugin" @@ -2488,6 +2593,7 @@ AC_COLLECTD([debug], [enable], [feature], [debugging]) AC_COLLECTD([daemon], [disable], [feature], [daemon mode]) AC_COLLECTD([getifaddrs],[enable], [feature], [getifaddrs under Linux]) +dependency_error="no" plugin_ascent="no" plugin_battery="no" plugin_cpu="no" @@ -2563,10 +2669,14 @@ then plugin_disk="yes" plugin_interface="yes" plugin_memory="yes" - plugin_swap="yes" plugin_tape="yes" fi +if test "x$have_sys_swap_h$with_kstat$ac_system" = "xyesyesSolaris" +then + plugin_swap="yes" +fi + # libstatgrab if test "x$with_libstatgrab" = "xyes" then @@ -2624,7 +2734,7 @@ then plugin_load="yes" fi -if test "x$have_libperl$have_perl_ithreads" = "xyesyes" +if test "x$c_cv_have_libperl$c_cv_have_perl_ithreads" = "xyesyes" then plugin_perl="yes" fi @@ -2655,7 +2765,7 @@ then plugin_swap="yes" fi -if test "x$with_kvm_nlist" = "xyes" +if test "x$with_kvm_openfiles$with_kvm_nlist" = "xyesyes" then plugin_tcpconns="yes" fi @@ -2905,3 +3015,7 @@ Configuration: xmms . . . . . . . . $enable_xmms EOF + +if test "x$dependency_error" = "xyes"; then + AC_MSG_ERROR("Some plugins are missing dependencies - see above summary for details") +fi