# 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 #ifdef HAVE_DIRENT_H # include #else /* not HAVE_DIRENT_H */ # define dirent direct # ifdef HAVE_SYS_NDIR_H # include # endif /* HAVE_SYS_NDIR_H */ # ifdef HAVE_SYS_DIR_H # include # endif /* HAVE_SYS_DIR_H */ # ifdef HAVE_NDIR_H # include # 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 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 #endif #include ], [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 declares mbstate_t.]) else AC_DEFINE(mbstate_t, int, [Define to a type if 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 #include ], [mkdir (".", 0);], , [AC_TRY_COMPILE([ #include #include ], [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 ], [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 #if HAVE_FCNTL_H # include #endif #if HAVE_UNISTD_H # include #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 . 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 # include #else # ifdef HAVE_SYS_TIME_H # include # else # include # endif #endif #ifdef HAVE_UTIME_H # include #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 . Some systems have utime.h but don't declare the struct anywhere. ]) fi ])