1# minmax.m4 serial 2 2dnl Copyright (C) 2005 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl with or without modifications, as long as this notice is preserved. 6 7AC_PREREQ(2.52) 8 9AC_DEFUN([gl_MINMAX], 10[ 11 AC_REQUIRE([gl_PREREQ_MINMAX]) 12]) 13 14# Prerequisites of lib/minmax.h. 15AC_DEFUN([gl_PREREQ_MINMAX], 16[ 17 gl_MINMAX_IN_HEADER([limits.h]) 18 gl_MINMAX_IN_HEADER([sys/param.h]) 19]) 20 21dnl gl_MINMAX_IN_HEADER(HEADER) 22dnl The parameter has to be a literal header name; it cannot be macro, 23dnl nor a shell variable. (Because autoheader collects only AC_DEFINE 24dnl invocations with a literal macro name.) 25AC_DEFUN([gl_MINMAX_IN_HEADER], 26[ 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_TRY_COMPILE([#include <$1> 32int x = MIN (42, 17);], [], 33 [gl_cv_minmax_in_]header[=yes], 34 [gl_cv_minmax_in_]header[=no])]) 35 if test $gl_cv_minmax_in_[]header = yes; then 36 AC_DEFINE([HAVE_MINMAX_IN_]HEADER, 1, 37 [Define to 1 if <$1> defines the MIN and MAX macros.]) 38 fi 39 m4_popdef([HEADER]) 40 m4_popdef([header]) 41]) 42