Better portability patch for systems that don't define SYS_NMLN.

This commit is contained in:
gfk
2001-10-26 22:52:10 +00:00
parent 134b33ace6
commit 7a4f465560
3 changed files with 53 additions and 2 deletions
+4
View File
@@ -32,6 +32,10 @@
#undef HD44780_DRV
#undef HAVE_SYS_NMLN
#undef HAVE__SYS_NAMELEN
#undef IRMANIN_DRV
#undef JOY_DRV
+13 -2
View File
@@ -32,8 +32,19 @@
int TwentyFourHour = 1;
int uptime_fd = 0;
static char kver[SYS_NMLN];
static char sysname[SYS_NMLN];
#ifdef HAVE_SYS_NMLN
static char kver[SYS_NMLN];
static char sysname[SYS_NMLN];
#else
# ifdef HAVE__SYS_NAMELEN
static char kver[_SYS_NAMELEN];
static char sysname[_SYS_NAMELEN];
# else
// Last hope! May segfault!
static char *kver;
static char *sysname;
# endif
#endif
static double get_uptime (double *up, double *idle);
+36
View File
@@ -76,6 +76,42 @@ AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h unistd.h)
AC_CHECK_HEADERS(curses.h ncurses.h)
dnl Check for particular preprocessor macros
dnl Checking if sys/utsname.h is present and defines SYS_NMLN or _SYS_NAMELEN
AC_CHECK_HEADER(sys/utsname.h,
AC_MSG_CHECKING(if sys/utsname.h defines SYS_NMLN)
AC_TRY_RUN([[
#include <sys/utsname.h>
int main() {
char kver[SYS_NMLN];
return 0;
}
]], [
dnl then
AC_DEFINE(HAVE_SYS_NMLN)
AC_MSG_RESULT(yes) ], [
dnl else
AC_MSG_RESULT(no)
AC_MSG_CHECKING(if sys/utsname.h defines _SYS_NAMELEN)
AC_TRY_RUN([[
#include <sys/utsname.h>
int main() {
char kver[_SYS_NAMELEN];
return 0;
}
]], [
dnl then
AC_DEFINE(HAVE__SYS_NAMELEN)
AC_MSG_RESULT(yes) ], [
dnl else
AC_MSG_RESULT(no)
AC_MSG_WARN([sys/utsname.h does not define SYS_NMLN or _SYS_NAMELEN])],[:])
],[:])
, [AC_MSG_WARN([LCDproc client requires sys/utsname.h.])])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE