1
0
Fork 0
coreutils/m4/obstack.m4
Daniel Baumann c08a8f7410
Adding upstream version 9.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-21 07:57:52 +02:00

72 lines
2.3 KiB
Text

# obstack.m4
# serial 1
dnl Copyright 1996-2025 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This file is offered as-is, without any warranty.
# See if we need to provide obstacks.
dnl Autoconf's AC_FUNC_OBSTACK is marked obsolete since version 2.70.
dnl We provide our own macro here.
AC_DEFUN([gl_FUNC_OBSTACK],
[
AC_CHECK_HEADERS_ONCE([obstack.h])
if test $ac_cv_header_obstack_h = yes; then
HAVE_OBSTACK=1
AC_CACHE_CHECK([for obstacks that work with any size object],
[gl_cv_func_obstack],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#include "obstack.h"
void *obstack_chunk_alloc (size_t n) { return 0; }
void obstack_chunk_free (void *p) { }
/* Check that an internal function returns size_t, not int. */
size_t _obstack_memory_used (struct obstack *);
]],
[[struct obstack mem;
obstack_init (&mem);
obstack_free (&mem, 0);
]])],
[gl_cv_func_obstack=yes],
[gl_cv_func_obstack=no])
])
if test $gl_cv_func_obstack = yes; then
REPLACE_OBSTACK=0
else
REPLACE_OBSTACK=1
fi
else
HAVE_OBSTACK=0
REPLACE_OBSTACK=0
fi
if test $HAVE_OBSTACK = 0 || test $REPLACE_OBSTACK = 1; then
GL_GENERATE_OBSTACK_H=true
else
GL_GENERATE_OBSTACK_H=false
fi
AC_SUBST([REPLACE_OBSTACK])
dnl Test whether a 'ptrdiff_t' has at least as many bits as a pointer.
AC_CACHE_CHECK([whether ptrdiff_t is at least as large as a pointer],
[gl_cv_ptrdiff_t_wide_enough],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#include <stddef.h>
typedef int check[2 * (sizeof (ptrdiff_t) >= sizeof (void *)) - 1];
]],
[[]])],
[gl_cv_ptrdiff_t_wide_enough=yes],
[gl_cv_ptrdiff_t_wide_enough=no])
])
if test $gl_cv_ptrdiff_t_wide_enough = yes; then
SMALL_PTRDIFF_T=0
else
SMALL_PTRDIFF_T=1
fi
dnl SMALL_PTRDIFF_T is expected to be 1 only on old / exotic platforms
dnl such as Windows 3.1 and AS/400.
AC_SUBST([SMALL_PTRDIFF_T])
])