From 7568dec2c3be21ab3b44353cac0ca0d9f47abe63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Tue, 24 Mar 2015 14:26:59 +0100
Subject: [PATCH] Build: Moved OS checking code to aclocal.m4.

---
 src/aclocal.m4                  | 54 +++++++++++++++++++++++++++++++++
 src/configure.in                | 53 ++------------------------------
 src/modules/system/configure.in | 50 +-----------------------------
 3 files changed, 57 insertions(+), 100 deletions(-)

diff --git a/src/aclocal.m4 b/src/aclocal.m4
index 848c8f0070..41fa31a65c 100644
--- a/src/aclocal.m4
+++ b/src/aclocal.m4
@@ -588,6 +588,60 @@ AC_DEFUN(PIKE_CHECK_CONSTANTS,
 ])
 
 
+dnl PIKE_AC_CHECK_OS()
+dnl
+dnl Check the operating system
+AC_DEFUN(PIKE_AC_CHECK_OS, [
+  AC_PATH_PROG(uname_prog,uname,no)
+  AC_MSG_CHECKING(operating system)
+  AC_CACHE_VAL(pike_cv_sys_os, [
+    if test "$cross_compiling" = "yes"; then
+      case "$host_alias" in
+	*amigaos*)	pike_cv_sys_os="AmigaOS";;
+	*linux*)	pike_cv_sys_os="Linux";;
+	*solaris*)	pike_cv_sys_os="Solaris";;
+	*sunos*)	pike_cv_sys_os="SunOS";;
+	*windows*)	pike_cv_sys_os="Windows_NT";;
+	*mingw*|*MINGW*)
+			pike_cv_sys_os="Windows_NT"
+			pike_cv_is_mingw="yes";;
+	*)		pike_cv_sys_os="Unknown";;
+      esac
+    elif test "$uname_prog" != "no"; then
+      # uname on UNICOS doesn't work like other people's uname...
+      if getconf CRAY_RELEASE >/dev/null 2>&1; then
+	pike_cv_sys_os="UNICOS"
+      else
+	pike_cv_sys_os="`uname`"
+      fi
+
+      case "$pike_cv_sys_os" in
+	SunOS)
+	  case "`uname -r`" in
+	    5.*) pike_cv_sys_os="Solaris" ;;
+	  esac
+	  ;;
+	Monterey64)
+	  # According to the release notes, the string "Monterey64"
+	  # will be changed to "AIX" in the final release.
+	  # (Monterey 64 is also known as AIX 5L).
+	  pike_cv_sys_os="AIX"
+	;;
+	*Windows*|*windows*)
+	  pike_cv_sys_os="Windows_NT"
+	;;
+	*MINGW*|*mingw*)
+	  pike_cv_is_mingw="yes"
+	  pike_cv_sys_os="Windows_NT"
+	;;
+      esac
+    else
+      pike_cv_sys_os="Not Solaris"
+    fi
+  ])
+  AC_MSG_RESULT($pike_cv_sys_os)
+])
+
 dnl 
 dnl PIKE_FEATURE_CLEAR()
 dnl PIKE_FEATURE(feature,text)
diff --git a/src/configure.in b/src/configure.in
index 29d6358043..0f4d632a84 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -570,57 +570,8 @@ else
   UNAME=unknown
 fi
 
-# We need some special hacks when running slowaris
-AC_PATH_PROG(uname_prog,uname,no)
-AC_MSG_CHECKING(operating system)
-AC_CACHE_VAL(pike_cv_sys_os,
-[
-if test "$cross_compiling" = "yes"; then
-  case "$host_alias" in
-    *amigaos*)	pike_cv_sys_os="AmigaOS";;
-    *linux*)	pike_cv_sys_os="Linux";;
-    *solaris*)	pike_cv_sys_os="Solaris";;
-    *sunos*)	pike_cv_sys_os="SunOS";;
-    *windows*)	pike_cv_sys_os="Windows_NT";;
-    *mingw*|*MINGW*)
-		pike_cv_sys_os="Windows_NT"
-		pike_cv_is_mingw="yes";;
-    *)		pike_cv_sys_os="Unknown";;
-  esac
-elif test "$uname_prog" != "no"; then
-  # uname on UNICOS doesn't work like other people's uname...
-  if getconf CRAY_RELEASE >/dev/null 2>&1; then
-    pike_cv_sys_os="UNICOS"
-  else
-    pike_cv_sys_os="`uname`"
-  fi
-
-  case "$pike_cv_sys_os" in
-    SunOS)
-      case "`uname -r`" in
-        5.*) pike_cv_sys_os="Solaris" ;;
-      esac
-    ;;
-    Monterey64)
-      # According to the release notes, the string "Monterey64"
-      # will be changed to "AIX" in the final release.
-      # (Monterey 64 is also known as AIX 5L).
-      pike_cv_sys_os="AIX"
-    ;;
-    *Windows*|*windows*)
-      pike_cv_sys_os="Windows_NT"
-    ;;
-    *MINGW*|*mingw*)
-      pike_cv_is_mingw="yes"
-      pike_cv_sys_os="Windows_NT"
-    ;;
-
-  esac
-else
-  pike_cv_sys_os="Not Solaris"
-fi
-])
-AC_MSG_RESULT($pike_cv_sys_os)
+# We need some special hacks when running slowaris and winblows.
+PIKE_AC_CHECK_OS()
 
 if test "x$pike_cv_sys_os" = xWindows_NT; then
   PIKE_FUNCS_NEED_DECLS(yes)
diff --git a/src/modules/system/configure.in b/src/modules/system/configure.in
index 423e9657f9..7771cc934a 100644
--- a/src/modules/system/configure.in
+++ b/src/modules/system/configure.in
@@ -11,55 +11,7 @@ AC_CHECK_LIB(net, __get_socket_descriptor)
 dnl For Cygwin
 AC_CHECK_LIB(cygipc, shmget)
 
-AC_MSG_CHECKING(operating system)
-AC_CACHE_VAL(pike_cv_sys_os,
-[
-if test "$cross_compiling" = "yes"; then
-  case "$host_alias" in
-    *amigaos*)	pike_cv_sys_os="AmigaOS";;
-    *linux*)	pike_cv_sys_os="Linux";;
-    *solaris*)	pike_cv_sys_os="Solaris";;
-    *sunos*)	pike_cv_sys_os="SunOS";;
-    *windows*)	pike_cv_sys_os="Windows_NT";;
-    *mingw*|*MINGW*)
-		pike_cv_sys_os="Windows_NT"
-		pike_cv_is_mingw="yes";;
-    *)		pike_cv_sys_os="Unknown";;
-  esac
-elif test "$uname_prog" != "no"; then
-  # uname on UNICOS doesn't work like other people's uname...
-  if getconf CRAY_RELEASE >/dev/null 2>&1; then
-    pike_cv_sys_os="UNICOS"
-  else
-    pike_cv_sys_os="`uname`"
-  fi
-
-  case "$pike_cv_sys_os" in
-    SunOS)
-      case "`uname -r`" in
-        5.*) pike_cv_sys_os="Solaris" ;;
-      esac
-    ;;
-    Monterey64)
-      # According to the release notes, the string "Monterey64"
-      # will be changed to "AIX" in the final release.
-      # (Monterey 64 is also known as AIX 5L).
-      pike_cv_sys_os="AIX"
-    ;;
-    *Windows*|*windows*)
-      pike_cv_sys_os="Windows_NT"
-    ;;
-    *MINGW*|*mingw*)
-      pike_cv_is_mingw="yes"
-      pike_cv_sys_os="Windows_NT"
-    ;;
-
-  esac
-else
-  pike_cv_sys_os="Not Solaris"
-fi
-])
-AC_MSG_RESULT($pike_cv_sys_os)
+PIKE_AC_CHECK_OS()
 
 if test x"$pike_cv_sys_os" = xWindows_NT ; then
   # FIXME: These look suspiciously much like 32bit versions.
-- 
GitLab