]> granicus.if.org Git - sysstat/commitdiff
configure: Add more checks
authorSebastien GODARD <sysstat@users.noreply.github.com>
Tue, 1 Oct 2019 08:57:01 +0000 (10:57 +0200)
committerSebastien GODARD <sysstat@users.noreply.github.com>
Tue, 1 Oct 2019 08:57:01 +0000 (10:57 +0200)
Check for more include files.
In particular, make sure that <linux/sched.h> and <pcp/impl.h> files
exist before including them.

Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
Makefile.in
configure
configure.in
pcp_def_metrics.c
pidstat.c

index 55c40be637e69e7497b2d18128387541bd040794..64902d70cba832e3ad245224c78adce83d3bedcf 100644 (file)
@@ -104,6 +104,14 @@ SYSMACROS = @SYSMACROS@
 ifeq ($(SYSMACROS),y)
        DFLAGS += -DHAVE_SYS_SYSMACROS_H
 endif
+LINUX_SCHED = @LINUX_SCHED@
+ifeq ($(LINUX_SCHED),y)
+       DFLAGS += -DHAVE_LINUX_SCHED_H
+endif
+PCP_IMPL = @PCP_IMPL@
+ifeq ($(PCP_IMPL),y)
+       DFLAGS += -DHAVE_PCP_IMPL_H
+endif
 SYSPARAM = @SYSPARAM@
 ifeq ($(SYSPARAM),y)
        DFLAGS += -DHAVE_SYS_PARAM_H
index 9ad465d6d24448db40f039f7c9d66c3eda15c8bb..825a783e5d69ac0ad45ae443335e4def7a1c1922 100755 (executable)
--- a/configure
+++ b/configure
@@ -660,11 +660,13 @@ sa_dir
 SA_LIB_DIR
 sa_lib_dir
 SYSPARAM
+LINUX_SCHED
 SYSMACROS
 INITD_DIR
 INIT_DIR
 RC_DIR
 rcdir
+PCP_IMPL
 DFPCP
 LFPCP
 HAVE_PCP
@@ -4429,6 +4431,18 @@ fi
 
 done
 
+for ac_header in linux/sched.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "linux/sched.h" "ac_cv_header_linux_sched_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_sched_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LINUX_SCHED_H 1
+_ACEOF
+ HAVE_LINUX_SCHED_H=1
+fi
+
+done
+
 for ac_header in net/if.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "$ac_includes_default"
@@ -4477,6 +4491,150 @@ fi
 
 done
 
+for ac_header in stdint.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdint_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STDINT_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in fcntl.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default"
+if test "x$ac_cv_header_fcntl_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_FCNTL_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in inttypes.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
+if test "x$ac_cv_header_inttypes_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_INTTYPES_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in libgen.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default"
+if test "x$ac_cv_header_libgen_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBGEN_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in pwd.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default"
+if test "x$ac_cv_header_pwd_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_PWD_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in time.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default"
+if test "x$ac_cv_header_time_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_TIME_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in unistd.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"
+if test "x$ac_cv_header_unistd_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_UNISTD_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in pcp/pmapi.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "pcp/pmapi.h" "ac_cv_header_pcp_pmapi_h" "$ac_includes_default"
+if test "x$ac_cv_header_pcp_pmapi_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_PCP_PMAPI_H 1
+_ACEOF
+ HAVE_PCP_PMAPI_H=1
+fi
+
+done
+
+for ac_header in pcp/impl.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "pcp/impl.h" "ac_cv_header_pcp_impl_h" "$ac_includes_default"
+if test "x$ac_cv_header_pcp_impl_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_PCP_IMPL_H 1
+_ACEOF
+ HAVE_PCP_IMPL_H=1
+fi
+
+done
+
+for ac_header in sys/time.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_time_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_TIME_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in sys/statvfs.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/statvfs.h" "ac_cv_header_sys_statvfs_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_statvfs_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_STATVFS_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in sys/types.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_types_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_TYPES_H 1
+_ACEOF
+
+fi
+
+done
+
 for ac_header in sys/file.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "sys/file.h" "ac_cv_header_sys_file_h" "$ac_includes_default"
@@ -4537,6 +4695,18 @@ fi
 
 done
 
+for ac_header in sys/utsname.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/utsname.h" "ac_cv_header_sys_utsname_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_utsname_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_UTSNAME_H 1
+_ACEOF
+
+fi
+
+done
+
 
 echo .
 echo Check typedefs, structures and compiler characteristics:
@@ -4756,6 +4926,10 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PCP" >&5
 $as_echo "$PCP" >&6; }
 
+if test ! $HAVE_PCP_PMAPI_H; then
+       HAVE_PCP="n"
+fi
+
 # Check for PCP libraries
 LFPCP=""
 DFPCP=""
@@ -4831,6 +5005,13 @@ fi
 
 
 
+if test $HAVE_PCP_IMPL_H; then
+   PCP_IMPL="y"
+else
+   PCP_IMPL="n"
+fi
+
+
 echo .
 echo Check system services:
 echo .
@@ -5128,6 +5309,13 @@ else
 fi
 
 
+if test $HAVE_LINUX_SCHED_H; then
+   LINUX_SCHED="y"
+else
+   LINUX_SCHED="n"
+fi
+
+
 if test $HAVE_SYS_PARAM_H; then
    SYSPARAM="y"
 else
index 9c9148dc9025181ca0465dd3ccd6a382bca14b0c..49f5c3f324cd103f9c75402f19e41dc4af3f47c4 100644 (file)
@@ -70,15 +70,29 @@ AC_CHECK_HEADERS(ctype.h)
 AC_CHECK_HEADERS(errno.h)
 AC_CHECK_HEADERS(libintl.h, HAVE_LIBINTL_H=1)
 AC_CHECK_HEADERS(locale.h, HAVE_LOCALE_H=1)
+AC_CHECK_HEADERS(linux/sched.h, HAVE_LINUX_SCHED_H=1)
 AC_CHECK_HEADERS(net/if.h)
 AC_CHECK_HEADERS(regex.h)
 AC_CHECK_HEADERS(signal.h)
 AC_CHECK_HEADERS(stdio.h)
+AC_CHECK_HEADERS(stdint.h)
+AC_CHECK_HEADERS(fcntl.h)
+AC_CHECK_HEADERS(inttypes.h)
+AC_CHECK_HEADERS(libgen.h)
+AC_CHECK_HEADERS(pwd.h)
+AC_CHECK_HEADERS(time.h)
+AC_CHECK_HEADERS(unistd.h)
+AC_CHECK_HEADERS(pcp/pmapi.h, HAVE_PCP_PMAPI_H=1)
+AC_CHECK_HEADERS(pcp/impl.h, HAVE_PCP_IMPL_H=1)
+AC_CHECK_HEADERS(sys/time.h)
+AC_CHECK_HEADERS(sys/statvfs.h)
+AC_CHECK_HEADERS(sys/types.h)
 AC_CHECK_HEADERS(sys/file.h)
 AC_CHECK_HEADERS(sys/ioctl.h)
 AC_CHECK_HEADERS(sys/param.h, HAVE_SYS_PARAM_H=1)
 AC_CHECK_HEADERS(sys/stat.h)
 AC_CHECK_HEADERS(sys/sysmacros.h, HAVE_SYS_SYSMACROS_H=1)
+AC_CHECK_HEADERS(sys/utsname.h)
 
 echo .
 echo Check typedefs, structures and compiler characteristics:
@@ -137,6 +151,10 @@ else
 fi
 AC_MSG_RESULT($PCP)
 
+if test ! $HAVE_PCP_PMAPI_H; then
+       HAVE_PCP="n"
+fi
+
 # Check for PCP libraries
 LFPCP=""
 DFPCP=""
@@ -153,6 +171,13 @@ AC_SUBST(HAVE_PCP)
 AC_SUBST(LFPCP)
 AC_SUBST(DFPCP)
 
+if test $HAVE_PCP_IMPL_H; then
+   PCP_IMPL="y"
+else
+   PCP_IMPL="n"
+fi
+AC_SUBST(PCP_IMPL)
+
 echo .
 echo Check system services:
 echo .
@@ -249,6 +274,13 @@ else
 fi
 AC_SUBST(SYSMACROS)
 
+if test $HAVE_LINUX_SCHED_H; then
+   LINUX_SCHED="y"
+else
+   LINUX_SCHED="n"
+fi
+AC_SUBST(LINUX_SCHED)
+
 if test $HAVE_SYS_PARAM_H; then
    SYSPARAM="y"
 else
index bc1a4ab1b935e626da880548955af6f466f3d039..570e419c661bf2b0aa216d772507c89308a70378 100644 (file)
 
 #ifdef HAVE_PCP
 #include <pcp/pmapi.h>
-#include <pcp/impl.h>
 #include <pcp/import.h>
+#ifdef HAVE_PCP_IMPL_H
+#include <pcp/impl.h>
+#endif
 #endif
 
 /*
index 04d1d6195fe6d07aa9affc26c1006f9bdb57946f..6179dbe15dcf82341e681fab8b851a5dc6ac3f45 100644 (file)
--- a/pidstat.c
+++ b/pidstat.c
 #include <pwd.h>
 #include <sys/utsname.h>
 #include <regex.h>
+
+#ifdef HAVE_LINUX_SCHED_H
 #include <linux/sched.h>
+#endif
 
 #include "version.h"
 #include "pidstat.h"