mirror of
git://git.sv.gnu.org/autoconf
synced 2025-02-17 14:01:27 +08:00
* acspecific.m4 (AC_FUNC_CHOWN): New macro, based on Jim
Meyering's `chown.m4' serial 4. (AC_FUNC_GETGROUPS): New macro, based on Jim Meyering's `getgroups.m4' serial 3. (AC_FUNC_MEMCMP): Updated, based on Jim Meyering's `memcmp.m4' serial 3. (AC_FUNC_MALLOC): New macro, based on Jim Meyering's `malloc.m4' serial 3. (AC_FUNC_MMAP): Include `stdlib.h' when `STDC_HEADERS'. * acfunctions: Sort. Add `chown' and `malloc', point `getgroups' to `AC_FUNC_GETGROUPS' instead of `AC_TYPE_GETGROUPS'. * doc/autoconf.texi (Particular Functions): Adjust.
This commit is contained in:
parent
dc8d091541
commit
0cd794da59
16
ChangeLog
16
ChangeLog
@ -1,3 +1,19 @@
|
||||
2000-05-22 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* acspecific.m4 (AC_FUNC_CHOWN): New macro, based on Jim
|
||||
Meyering's `chown.m4' serial 4.
|
||||
(AC_FUNC_GETGROUPS): New macro, based on Jim Meyering's
|
||||
`getgroups.m4' serial 3.
|
||||
(AC_FUNC_MEMCMP): Updated, based on Jim Meyering's `memcmp.m4'
|
||||
serial 3.
|
||||
(AC_FUNC_MALLOC): New macro, based on Jim Meyering's
|
||||
`malloc.m4' serial 3.
|
||||
(AC_FUNC_MMAP): Include `stdlib.h' when `STDC_HEADERS'.
|
||||
* acfunctions: Sort.
|
||||
Add `chown' and `malloc', point `getgroups' to `AC_FUNC_GETGROUPS'
|
||||
instead of `AC_TYPE_GETGROUPS'.
|
||||
* doc/autoconf.texi (Particular Functions): Adjust.
|
||||
|
||||
2000-05-22 unknown
|
||||
|
||||
* acgeneral.m4: Quote the names being m4-defined.
|
||||
|
11
NEWS
11
NEWS
@ -158,15 +158,20 @@ test cases in this new frame work.
|
||||
|
||||
|
||||
** Specific Macros
|
||||
- AC_FUNC_CHOWN, AC_FUNC_MALLOC.
|
||||
New.
|
||||
|
||||
- AC_FUNC_GETGROUPS
|
||||
Sets GETGROUPS_LIBS.
|
||||
|
||||
- AC_FUNC_GETLOADAVG
|
||||
Defines `HAVE_STRUCT_NLIST_N_UN_N_NAME' instead of `NLIST_NAME_UNION'.
|
||||
|
||||
- AC_PROG_LEX
|
||||
Now integrates `AC_DECL_YYTEXT' which is obsoleted.
|
||||
|
||||
- C++ compatibility
|
||||
Almost every single macros has been revisited in order to support at
|
||||
best CC=c++.
|
||||
** C++ compatibility
|
||||
Every macro has been revisited in order to support at best CC=c++.
|
||||
|
||||
Major changes in Autoconf 2.14:
|
||||
There was no release of GNU Autoconf 2.14.
|
||||
|
34
acfunctions
34
acfunctions
@ -1,43 +1,45 @@
|
||||
# Ones that have their own macros.
|
||||
major AC_HEADER_MAJOR
|
||||
minor AC_HEADER_MAJOR
|
||||
makedev AC_HEADER_MAJOR
|
||||
bcopy AC_HEADER_STDC
|
||||
alloca AC_FUNC_ALLOCA
|
||||
bcmp AC_HEADER_STDC
|
||||
bcopy AC_HEADER_STDC
|
||||
bzero AC_HEADER_STDC
|
||||
chown AC_FUNC_CHOWN
|
||||
fnmatch AC_FUNC_FNMATCH
|
||||
getgroups AC_FUNC_GETGROUPS
|
||||
getloadavg AC_FUNC_GETLOADAVG
|
||||
getpgrp AC_FUNC_GETPGRP
|
||||
index AC_HEADER_STDC
|
||||
ioctl AC_PROG_GCC_TRADITIONAL
|
||||
major AC_HEADER_MAJOR
|
||||
malloc AC_FUNC_MALLOC
|
||||
makedev AC_HEADER_MAJOR
|
||||
memchr AC_HEADER_STDC
|
||||
memcpy AC_HEADER_STDC
|
||||
memcmp AC_FUNC_MEMCMP
|
||||
memcpy AC_HEADER_STDC
|
||||
memmove AC_HEADER_STDC
|
||||
memset AC_HEADER_STDC
|
||||
index AC_HEADER_STDC
|
||||
rindex AC_HEADER_STDC
|
||||
getgroups AC_TYPE_GETGROUPS
|
||||
getpgrp AC_FUNC_GETPGRP
|
||||
setpgrp AC_FUNC_SETPGRP
|
||||
signal AC_TYPE_SIGNAL
|
||||
alloca AC_FUNC_ALLOCA
|
||||
fnmatch AC_FUNC_FNMATCH
|
||||
getloadavg AC_FUNC_GETLOADAVG
|
||||
minor AC_HEADER_MAJOR
|
||||
mktime AC_FUNC_MKTIME
|
||||
mmap AC_FUNC_MMAP
|
||||
rindex AC_HEADER_STDC
|
||||
setpgrp AC_FUNC_SETPGRP
|
||||
setvbuf AC_FUNC_SETVBUF_REVERSED
|
||||
signal AC_TYPE_SIGNAL
|
||||
strcoll AC_FUNC_STRCOLL
|
||||
strftime AC_FUNC_STRFTIME
|
||||
utime AC_FUNC_UTIME_NULL
|
||||
vfork AC_FUNC_VFORK
|
||||
vprintf AC_FUNC_VPRINTF
|
||||
vfprintf AC_FUNC_VPRINTF
|
||||
vprintf AC_FUNC_VPRINTF
|
||||
vsprintf AC_FUNC_VPRINTF
|
||||
wait3 AC_FUNC_WAIT3
|
||||
|
||||
# Others.
|
||||
ftime AC_CHECK_FUNCS
|
||||
getcwd AC_CHECK_FUNCS
|
||||
gethostname AC_CHECK_FUNCS
|
||||
gettimeofday AC_CHECK_FUNCS
|
||||
getusershell AC_CHECK_FUNCS
|
||||
getcwd AC_CHECK_FUNCS
|
||||
getwd AC_CHECK_FUNCS
|
||||
mkdir AC_CHECK_FUNCS
|
||||
mkfifo AC_CHECK_FUNCS
|
||||
|
177
acspecific.m4
177
acspecific.m4
@ -471,17 +471,17 @@ AC_CACHE_CHECK(for ANSI C header files, ac_cv_header_stdc,
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
||||
AC_EGREP_HEADER(memchr, string.h, , ac_cv_header_stdc=no)
|
||||
AC_EGREP_HEADER(memchr, string.h, , ac_cv_header_stdc=no)
|
||||
fi
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
||||
AC_EGREP_HEADER(free, stdlib.h, , ac_cv_header_stdc=no)
|
||||
AC_EGREP_HEADER(free, stdlib.h, , ac_cv_header_stdc=no)
|
||||
fi
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
||||
AC_TRY_RUN(
|
||||
AC_TRY_RUN(
|
||||
[#include <ctype.h>
|
||||
#if ((' ' & 0x0FF) == 0x020)
|
||||
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||
@ -802,6 +802,48 @@ AC_SUBST(ALLOCA)dnl
|
||||
])# AC_FUNC_ALLOCA
|
||||
|
||||
|
||||
# AC_FUNC_CHOWN
|
||||
# -------------
|
||||
# Determine whether chown accepts arguments of -1 for uid and gid.
|
||||
AC_DEFUN([AC_FUNC_CHOWN],
|
||||
[AC_REQUIRE([AC_TYPE_UID_T])dnl
|
||||
AC_CHECK_HEADERS(unistd.h)
|
||||
AC_CACHE_CHECK([for working chown], ac_cv_func_chown_works,
|
||||
[AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char *f = "conftestchown";
|
||||
struct stat before, after;
|
||||
|
||||
if (creat (f, 0600) < 0)
|
||||
exit (1);
|
||||
if (stat (f, &before) < 0)
|
||||
exit (1);
|
||||
if (chown (f, (uid_t) -1, (gid_t) -1) == -1)
|
||||
exit (1);
|
||||
if (stat (f, &after) < 0)
|
||||
exit (1);
|
||||
exit ((before.st_uid == after.st_uid
|
||||
&& before.st_gid == after.st_gid) ? 0 : 1);
|
||||
}],
|
||||
ac_cv_func_chown_works=yes,
|
||||
ac_cv_func_chown_works=no,
|
||||
ac_cv_func_chown_works=no)])
|
||||
if test $ac_cv_func_chown_works = yes; then
|
||||
AC_DEFINE(HAVE_CHOWN, 1,
|
||||
[Define if your system has a working `chown' function.])
|
||||
fi
|
||||
])# AC_FUNC_CHOWN
|
||||
|
||||
|
||||
# AC_FUNC_CLOSEDIR_VOID
|
||||
# ---------------------
|
||||
# Check whether closedir returns void, and #define CLOSEDIR_VOID in
|
||||
@ -910,6 +952,46 @@ AC_CHECK_HEADERS(nlist.h,
|
||||
])# _AC_LIBOBJ_GETLOADAVG
|
||||
|
||||
|
||||
# AC_FUNC_GETGROUPS
|
||||
# -----------------
|
||||
# Try to find `getgroups', and check that it works.
|
||||
# When crosscompiling, assume getgroups is broken.
|
||||
AC_DEFUN([AC_FUNC_GETGROUPS],
|
||||
[AC_REQUIRE([AC_TYPE_GETGROUPS])dnl
|
||||
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||||
AC_CHECK_FUNC(getgroups)
|
||||
|
||||
# If we don't yet have getgroups, see if it's in -lbsd.
|
||||
# This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1.
|
||||
ac_save_LIBS=$LIBS
|
||||
if test $ac_cv_func_getgroups = no; then
|
||||
AC_CHECK_LIB(bsd, getgroups, [GETGROUPS_LIB=-lbsd])
|
||||
fi
|
||||
|
||||
# Run the program to test the functionality of the system-supplied
|
||||
# getgroups function only if there is such a function.
|
||||
if test $ac_cv_func_getgroups = yes; then
|
||||
AC_CACHE_CHECK([for working getgroups], ac_cv_func_getgroups_works,
|
||||
[AC_TRY_RUN([
|
||||
int
|
||||
main ()
|
||||
{
|
||||
/* On Ultrix 4.3, getgroups (0, 0) always fails. */
|
||||
exit (getgroups (0, 0) == -1 ? 1 : 0);
|
||||
}],
|
||||
ac_cv_func_getgroups_works=yes,
|
||||
ac_cv_func_getgroups_works=no,
|
||||
ac_cv_func_getgroups_works=no)
|
||||
])
|
||||
if test $ac_cv_func_getgroups_works = yes; then
|
||||
AC_DEFINE(HAVE_GETGROUPS, 1,
|
||||
[Define if your system has a working `getgroups' function.])
|
||||
fi
|
||||
fi
|
||||
LIBS=$ac_save_LIBS
|
||||
])# AC_FUNC_GETGROUPS
|
||||
|
||||
|
||||
# AC_FUNC_GETLOADAVG
|
||||
# ------------------
|
||||
AC_DEFUN([AC_FUNC_GETLOADAVG],
|
||||
@ -1068,6 +1150,74 @@ fi
|
||||
])# AC_FUNC_GETPGRP
|
||||
|
||||
|
||||
# AC_FUNC_MALLOC
|
||||
# --------------
|
||||
# Is `malloc (0)' properly handled?
|
||||
AC_DEFUN([AC_FUNC_MALLOC],
|
||||
[AC_REQUIRE([AC_HEADER_STDC])dnl
|
||||
AC_CACHE_CHECK([for working malloc], ac_cv_func_malloc_works,
|
||||
[AC_TRY_RUN(
|
||||
[#if STDC_HEADERS || HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#else
|
||||
char *malloc ();
|
||||
#endif
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
exit (malloc (0) ? 0 : 1);
|
||||
}],
|
||||
ac_cv_func_malloc_works=yes,
|
||||
ac_cv_func_malloc_works=no,
|
||||
ac_cv_func_malloc_works=no)
|
||||
])
|
||||
if test $ac_cv_func_malloc_works = yes; then
|
||||
AC_DEFINE(HAVE_MALLOC, 1,
|
||||
[Define if your system has a working `malloc' function.])
|
||||
fi
|
||||
])# AC_FUNC_MALLOC
|
||||
|
||||
|
||||
# AC_FUNC_MEMCMP
|
||||
# --------------
|
||||
AC_DEFUN([AC_FUNC_MEMCMP],
|
||||
[AC_CACHE_CHECK([for working memcmp], ac_cv_func_memcmp_working,
|
||||
[AC_TRY_RUN([
|
||||
int
|
||||
main ()
|
||||
{
|
||||
/* Some versions of memcmp are not 8-bit clean. */
|
||||
char c0 = 0x40, c1 = 0x80, c2 = 0x81;
|
||||
if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0)
|
||||
exit (1);
|
||||
|
||||
/* The Next x86 OpenStep bug shows up only when comparing 16 bytes
|
||||
or more and with at least one buffer not starting on a 4-byte boundary.
|
||||
William Lewis provided this test program. */
|
||||
{
|
||||
char foo[21];
|
||||
char bar[21];
|
||||
int i;
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
char *a = foo + i;
|
||||
char *b = bar + i;
|
||||
strcpy (a, "--------01111111");
|
||||
strcpy (b, "--------10000000");
|
||||
if (memcmp (a, b, 16) >= 0)
|
||||
exit (1);
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
}]
|
||||
ac_cv_func_memcmp_working=yes,
|
||||
ac_cv_func_memcmp_working=no,
|
||||
ac_cv_func_memcmp_working=no)])
|
||||
test $ac_cv_func_memcmp_working = no && AC_LIBOBJ([memcmp])
|
||||
])# AC_FUNC_MEMCMP
|
||||
|
||||
|
||||
# AC_FUNC_MKTIME
|
||||
# --------------
|
||||
AC_DEFUN([AC_FUNC_MKTIME],
|
||||
@ -1261,7 +1411,7 @@ AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped,
|
||||
#include <fcntl.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
#if HAVE_STDLIB_H
|
||||
#if STDC_HEADERS || HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#else
|
||||
char *malloc ();
|
||||
@ -1375,23 +1525,6 @@ fi
|
||||
])# AC_FUNC_MMAP
|
||||
|
||||
|
||||
# AC_FUNC_MEMCMP
|
||||
# --------------
|
||||
AC_DEFUN([AC_FUNC_MEMCMP],
|
||||
[AC_CACHE_CHECK(for 8-bit clean memcmp, ac_cv_func_memcmp_clean,
|
||||
[AC_TRY_RUN(
|
||||
[int
|
||||
main()
|
||||
{
|
||||
char c0 = 0x40, c1 = 0x80, c2 = 0x81;
|
||||
exit (memcmp(&c0, &c2, 1) < 0
|
||||
&& memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
|
||||
}], ac_cv_func_memcmp_clean=yes, ac_cv_func_memcmp_clean=no,
|
||||
ac_cv_func_memcmp_clean=no)])
|
||||
test $ac_cv_func_memcmp_clean = no && AC_LIBOBJ([memcmp])
|
||||
])# AC_FUNC_MEMCMP
|
||||
|
||||
|
||||
# AC_FUNC_SELECT_ARGTYPES
|
||||
# -----------------------
|
||||
# Determine the correct type to be passed to each of the `select'
|
||||
@ -1662,7 +1795,7 @@ AC_TRY_RUN(
|
||||
[#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
int
|
||||
main()
|
||||
main ()
|
||||
{
|
||||
struct stat s, t;
|
||||
exit (!(stat ("conftestdata", &s) == 0
|
||||
|
@ -2848,6 +2848,14 @@ char *alloca ();
|
||||
@end example
|
||||
@end defmac
|
||||
|
||||
@defmac AC_FUNC_CHOWN
|
||||
@maindex FUNC_CHOWN
|
||||
If the @code{chown} function is available and works (in particular it
|
||||
should accept @samp{-1} for @code{uid} and @code{gid}), define
|
||||
@code{HAVE_CHOWN}.
|
||||
@end defmac
|
||||
|
||||
|
||||
@defmac AC_FUNC_CLOSEDIR_VOID
|
||||
@maindex FUNC_CLOSEDIR_VOID
|
||||
@cvindex CLOSEDIR_VOID
|
||||
@ -2862,6 +2870,15 @@ If the @code{fnmatch} function is available and works (unlike the one on
|
||||
SunOS 5.4), define @code{HAVE_FNMATCH}.
|
||||
@end defmac
|
||||
|
||||
@defmac AC_FUNC_GETGROUPS
|
||||
@maindex FUNC_GETGROUPS
|
||||
@ovindex GETGROUPS_LIBS
|
||||
If the @code{getgroups} function is available and works (unlike on
|
||||
Ultrix 4.3 where @samp{getgroups (0, 0)} always fails), define
|
||||
@code{HAVE_GETGROUPS}. Set @code{GETGROUPS_LIBS} to any libraries
|
||||
needed to get that function. This macro runs @code{AC_TYPE_GETGROUPS}.
|
||||
@end defmac
|
||||
|
||||
@defmac AC_FUNC_GETLOADAVG
|
||||
@maindex FUNC_GETLOADAVG
|
||||
@cvindex SVR4
|
||||
@ -2932,12 +2949,20 @@ a process ID as an argument. This macro does not check whether
|
||||
first call @code{AC_CHECK_FUNC} for @code{getpgrp}.
|
||||
@end defmac
|
||||
|
||||
@defmac AC_FUNC_MALLOC
|
||||
@maindex FUNC_MALLOC
|
||||
If the @code{malloc} works correctly (@samp{malloc (0)} returns a valid
|
||||
pointer), define @code{HAVE_MALLOC}.
|
||||
@end defmac
|
||||
|
||||
@defmac AC_FUNC_MEMCMP
|
||||
@maindex FUNC_MEMCMP
|
||||
@ovindex LIBOBJS
|
||||
If the @code{memcmp} function is not available, or does not work on
|
||||
8-bit data (like the one on SunOS 4.1.3), require an @code{AC_LIBOBJ}
|
||||
replacement for @samp{memcmp}.
|
||||
8-bit data (like the one on SunOS 4.1.3), or fails when comparing 16
|
||||
bytes or more and with at least one buffer not starting on a 4-byte
|
||||
boundary (such as the one on Next x86 OpenStep), require an
|
||||
@code{AC_LIBOBJ} replacement for @samp{memcmp}.
|
||||
@end defmac
|
||||
|
||||
@defmac AC_FUNC_MKTIME
|
||||
|
@ -471,17 +471,17 @@ AC_CACHE_CHECK(for ANSI C header files, ac_cv_header_stdc,
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
||||
AC_EGREP_HEADER(memchr, string.h, , ac_cv_header_stdc=no)
|
||||
AC_EGREP_HEADER(memchr, string.h, , ac_cv_header_stdc=no)
|
||||
fi
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
||||
AC_EGREP_HEADER(free, stdlib.h, , ac_cv_header_stdc=no)
|
||||
AC_EGREP_HEADER(free, stdlib.h, , ac_cv_header_stdc=no)
|
||||
fi
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
||||
AC_TRY_RUN(
|
||||
AC_TRY_RUN(
|
||||
[#include <ctype.h>
|
||||
#if ((' ' & 0x0FF) == 0x020)
|
||||
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||
@ -802,6 +802,48 @@ AC_SUBST(ALLOCA)dnl
|
||||
])# AC_FUNC_ALLOCA
|
||||
|
||||
|
||||
# AC_FUNC_CHOWN
|
||||
# -------------
|
||||
# Determine whether chown accepts arguments of -1 for uid and gid.
|
||||
AC_DEFUN([AC_FUNC_CHOWN],
|
||||
[AC_REQUIRE([AC_TYPE_UID_T])dnl
|
||||
AC_CHECK_HEADERS(unistd.h)
|
||||
AC_CACHE_CHECK([for working chown], ac_cv_func_chown_works,
|
||||
[AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char *f = "conftestchown";
|
||||
struct stat before, after;
|
||||
|
||||
if (creat (f, 0600) < 0)
|
||||
exit (1);
|
||||
if (stat (f, &before) < 0)
|
||||
exit (1);
|
||||
if (chown (f, (uid_t) -1, (gid_t) -1) == -1)
|
||||
exit (1);
|
||||
if (stat (f, &after) < 0)
|
||||
exit (1);
|
||||
exit ((before.st_uid == after.st_uid
|
||||
&& before.st_gid == after.st_gid) ? 0 : 1);
|
||||
}],
|
||||
ac_cv_func_chown_works=yes,
|
||||
ac_cv_func_chown_works=no,
|
||||
ac_cv_func_chown_works=no)])
|
||||
if test $ac_cv_func_chown_works = yes; then
|
||||
AC_DEFINE(HAVE_CHOWN, 1,
|
||||
[Define if your system has a working `chown' function.])
|
||||
fi
|
||||
])# AC_FUNC_CHOWN
|
||||
|
||||
|
||||
# AC_FUNC_CLOSEDIR_VOID
|
||||
# ---------------------
|
||||
# Check whether closedir returns void, and #define CLOSEDIR_VOID in
|
||||
@ -910,6 +952,46 @@ AC_CHECK_HEADERS(nlist.h,
|
||||
])# _AC_LIBOBJ_GETLOADAVG
|
||||
|
||||
|
||||
# AC_FUNC_GETGROUPS
|
||||
# -----------------
|
||||
# Try to find `getgroups', and check that it works.
|
||||
# When crosscompiling, assume getgroups is broken.
|
||||
AC_DEFUN([AC_FUNC_GETGROUPS],
|
||||
[AC_REQUIRE([AC_TYPE_GETGROUPS])dnl
|
||||
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||||
AC_CHECK_FUNC(getgroups)
|
||||
|
||||
# If we don't yet have getgroups, see if it's in -lbsd.
|
||||
# This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1.
|
||||
ac_save_LIBS=$LIBS
|
||||
if test $ac_cv_func_getgroups = no; then
|
||||
AC_CHECK_LIB(bsd, getgroups, [GETGROUPS_LIB=-lbsd])
|
||||
fi
|
||||
|
||||
# Run the program to test the functionality of the system-supplied
|
||||
# getgroups function only if there is such a function.
|
||||
if test $ac_cv_func_getgroups = yes; then
|
||||
AC_CACHE_CHECK([for working getgroups], ac_cv_func_getgroups_works,
|
||||
[AC_TRY_RUN([
|
||||
int
|
||||
main ()
|
||||
{
|
||||
/* On Ultrix 4.3, getgroups (0, 0) always fails. */
|
||||
exit (getgroups (0, 0) == -1 ? 1 : 0);
|
||||
}],
|
||||
ac_cv_func_getgroups_works=yes,
|
||||
ac_cv_func_getgroups_works=no,
|
||||
ac_cv_func_getgroups_works=no)
|
||||
])
|
||||
if test $ac_cv_func_getgroups_works = yes; then
|
||||
AC_DEFINE(HAVE_GETGROUPS, 1,
|
||||
[Define if your system has a working `getgroups' function.])
|
||||
fi
|
||||
fi
|
||||
LIBS=$ac_save_LIBS
|
||||
])# AC_FUNC_GETGROUPS
|
||||
|
||||
|
||||
# AC_FUNC_GETLOADAVG
|
||||
# ------------------
|
||||
AC_DEFUN([AC_FUNC_GETLOADAVG],
|
||||
@ -1068,6 +1150,74 @@ fi
|
||||
])# AC_FUNC_GETPGRP
|
||||
|
||||
|
||||
# AC_FUNC_MALLOC
|
||||
# --------------
|
||||
# Is `malloc (0)' properly handled?
|
||||
AC_DEFUN([AC_FUNC_MALLOC],
|
||||
[AC_REQUIRE([AC_HEADER_STDC])dnl
|
||||
AC_CACHE_CHECK([for working malloc], ac_cv_func_malloc_works,
|
||||
[AC_TRY_RUN(
|
||||
[#if STDC_HEADERS || HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#else
|
||||
char *malloc ();
|
||||
#endif
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
exit (malloc (0) ? 0 : 1);
|
||||
}],
|
||||
ac_cv_func_malloc_works=yes,
|
||||
ac_cv_func_malloc_works=no,
|
||||
ac_cv_func_malloc_works=no)
|
||||
])
|
||||
if test $ac_cv_func_malloc_works = yes; then
|
||||
AC_DEFINE(HAVE_MALLOC, 1,
|
||||
[Define if your system has a working `malloc' function.])
|
||||
fi
|
||||
])# AC_FUNC_MALLOC
|
||||
|
||||
|
||||
# AC_FUNC_MEMCMP
|
||||
# --------------
|
||||
AC_DEFUN([AC_FUNC_MEMCMP],
|
||||
[AC_CACHE_CHECK([for working memcmp], ac_cv_func_memcmp_working,
|
||||
[AC_TRY_RUN([
|
||||
int
|
||||
main ()
|
||||
{
|
||||
/* Some versions of memcmp are not 8-bit clean. */
|
||||
char c0 = 0x40, c1 = 0x80, c2 = 0x81;
|
||||
if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0)
|
||||
exit (1);
|
||||
|
||||
/* The Next x86 OpenStep bug shows up only when comparing 16 bytes
|
||||
or more and with at least one buffer not starting on a 4-byte boundary.
|
||||
William Lewis provided this test program. */
|
||||
{
|
||||
char foo[21];
|
||||
char bar[21];
|
||||
int i;
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
char *a = foo + i;
|
||||
char *b = bar + i;
|
||||
strcpy (a, "--------01111111");
|
||||
strcpy (b, "--------10000000");
|
||||
if (memcmp (a, b, 16) >= 0)
|
||||
exit (1);
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
}]
|
||||
ac_cv_func_memcmp_working=yes,
|
||||
ac_cv_func_memcmp_working=no,
|
||||
ac_cv_func_memcmp_working=no)])
|
||||
test $ac_cv_func_memcmp_working = no && AC_LIBOBJ([memcmp])
|
||||
])# AC_FUNC_MEMCMP
|
||||
|
||||
|
||||
# AC_FUNC_MKTIME
|
||||
# --------------
|
||||
AC_DEFUN([AC_FUNC_MKTIME],
|
||||
@ -1261,7 +1411,7 @@ AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped,
|
||||
#include <fcntl.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
#if HAVE_STDLIB_H
|
||||
#if STDC_HEADERS || HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#else
|
||||
char *malloc ();
|
||||
@ -1375,23 +1525,6 @@ fi
|
||||
])# AC_FUNC_MMAP
|
||||
|
||||
|
||||
# AC_FUNC_MEMCMP
|
||||
# --------------
|
||||
AC_DEFUN([AC_FUNC_MEMCMP],
|
||||
[AC_CACHE_CHECK(for 8-bit clean memcmp, ac_cv_func_memcmp_clean,
|
||||
[AC_TRY_RUN(
|
||||
[int
|
||||
main()
|
||||
{
|
||||
char c0 = 0x40, c1 = 0x80, c2 = 0x81;
|
||||
exit (memcmp(&c0, &c2, 1) < 0
|
||||
&& memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
|
||||
}], ac_cv_func_memcmp_clean=yes, ac_cv_func_memcmp_clean=no,
|
||||
ac_cv_func_memcmp_clean=no)])
|
||||
test $ac_cv_func_memcmp_clean = no && AC_LIBOBJ([memcmp])
|
||||
])# AC_FUNC_MEMCMP
|
||||
|
||||
|
||||
# AC_FUNC_SELECT_ARGTYPES
|
||||
# -----------------------
|
||||
# Determine the correct type to be passed to each of the `select'
|
||||
@ -1662,7 +1795,7 @@ AC_TRY_RUN(
|
||||
[#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
int
|
||||
main()
|
||||
main ()
|
||||
{
|
||||
struct stat s, t;
|
||||
exit (!(stat ("conftestdata", &s) == 0
|
||||
|
@ -1,43 +1,45 @@
|
||||
# Ones that have their own macros.
|
||||
major AC_HEADER_MAJOR
|
||||
minor AC_HEADER_MAJOR
|
||||
makedev AC_HEADER_MAJOR
|
||||
bcopy AC_HEADER_STDC
|
||||
alloca AC_FUNC_ALLOCA
|
||||
bcmp AC_HEADER_STDC
|
||||
bcopy AC_HEADER_STDC
|
||||
bzero AC_HEADER_STDC
|
||||
chown AC_FUNC_CHOWN
|
||||
fnmatch AC_FUNC_FNMATCH
|
||||
getgroups AC_FUNC_GETGROUPS
|
||||
getloadavg AC_FUNC_GETLOADAVG
|
||||
getpgrp AC_FUNC_GETPGRP
|
||||
index AC_HEADER_STDC
|
||||
ioctl AC_PROG_GCC_TRADITIONAL
|
||||
major AC_HEADER_MAJOR
|
||||
malloc AC_FUNC_MALLOC
|
||||
makedev AC_HEADER_MAJOR
|
||||
memchr AC_HEADER_STDC
|
||||
memcpy AC_HEADER_STDC
|
||||
memcmp AC_FUNC_MEMCMP
|
||||
memcpy AC_HEADER_STDC
|
||||
memmove AC_HEADER_STDC
|
||||
memset AC_HEADER_STDC
|
||||
index AC_HEADER_STDC
|
||||
rindex AC_HEADER_STDC
|
||||
getgroups AC_TYPE_GETGROUPS
|
||||
getpgrp AC_FUNC_GETPGRP
|
||||
setpgrp AC_FUNC_SETPGRP
|
||||
signal AC_TYPE_SIGNAL
|
||||
alloca AC_FUNC_ALLOCA
|
||||
fnmatch AC_FUNC_FNMATCH
|
||||
getloadavg AC_FUNC_GETLOADAVG
|
||||
minor AC_HEADER_MAJOR
|
||||
mktime AC_FUNC_MKTIME
|
||||
mmap AC_FUNC_MMAP
|
||||
rindex AC_HEADER_STDC
|
||||
setpgrp AC_FUNC_SETPGRP
|
||||
setvbuf AC_FUNC_SETVBUF_REVERSED
|
||||
signal AC_TYPE_SIGNAL
|
||||
strcoll AC_FUNC_STRCOLL
|
||||
strftime AC_FUNC_STRFTIME
|
||||
utime AC_FUNC_UTIME_NULL
|
||||
vfork AC_FUNC_VFORK
|
||||
vprintf AC_FUNC_VPRINTF
|
||||
vfprintf AC_FUNC_VPRINTF
|
||||
vprintf AC_FUNC_VPRINTF
|
||||
vsprintf AC_FUNC_VPRINTF
|
||||
wait3 AC_FUNC_WAIT3
|
||||
|
||||
# Others.
|
||||
ftime AC_CHECK_FUNCS
|
||||
getcwd AC_CHECK_FUNCS
|
||||
gethostname AC_CHECK_FUNCS
|
||||
gettimeofday AC_CHECK_FUNCS
|
||||
getusershell AC_CHECK_FUNCS
|
||||
getcwd AC_CHECK_FUNCS
|
||||
getwd AC_CHECK_FUNCS
|
||||
mkdir AC_CHECK_FUNCS
|
||||
mkfifo AC_CHECK_FUNCS
|
||||
|
Loading…
Reference in New Issue
Block a user