summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/build/m4/rewrite.m421
-rw-r--r--source4/include/system/filesys.h11
2 files changed, 32 insertions, 0 deletions
diff --git a/source4/build/m4/rewrite.m4 b/source4/build/m4/rewrite.m4
index 92bcdc0414..0bdd181a55 100644
--- a/source4/build/m4/rewrite.m4
+++ b/source4/build/m4/rewrite.m4
@@ -67,6 +67,27 @@ AC_CHECK_HEADERS(sys/mount.h, , , [AC_INCLUDES_DEFAULT
#include <sys/param.h>
#endif])
+AC_CACHE_CHECK([for MAX in sys/param.h], samba_cv_sys_param_h_max,
+ AC_TRY_COMPILE([
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif], [int i = MAX(1,2)],
+ samba_cv_sys_param_h_max=yes, samba_cv_sys_param_h_max=no) )
+
+if test x"$samba_cv_sys_param_h_max" = x"yes"; then
+ AC_DEFINE(HAVE_SYS_PARAM_H_MAX, 1, [Whether sys/param.h declares the MAX macro])
+fi
+
+AC_CACHE_CHECK([for MIN in sys/param.h], samba_cv_sys_param_h_min, [
+ AC_TRY_COMPILE([
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif], [int i = MIN(1,2)],
+ samba_cv_sys_param_h_min=yes, samba_cv_sys_param_h_min=no)] )
+
+if test x"$samba_cv_sys_param_h_min" = x"yes"; then
+ AC_DEFINE(HAVE_SYS_PARAM_H_MIN, 1, [Whether sys/param.h declares the MIN macro])
+fi
AC_TYPE_SIGNAL
AC_TYPE_UID_T
diff --git a/source4/include/system/filesys.h b/source4/include/system/filesys.h
index e81eec13e9..b79ec33c1a 100644
--- a/source4/include/system/filesys.h
+++ b/source4/include/system/filesys.h
@@ -24,6 +24,17 @@
#include <sys/stat.h>
#ifdef HAVE_SYS_PARAM_H
+/* On (at least) IRIX and Linux, sys/param.h unconditionally defines the MAX
+ * and MIN macros. Since smb_macros.h might have already defined this, we
+ * choose to use the system versions if they are present. This avoids a MIPSPro
+ * compiler warning whenever this file is included.
+ */
+#if defined(HAVE_SYS_PARAM_H_MIN) && defined(MIN)
+#undef MIN
+#endif
+#if defined(HAVE_SYS_PARAM_H_MAX) && defined(MAX)
+#undef MAX
+#endif
#include <sys/param.h>
#endif