havelib: Fix for Solaris 11 OpenIndiana and Solaris 11 OmniOS.
[gnulib.git] / m4 / minmax.m4
blobe5b28b0b8b416d14f823662989c23cdac9d6d6ae
1 # minmax.m4 serial 4
2 dnl Copyright (C) 2005, 2009-2020 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
7 AC_PREREQ([2.53])
9 AC_DEFUN([gl_MINMAX],
11   AC_REQUIRE([gl_PREREQ_MINMAX])
14 # Prerequisites of lib/minmax.h.
15 AC_DEFUN([gl_PREREQ_MINMAX],
17   gl_MINMAX_IN_HEADER([limits.h])
18   gl_MINMAX_IN_HEADER([sys/param.h])
21 dnl gl_MINMAX_IN_HEADER(HEADER)
22 dnl The parameter has to be a literal header name; it cannot be macro,
23 dnl nor a shell variable. (Because autoheader collects only AC_DEFINE
24 dnl invocations with a literal macro name.)
25 AC_DEFUN([gl_MINMAX_IN_HEADER],
27   m4_pushdef([header], AS_TR_SH([$1]))
28   m4_pushdef([HEADER], AS_TR_CPP([$1]))
29   AC_CACHE_CHECK([whether <$1> defines MIN and MAX],
30     [gl_cv_minmax_in_]header,
31     [AC_COMPILE_IFELSE(
32        [AC_LANG_PROGRAM(
33           [[#include <$1>
34             int x = MIN (42, 17);]],
35           [[]])],
36        [gl_cv_minmax_in_]header[=yes],
37        [gl_cv_minmax_in_]header[=no])])
38   if test $gl_cv_minmax_in_[]header = yes; then
39     AC_DEFINE([HAVE_MINMAX_IN_]HEADER, 1,
40       [Define to 1 if <$1> defines the MIN and MAX macros.])
41   fi
42   m4_popdef([HEADER])
43   m4_popdef([header])