mirror of
https://https.git.savannah.gnu.org/git/patch.git
synced 2026-01-27 01:44:34 +00:00
496 lines
13 KiB
Plaintext
496 lines
13 KiB
Plaintext
# c-bs-a.m4 serial 4 (fileutils-4.1.3)
|
|
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
|
dnl This file is free software, distributed under the terms of the GNU
|
|
dnl General Public License. As a special exception to the GNU General
|
|
dnl Public License, this file may be distributed as part of a program
|
|
dnl that contains a configuration script generated by Autoconf, under
|
|
dnl the same distribution terms as the rest of that program.
|
|
|
|
dnl From Paul Eggert.
|
|
|
|
AC_DEFUN([AC_C_BACKSLASH_A],
|
|
[
|
|
AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a,
|
|
[AC_TRY_COMPILE([],
|
|
[
|
|
#if '\a' == 'a'
|
|
syntax error;
|
|
#endif
|
|
char buf['\a' == 'a' ? -1 : 1];
|
|
buf[0] = '\a';
|
|
return buf[0] != "\a"[0];
|
|
],
|
|
ac_cv_c_backslash_a=yes,
|
|
ac_cv_c_backslash_a=no)])
|
|
if test $ac_cv_c_backslash_a = yes; then
|
|
AC_DEFINE(HAVE_C_BACKSLASH_A, 1,
|
|
[Define if backslash-a works in C strings.])
|
|
fi
|
|
])
|
|
#serial 4
|
|
|
|
dnl From Jim Meyering.
|
|
dnl
|
|
dnl Check whether struct dirent has a member named d_ino.
|
|
dnl
|
|
|
|
AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO],
|
|
[AC_REQUIRE([AC_HEADER_DIRENT])dnl
|
|
AC_CACHE_CHECK([for d_ino member in directory struct],
|
|
jm_cv_struct_dirent_d_ino,
|
|
[AC_TRY_LINK(dnl
|
|
[
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_DIRENT_H
|
|
# include <dirent.h>
|
|
#else /* not HAVE_DIRENT_H */
|
|
# define dirent direct
|
|
# ifdef HAVE_SYS_NDIR_H
|
|
# include <sys/ndir.h>
|
|
# endif /* HAVE_SYS_NDIR_H */
|
|
# ifdef HAVE_SYS_DIR_H
|
|
# include <sys/dir.h>
|
|
# endif /* HAVE_SYS_DIR_H */
|
|
# ifdef HAVE_NDIR_H
|
|
# include <ndir.h>
|
|
# endif /* HAVE_NDIR_H */
|
|
#endif /* HAVE_DIRENT_H */
|
|
],
|
|
[struct dirent dp; dp.d_ino = 0;],
|
|
|
|
jm_cv_struct_dirent_d_ino=yes,
|
|
jm_cv_struct_dirent_d_ino=no)
|
|
]
|
|
)
|
|
if test $jm_cv_struct_dirent_d_ino = yes; then
|
|
AC_DEFINE(D_INO_IN_DIRENT, 1,
|
|
[Define if there is a member named d_ino in the struct describing
|
|
directory headers.])
|
|
fi
|
|
]
|
|
)
|
|
#serial 4
|
|
|
|
dnl FIXME: put these prerequisite-only *.m4 files in a separate
|
|
dnl directory -- otherwise, they'll conflict with existing files.
|
|
|
|
dnl These are the prerequisite macros for GNU's error.c file.
|
|
AC_DEFUN([jm_PREREQ_ERROR],
|
|
[
|
|
AC_CHECK_FUNCS(strerror vprintf doprnt)
|
|
AC_CHECK_DECLS([strerror])
|
|
AC_FUNC_STRERROR_R
|
|
AC_HEADER_STDC
|
|
])
|
|
#serial 7 -*- autoconf -*-
|
|
|
|
dnl From Jim Meyering.
|
|
dnl
|
|
dnl See if the glibc *_unlocked I/O macros are available.
|
|
dnl Use only those *_unlocked macros that are declared.
|
|
dnl
|
|
|
|
AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
|
|
[AC_CHECK_DECLS(
|
|
[clearerr_unlocked, feof_unlocked, ferror_unlocked,
|
|
fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
|
|
fread_unlocked, fwrite_unlocked, getc_unlocked,
|
|
getchar_unlocked, putc_unlocked, putchar_unlocked])])
|
|
#serial 6
|
|
|
|
dnl From Jim Meyering.
|
|
dnl Determine whether malloc accepts 0 as its argument.
|
|
dnl If it doesn't, arrange to use the replacement function.
|
|
dnl
|
|
|
|
AC_DEFUN([jm_FUNC_MALLOC],
|
|
[
|
|
dnl xmalloc.c requires that this symbol be defined so it doesn't
|
|
dnl mistakenly use a broken malloc -- as it might if this test were omitted.
|
|
AC_DEFINE(HAVE_DONE_WORKING_MALLOC_CHECK, 1,
|
|
[Define if the malloc check has been performed. ])
|
|
|
|
AC_CACHE_CHECK([whether malloc(0) returns a non-NULL pointer],
|
|
jm_cv_func_working_malloc,
|
|
[AC_TRY_RUN([
|
|
char *malloc ();
|
|
int
|
|
main ()
|
|
{
|
|
exit (malloc (0) ? 0 : 1);
|
|
}
|
|
],
|
|
jm_cv_func_working_malloc=yes,
|
|
jm_cv_func_working_malloc=no,
|
|
dnl When crosscompiling, assume malloc(0) returns NULL.
|
|
jm_cv_func_working_malloc=no)
|
|
])
|
|
if test $jm_cv_func_working_malloc = no; then
|
|
AC_LIBOBJ(malloc)
|
|
AC_DEFINE(malloc, rpl_malloc,
|
|
[Define to rpl_malloc if the replacement function should be used.])
|
|
fi
|
|
])
|
|
# mbstate_t.m4 serial 9 (fileutils-4.1.3)
|
|
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
|
dnl This file is free software, distributed under the terms of the GNU
|
|
dnl General Public License. As a special exception to the GNU General
|
|
dnl Public License, this file may be distributed as part of a program
|
|
dnl that contains a configuration script generated by Autoconf, under
|
|
dnl the same distribution terms as the rest of that program.
|
|
|
|
# From Paul Eggert.
|
|
|
|
# BeOS 5 has <wchar.h> but does not define mbstate_t,
|
|
# so you can't declare an object of that type.
|
|
# Check for this incompatibility with Standard C.
|
|
|
|
# Include stdlib.h first, because otherwise this test would fail on Linux
|
|
# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
|
|
# a syntax error in wchar.h due to the use of undefined __int32_t.
|
|
|
|
AC_DEFUN([AC_MBSTATE_T],
|
|
[
|
|
AC_CHECK_HEADERS(stdlib.h)
|
|
|
|
AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
|
|
[AC_TRY_COMPILE([
|
|
#if HAVE_STDLIB_H
|
|
# include <stdlib.h>
|
|
#endif
|
|
#include <wchar.h>],
|
|
[mbstate_t x; return sizeof x;],
|
|
ac_cv_type_mbstate_t=yes,
|
|
ac_cv_type_mbstate_t=no)])
|
|
if test $ac_cv_type_mbstate_t = yes; then
|
|
AC_DEFINE(HAVE_MBSTATE_T, 1,ma
|
|
[Define to 1 if <wchar.h> declares mbstate_t.])
|
|
else
|
|
AC_DEFINE(mbstate_t, int,
|
|
[Define to a type if <wchar.h> does not define.])
|
|
fi])
|
|
#serial 1
|
|
|
|
dnl From Mumit Khan and Paul Eggert
|
|
dnl Determine whether mkdir accepts only one argument instead of the usual two.
|
|
|
|
AC_DEFUN([PATCH_FUNC_MKDIR_TAKES_ONE_ARG],
|
|
[AC_CHECK_FUNCS(mkdir)
|
|
AC_CACHE_CHECK([whether mkdir takes only one argument],
|
|
patch_cv_mkdir_takes_one_arg,
|
|
[patch_cv_mkdir_takes_one_arg=no
|
|
if test $ac_cv_func_mkdir = yes; then
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/stat.h>
|
|
],
|
|
[mkdir (".", 0);],
|
|
,
|
|
[AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/stat.h>
|
|
],
|
|
[mkdir (".");],
|
|
patch_cv_mkdir_takes_one_arg=yes
|
|
)]
|
|
)
|
|
fi
|
|
]
|
|
)
|
|
if test $patch_cv_mkdir_takes_one_arg = yes; then
|
|
AC_DEFINE([MKDIR_TAKES_ONE_ARG], 1,
|
|
[Define if mkdir takes only one argument.])
|
|
fi
|
|
]
|
|
)
|
|
# mbrtowc.m4 serial 4 (fileutils-4.1.3)
|
|
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
|
dnl This file is free software, distributed under the terms of the GNU
|
|
dnl General Public License. As a special exception to the GNU General
|
|
dnl Public License, this file may be distributed as part of a program
|
|
dnl that contains a configuration script generated by Autoconf, under
|
|
dnl the same distribution terms as the rest of that program.
|
|
|
|
dnl From Paul Eggert
|
|
|
|
AC_DEFUN([jm_FUNC_MBRTOWC],
|
|
[
|
|
AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
|
|
jm_cv_func_mbrtowc,
|
|
[AC_TRY_LINK(
|
|
[#include <wchar.h>],
|
|
[mbstate_t state; return ! (sizeof state && mbrtowc);],
|
|
jm_cv_func_mbrtowc=yes,
|
|
jm_cv_func_mbrtowc=no)])
|
|
if test $jm_cv_func_mbrtowc = yes; then
|
|
AC_DEFINE(HAVE_MBRTOWC, 1,
|
|
[Define to 1 if mbrtowc and mbstate_t are properly declared.])
|
|
fi
|
|
])
|
|
#serial 22
|
|
|
|
dnl These are the prerequisite macros for files in the lib/
|
|
dnl directories of the fileutils, sh-utils, and textutils packages.
|
|
|
|
AC_DEFUN([jm_PREREQ],
|
|
[
|
|
jm_PREREQ_ADDEXT
|
|
jm_PREREQ_CANON_HOST
|
|
jm_PREREQ_DIRNAME
|
|
jm_PREREQ_ERROR
|
|
jm_PREREQ_EXCLUDE
|
|
jm_PREREQ_GETPAGESIZE
|
|
jm_PREREQ_HARD_LOCALE
|
|
jm_PREREQ_HASH
|
|
jm_PREREQ_HUMAN
|
|
jm_PREREQ_MBSWIDTH
|
|
jm_PREREQ_MEMCHR
|
|
jm_PREREQ_PHYSMEM
|
|
jm_PREREQ_POSIXVER
|
|
jm_PREREQ_QUOTEARG
|
|
jm_PREREQ_READUTMP
|
|
jm_PREREQ_REGEX
|
|
jm_PREREQ_TEMPNAME # called by mkstemp
|
|
jm_PREREQ_XGETCWD
|
|
jm_PREREQ_XREADLINK
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_ADDEXT],
|
|
[
|
|
dnl For addext.c.
|
|
AC_SYS_LONG_FILE_NAMES
|
|
AC_CHECK_FUNCS(pathconf)
|
|
AC_CHECK_HEADERS(limits.h string.h unistd.h)
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_CANON_HOST],
|
|
[
|
|
dnl Add any libraries as early as possible.
|
|
dnl In particular, inet_ntoa needs -lnsl at least on Solaris5.5.1,
|
|
dnl so we have to add -lnsl to LIBS before checking for that function.
|
|
AC_SEARCH_LIBS(gethostbyname, [inet nsl])
|
|
|
|
dnl These come from -lnsl on Solaris5.5.1.
|
|
AC_CHECK_FUNCS(gethostbyname gethostbyaddr inet_ntoa)
|
|
|
|
AC_CHECK_FUNCS(gethostbyname gethostbyaddr inet_ntoa)
|
|
AC_CHECK_HEADERS(unistd.h string.h netdb.h sys/socket.h \
|
|
netinet/in.h arpa/inet.h)
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_DIRNAME],
|
|
[
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(string.h)
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_EXCLUDE],
|
|
[
|
|
AC_FUNC_FNMATCH_GNU([lib])
|
|
AC_HEADER_STDBOOL
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_GETPAGESIZE],
|
|
[
|
|
AC_CHECK_FUNCS(getpagesize)
|
|
AC_CHECK_HEADERS(OS.h unistd.h)
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_HARD_LOCALE],
|
|
[
|
|
AC_C_PROTOTYPES
|
|
AC_CHECK_FUNCS(setlocale)
|
|
AC_CHECK_HEADERS(locale.h stdlib.h string.h)
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_HASH],
|
|
[
|
|
AC_CHECK_HEADERS(stdlib.h)
|
|
AC_HEADER_STDBOOL
|
|
AC_REQUIRE([jm_CHECK_DECLS])
|
|
])
|
|
|
|
# If you use human.c, you need the following files:
|
|
# inttypes.m4 ulonglong.m4
|
|
AC_DEFUN([jm_PREREQ_HUMAN],
|
|
[
|
|
AC_CHECK_HEADERS(limits.h stdlib.h string.h)
|
|
AC_CHECK_DECLS([getenv])
|
|
AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_MEMCHR],
|
|
[
|
|
AC_CHECK_HEADERS(limits.h stdlib.h bp-sym.h)
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_PHYSMEM],
|
|
[
|
|
AC_CHECK_HEADERS(sys/pstat.h unistd.h)
|
|
AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic)
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_POSIXVER],
|
|
[
|
|
AC_CHECK_HEADERS(unistd.h)
|
|
AC_CHECK_DECLS([getenv])
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_QUOTEARG],
|
|
[
|
|
AC_CHECK_FUNCS(isascii iswprint)
|
|
jm_FUNC_MBRTOWC
|
|
AC_CHECK_HEADERS(limits.h stddef.h stdlib.h string.h wchar.h wctype.h)
|
|
AC_HEADER_STDC
|
|
AC_C_BACKSLASH_A
|
|
AC_MBSTATE_T
|
|
AC_C_PROTOTYPES
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_REGEX],
|
|
[
|
|
dnl FIXME: Maybe provide a btowc replacement someday: solaris-2.5.1 lacks it.
|
|
dnl FIXME: Check for wctype and iswctype, and and add -lw if necessary
|
|
dnl to get them.
|
|
AC_CHECK_FUNCS(bzero bcopy isascii btowc)
|
|
AC_CHECK_HEADERS(alloca.h libintl.h wctype.h wchar.h)
|
|
AC_HEADER_STDC
|
|
AC_FUNC_ALLOCA
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_TEMPNAME],
|
|
[
|
|
AC_HEADER_STDC
|
|
AC_HEADER_STAT
|
|
AC_CHECK_HEADERS(fcntl.h sys/time.h stdint.h unistd.h)
|
|
AC_CHECK_FUNCS(__secure_getenv gettimeofday)
|
|
AC_CHECK_DECLS([getenv])
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_XGETCWD],
|
|
[
|
|
AC_C_PROTOTYPES
|
|
AC_CHECK_HEADERS(limits.h stdlib.h sys/param.h unistd.h)
|
|
AC_CHECK_FUNCS(getcwd)
|
|
AC_FUNC_GETCWD_NULL
|
|
])
|
|
|
|
AC_DEFUN([jm_PREREQ_XREADLINK],
|
|
[
|
|
AC_C_PROTOTYPES
|
|
AC_CHECK_HEADERS(limits.h stdlib.h sys/types.h unistd.h)
|
|
])
|
|
#serial 6
|
|
|
|
dnl From Jim Meyering.
|
|
dnl Determine whether realloc works when both arguments are 0.
|
|
dnl If it doesn't, arrange to use the replacement function.
|
|
dnl
|
|
|
|
AC_DEFUN([jm_FUNC_REALLOC],
|
|
[
|
|
dnl xmalloc.c requires that this symbol be defined so it doesn't
|
|
dnl mistakenly use a broken realloc -- as it might if this test were omitted.
|
|
AC_DEFINE(HAVE_DONE_WORKING_REALLOC_CHECK, 1,
|
|
[Define if the realloc check has been performed. ])
|
|
|
|
AC_CACHE_CHECK([whether realloc(0,0) returns a non-NULL pointer],
|
|
jm_cv_func_working_realloc,
|
|
[AC_TRY_RUN([
|
|
char *realloc ();
|
|
int
|
|
main ()
|
|
{
|
|
exit (realloc (0, 0) ? 0 : 1);
|
|
}
|
|
],
|
|
jm_cv_func_working_realloc=yes,
|
|
jm_cv_func_working_realloc=no,
|
|
dnl When crosscompiling, assume realloc(0,0) returns NULL.
|
|
jm_cv_func_working_realloc=no)
|
|
])
|
|
if test $jm_cv_func_working_realloc = no; then
|
|
AC_LIBOBJ(realloc)
|
|
AC_DEFINE(realloc, rpl_realloc,
|
|
[Define to rpl_realloc if the replacement function should be used.])
|
|
fi
|
|
])
|
|
# Check for setmode, DOS style.
|
|
|
|
# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2, or (at your option)
|
|
# any later version.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
# 02111-1307, USA.
|
|
|
|
AC_DEFUN([AC_FUNC_SETMODE_DOS],
|
|
[AC_CHECK_HEADERS(fcntl.h unistd.h)
|
|
AC_CACHE_CHECK([for DOS-style setmode],
|
|
[ac_cv_func_setmode_dos],
|
|
[AC_TRY_LINK(
|
|
[#include <io.h>
|
|
#if HAVE_FCNTL_H
|
|
# include <fcntl.h>
|
|
#endif
|
|
#if HAVE_UNISTD_H
|
|
# include <unistd.h>
|
|
#endif],
|
|
[int ret = setmode && setmode (1, O_BINARY);],
|
|
[ac_cv_func_setmode_dos=yes],
|
|
[ac_cv_func_setmode_dos=no])])
|
|
if test $ac_cv_func_setmode_dos = yes; then
|
|
AC_DEFINE(HAVE_SETMODE_DOS, 1,
|
|
[Define to 1 if you have the DOS-style `setmode' function.])
|
|
fi])
|
|
#serial 4
|
|
|
|
dnl From Jim Meyering
|
|
|
|
dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared --
|
|
dnl usually in <utime.h>.
|
|
dnl Some systems have utime.h but don't declare the struct anywhere.
|
|
|
|
AC_DEFUN([jm_CHECK_TYPE_STRUCT_UTIMBUF],
|
|
[
|
|
AC_CHECK_HEADERS(utime.h)
|
|
AC_REQUIRE([AC_HEADER_TIME])
|
|
AC_CACHE_CHECK([for struct utimbuf], fu_cv_sys_struct_utimbuf,
|
|
[AC_TRY_COMPILE(
|
|
[
|
|
#ifdef TIME_WITH_SYS_TIME
|
|
# include <sys/time.h>
|
|
# include <time.h>
|
|
#else
|
|
# ifdef HAVE_SYS_TIME_H
|
|
# include <sys/time.h>
|
|
# else
|
|
# include <time.h>
|
|
# endif
|
|
#endif
|
|
#ifdef HAVE_UTIME_H
|
|
# include <utime.h>
|
|
#endif
|
|
],
|
|
[static struct utimbuf x; x.actime = x.modtime;],
|
|
fu_cv_sys_struct_utimbuf=yes,
|
|
fu_cv_sys_struct_utimbuf=no)
|
|
])
|
|
|
|
if test $fu_cv_sys_struct_utimbuf = yes; then
|
|
AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1,
|
|
[Define if struct utimbuf is declared -- usually in <utime.h>.
|
|
Some systems have utime.h but don't declare the struct anywhere. ])
|
|
fi
|
|
])
|