]> granicus.if.org Git - sysstat/commitdiff
Make sysstat build on musl (non-glibc) environment
authorSebastien GODARD <sysstat@users.noreply.github.com>
Sat, 5 Sep 2015 14:29:51 +0000 (16:29 +0200)
committerSebastien GODARD <sysstat@users.noreply.github.com>
Sat, 5 Sep 2015 14:29:51 +0000 (16:29 +0200)
Building sysstat on musl needs two additional header files in common.h:
<limits.h>
<sys/sysmacros.h> (add an autoconf check for this because I don't know
whether all platforms have it)

Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
Makefile.in
common.h
configure
configure.in

index 58f8bd1e1f0332e4d25d221f12b410c0389e9ba2..9e0f12407f31db0574a3593d9b80c46eca0acd1b 100644 (file)
@@ -89,7 +89,11 @@ ifndef ZIP
 ZIP = @ZIP@
 endif
 
-# Settings 
+# Settings
+SYSMACROS = @SYSMACROS@
+ifeq ($(SYSMACROS),y)
+       DFLAGS += -DHAVE_SYS_SYSMACROS_H
+endif
 NLS = @NLS@
 ifeq ($(NLS),y)
 REQUIRE_NLS = -DUSE_NLS -DPACKAGE=\"$(PACKAGE)\" -DLOCALEDIR=\"$(NLS_DIR)\"
index 37dc097ef9a07e8428158941a2c119001fe38f65..e25add92e085961ac2b36677dc7d5550ebe141e5 100644 (file)
--- a/common.h
+++ b/common.h
 
 #include <time.h>
 #include <sched.h>     /* For __CPU_SETSIZE */
+#include <limits.h>
+
+#ifdef HAVE_SYS_SYSMACROS_H
+/* Needed on some non-glibc environments */
+#include <sys/sysmacros.h>
+#endif
+
 #include "rd_stats.h"
 
 /*
index d30dded51bf012908aaf5678b45362052d6331b1..f9bfebdfd1870eb2330e3c0d59c1b55ce35dee98 100755 (executable)
--- a/configure
+++ b/configure
@@ -658,6 +658,7 @@ SA_DIR
 sa_dir
 SA_LIB_DIR
 sa_lib_dir
+SYSMACROS
 INITD_DIR
 INIT_DIR
 RC_DIR
@@ -4017,6 +4018,7 @@ echo Check header files:
 echo .
 HAVE_LIBINTL_H=
 HAVE_LOCALE_H=
+HAVE_SYS_SYSMACROS_H=
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
 if ${ac_cv_header_stdc+:} false; then :
@@ -4419,6 +4421,18 @@ fi
 
 done
 
+for ac_header in sys/sysmacros.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_SYSMACROS_H 1
+_ACEOF
+ HAVE_SYS_SYSMACROS_H=1
+fi
+
+done
+
 
 echo .
 echo Check typedefs, structures and compiler characteristics:
@@ -4906,6 +4920,13 @@ fi
 
 
 
+if test $HAVE_SYS_SYSMACROS_H; then
+   SYSMACROS="y"
+else
+   SYSMACROS="n"
+fi
+
+
 # Set sadc directory
 if test $prefix != "NONE"; then
    AuxPrefix=$prefix
index bb6bb6384fd59a9ac2eed7f94f760ea35232acc8..19777ea20f97f2f20ad4adc28abf7525b541d6a4 100644 (file)
@@ -57,6 +57,7 @@ echo Check header files:
 echo .
 HAVE_LIBINTL_H=
 HAVE_LOCALE_H=
+HAVE_SYS_SYSMACROS_H=
 AC_HEADER_STDC
 AC_HEADER_DIRENT
 AC_CHECK_HEADERS(ctype.h)
@@ -70,6 +71,7 @@ AC_CHECK_HEADERS(stdio.h)
 AC_CHECK_HEADERS(sys/file.h)
 AC_CHECK_HEADERS(sys/ioctl.h)
 AC_CHECK_HEADERS(sys/stat.h)
+AC_CHECK_HEADERS(sys/sysmacros.h, HAVE_SYS_SYSMACROS_H=1)
 
 echo .
 echo Check typedefs, structures and compiler characteristics:
@@ -200,6 +202,13 @@ AC_SUBST(RC_DIR)
 AC_SUBST(INIT_DIR)
 AC_SUBST(INITD_DIR)
 
+if test $HAVE_SYS_SYSMACROS_H; then
+   SYSMACROS="y"
+else
+   SYSMACROS="n"
+fi
+AC_SUBST(SYSMACROS)
+
 # Set sadc directory
 if test $prefix != "NONE"; then
    AuxPrefix=$prefix