Deleted Added
sdiff udiff text old ( 26497 ) new ( 35486 )
full compact
1dnl
2dnl Bash specific tests
3dnl
4dnl Some derived from PDKSH 5.1.3 autoconf tests
5dnl
6dnl
7dnl Check if dup2() does not clear the close on exec flag
8dnl

--- 12 unchanged lines hidden (view full) ---

21 fd2 = dup2(fd1, 1);
22 if (fd2 < 0)
23 exit(2);
24 fl = fcntl(fd2, 1, 0);
25 /* fl will be 1 if dup2 did not reset the close-on-exec flag. */
26 exit(fl != 1);
27}
28], bash_cv_dup2_broken=yes, bash_cv_dup2_broken=no,
29 [AC_MSG_ERROR(cannot check dup2 if cross compiling -- defaulting to no)
30 bash_cv_dup2_broken=no])
31])
32AC_MSG_RESULT($bash_cv_dup2_broken)
33if test $bash_cv_dup2_broken = yes; then
34AC_DEFINE(DUP2_BROKEN)
35fi
36])
37
38dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7)

--- 85 unchanged lines hidden (view full) ---

124 close(fds[1]);
125 if (read(fds[0], &ok, 1) != 1)
126 exit(4);
127 wait(&status);
128 wait(&status);
129 exit(ok ? 0 : 5);
130}
131], bash_cv_pgrp_pipe=no,bash_cv_pgrp_pipe=yes,
132 [AC_MSG_ERROR(cannot check pgrp synchronization if cross compiling -- defaulting to no)
133 bash_cv_pgrp_pipe=no])
134])
135AC_MSG_RESULT($bash_cv_pgrp_pipe)
136if test $bash_cv_pgrp_pipe = yes; then
137AC_DEFINE(PGRP_PIPE)
138fi
139])
140
141dnl

--- 24 unchanged lines hidden (view full) ---

166dnl Type of struct rlimit fields: some systems (OSF/1, NetBSD, RISC/os 5.0)
167dnl have a rlim_t, others (4.4BSD based systems) use quad_t, others use
168dnl long and still others use int (HP-UX 9.01, SunOS 4.1.3). To simplify
169dnl matters, this just checks for rlim_t, quad_t, or long.
170dnl
171AC_DEFUN(BASH_RLIMIT_TYPE,
172[AC_MSG_CHECKING(for size and type of struct rlimit fields)
173AC_CACHE_VAL(bash_cv_type_rlimit,
174[AC_TRY_COMPILE([#include
175#include <sys/resource.h>],
176[rlim_t xxx;], bash_cv_type_rlimit=rlim_t,[
177AC_TRY_RUN([
178#include <sys/types.h>
179#include <sys/time.h>
180#include <sys/resource.h>
181main()
182{
183#ifdef HAVE_QUAD_T
184 struct rlimit rl;
185 if (sizeof(rl.rlim_cur) == sizeof(quad_t))
186 exit(0);
187#endif
188 exit(1);
189}], bash_cv_type_rlimit=quad_t, bash_cv_type_rlimit=long,
190 [AC_MSG_ERROR(cannot check quad_t if cross compiling -- defaulting to long)
191 bash_cv_type_rlimit=long])])
192])
193AC_MSG_RESULT($bash_cv_type_rlimit)
194if test $bash_cv_type_rlimit = quad_t; then
195AC_DEFINE(RLIMTYPE, quad_t)
196elif test $bash_cv_type_rlimit = rlim_t; then
197AC_DEFINE(RLIMTYPE, rlim_t)
198fi
199])
200
201dnl
202dnl Check for sys_siglist[] or _sys_siglist[]
203dnl
204AC_DEFUN(BASH_DECL_UNDER_SYS_SIGLIST,
205[AC_MSG_CHECKING([for _sys_siglist in signal.h or unistd.h])
206AC_CACHE_VAL(bash_cv_decl_under_sys_siglist,
207[AC_TRY_COMPILE([
208#include <sys/types.h>
209#include <signal.h>
210#ifdef HAVE_UNISTD_H
211#include <unistd.h>
212#endif], [ char *msg = _sys_siglist[2]; ],
213 bash_cv_decl_under_sys_siglist=yes, bash_cv_decl_under_sys_siglist=no,
214 [AC_MSG_ERROR(cannot check for _sys_siglist[] if cross compiling -- defaulting to no)])])dnl
215AC_MSG_RESULT($bash_cv_decl_under_sys_siglist)
216if test $bash_cv_decl_under_sys_siglist = yes; then
217AC_DEFINE(UNDER_SYS_SIGLIST_DECLARED)
218fi
219])
220
221AC_DEFUN(BASH_UNDER_SYS_SIGLIST,
222[AC_REQUIRE([BASH_DECL_UNDER_SYS_SIGLIST])
223AC_MSG_CHECKING([for _sys_siglist in system C library])
224AC_CACHE_VAL(bash_cv_under_sys_siglist,
225[AC_TRY_RUN([
226#include <sys/types.h>
227#include <signal.h>
228#ifdef HAVE_UNISTD_H
229#include <unistd.h>
230#endif
231#ifndef UNDER_SYS_SIGLIST_DECLARED
232extern char *_sys_siglist[];
233#endif
234main()
235{
236char *msg = (char *)_sys_siglist[2];
237exit(msg == 0);
238}],
239 bash_cv_under_sys_siglist=yes, bash_cv_under_sys_siglist=no,
240 [AC_MSG_ERROR(cannot check for _sys_siglist[] if cross compiling -- defaulting to no)
241 bash_cv_under_sys_siglist=no])])
242AC_MSG_RESULT($bash_cv_under_sys_siglist)
243if test $bash_cv_under_sys_siglist = yes; then
244AC_DEFINE(HAVE_UNDER_SYS_SIGLIST)
245fi
246])
247
248AC_DEFUN(BASH_SYS_SIGLIST,
249[AC_REQUIRE([AC_DECL_SYS_SIGLIST])

--- 8 unchanged lines hidden (view full) ---

258#ifndef SYS_SIGLIST_DECLARED
259extern char *sys_siglist[];
260#endif
261main()
262{
263char *msg = sys_siglist[2];
264exit(msg == 0);
265}],
266 bash_cv_sys_siglist=yes, bash_cv_sys_siglist=no,
267 [AC_MSG_ERROR(cannot check for sys_siglist if cross compiling -- defaulting to no)
268 bash_cv_sys_siglist=no])])
269AC_MSG_RESULT($bash_cv_sys_siglist)
270if test $bash_cv_sys_siglist = yes; then
271AC_DEFINE(HAVE_SYS_SIGLIST)
272fi
273])
274
275dnl Check for sys_errlist[] and sys_nerr, check for declaration
276AC_DEFUN(BASH_SYS_ERRLIST,

--- 43 unchanged lines hidden (view full) ---

320unlink("/tmp/not_a_directory");
321fd = open("/tmp/not_a_directory", O_WRONLY|O_CREAT, 0666);
322write(fd, "\n", 1);
323close(fd);
324dir = opendir("/tmp/not_a_directory");
325unlink("/tmp/not_a_directory");
326exit (dir == 0);
327}], bash_cv_opendir_not_robust=yes,bash_cv_opendir_not_robust=no,
328 [AC_MSG_ERROR(cannot check opendir if cross compiling -- defaulting to no)
329 bash_cv_opendir_not_robust=no]
330)])
331AC_MSG_RESULT($bash_cv_opendir_not_robust)
332if test $bash_cv_opendir_not_robust = yes; then
333AC_DEFINE(OPENDIR_NOT_ROBUST)
334fi
335])
336
337dnl
338AC_DEFUN(BASH_TYPE_SIGHANDLER,

--- 10 unchanged lines hidden (view full) ---

349void (*signal ()) ();],
350[int i;], bash_cv_void_sighandler=yes, bash_cv_void_sighandler=no)])dnl
351AC_MSG_RESULT($bash_cv_void_sighandler)
352if test $bash_cv_void_sighandler = yes; then
353AC_DEFINE(VOID_SIGHANDLER)
354fi
355])
356
357AC_DEFUN(BASH_TYPE_INT32_T,
358[
359if test "X$bash_cv_type_int32_t" = "X"; then
360_bash_needmsg=yes
361else
362AC_MSG_CHECKING(which builtin C type is 32 bits wide)
363_bash_needmsg=
364fi
365AC_CACHE_VAL(bash_cv_type_int32_t,
366[AC_TRY_RUN([
367main()
368{
369#if SIZEOF_INT == 4
370exit (0);
371#else
372# if SIZEOF_LONG == 4
373exit (1);
374# else
375# error cannot find 32 bit type...
376# endif
377#endif
378}], bash_cv_type_int32_t=int, bash_cv_type_int32_t=long,
379 [AC_MSG_ERROR(cannot check type sizes if cross-compiling -- defaulting to int)
380 bash_cv_type_int32_t=int]
381)])
382if test "X$_bash_needmsg" = "Xyes"; then
383AC_MSG_CHECKING(which builtin C type is 32 bits wide)
384fi
385AC_MSG_RESULT($bash_cv_type_int32_t);
386if test "$bash_cv_type_int32_t" = "int"; then
387AC_DEFINE(int32_t, int)
388else
389AC_DEFINE(int32_t, long)
390fi
391])
392
393AC_DEFUN(BASH_TYPE_U_INT32_T,
394[
395if test "X$bash_cv_type_u_int32_t" = "X"; then
396_bash_needmsg=yes
397else
398AC_MSG_CHECKING(which unsigned builtin C type is 32 bits wide)
399_bash_needmsg=
400fi
401AC_CACHE_VAL(bash_cv_type_u_int32_t,
402[AC_TRY_RUN([
403main()
404{
405#if SIZEOF_INT == 4
406exit (0);
407#else
408# if SIZEOF_LONG == 4
409exit (1);
410# else
411# error cannot find 32 bit type...
412# endif
413#endif
414}], bash_cv_type_u_int32_t=int, bash_cv_type_u_int32_t=long,
415 [AC_MSG_ERROR(cannot check type sizes if cross-compiling -- defaulting to int)
416 bash_cv_type_u_int32_t=int]
417)])
418if test "X$_bash_needmsg" = "Xyes"; then
419AC_MSG_CHECKING(which unsigned builtin C type is 32 bits wide)
420fi
421AC_MSG_RESULT($bash_cv_type_u_int32_t);
422if test "$bash_cv_type_u_int32_t" = "int"; then
423AC_DEFINE(u_int32_t, unsigned int)
424else
425AC_DEFINE(u_int32_t, unsigned long)
426fi
427])
428
429AC_DEFUN(BASH_TYPE_PTRDIFF_T,
430[
431if test "X$bash_cv_type_ptrdiff_t" = "X"; then
432_bash_needmsg=yes
433else
434AC_MSG_CHECKING(which builtin C type is correct for ptrdiff_t)
435_bash_needmsg=
436fi
437AC_CACHE_VAL(bash_cv_type_ptrdiff_t,
438[AC_TRY_RUN([
439main()
440{
441#if SIZEOF_CHAR_P == SIZEOF_INT
442exit (0);
443#else
444# if SIZEOF_CHAR_P == SIZEOF_LONG
445exit (1);
446# else
447# error cannot find type for pointer arithmetic...
448# endif
449#endif
450}], bash_cv_type_ptrdiff_t=int, bash_cv_type_ptrdiff_t=long,
451 [AC_MSG_ERROR(cannot check type sizes if cross-compiling -- defaulting to int)
452 bash_cv_type_ptrdiff_t=int]
453)])
454if test "X$_bash_needmsg" = "Xyes"; then
455AC_MSG_CHECKING(which builtin C type is correct for ptrdiff_t)
456fi
457AC_MSG_RESULT($bash_cv_type_ptrdiff_t);
458if test "$bash_cv_type_ptrdiff_t" = "int"; then
459AC_DEFINE(ptrdiff_t, int)
460else
461AC_DEFINE(ptrdiff_t, long)
462fi
463])
464
465AC_DEFUN(BASH_FUNC_STRSIGNAL,
466[AC_MSG_CHECKING([for the existence of strsignal])
467AC_CACHE_VAL(bash_cv_have_strsignal,
468[AC_TRY_LINK([#include <sys/types.h>
469#include <signal.h>],
470[char *s = (char *)strsignal(2);],
471 bash_cv_have_strsignal=yes, bash_cv_have_strsignal=no)])
472AC_MSG_RESULT($bash_cv_have_strsignal)
473if test $bash_cv_have_strsignal = yes; then
474AC_DEFINE(HAVE_STRSIGNAL)
475fi
476])
477
478AC_DEFUN(BASH_FUNC_LSTAT,
479[dnl Cannot use AC_CHECK_FUNCS(lstat) because Linux defines lstat() as an
480dnl inline function in <sys/stat.h>.
481AC_CACHE_CHECK([for lstat], bash_cv_func_lstat,
482[AC_TRY_LINK([
483#include <sys/types.h>
484#include <sys/stat.h>
485],[ lstat(".",(struct stat *)0); ],
486bash_cv_func_lstat=yes, bash_cv_func_lstat=no)])
487if test $bash_cv_func_lstat = yes; then
488 AC_DEFINE(HAVE_LSTAT)
489fi
490])
491
492AC_DEFUN(BASH_STRUCT_TERMIOS_LDISC,
493[AC_MSG_CHECKING([for a c_line member of struct termios])

--- 49 unchanged lines hidden (view full) ---

543 why not. */
544#if defined (NeXT)
545exit(1);
546#endif
547s = getenv("ABCDE");
548exit(s == 0); /* force optimizer to leave getenv in */
549}
550], bash_cv_getenv_redef=yes, bash_cv_getenv_redef=no,
551 [AC_MSG_ERROR(cannot check getenv redefinition if cross compiling -- defaulting to yes)
552 bash_cv_getenv_redef=yes]
553)])
554AC_MSG_RESULT($bash_cv_getenv_redef)
555if test $bash_cv_getenv_redef = yes; then
556AC_DEFINE(CAN_REDEFINE_GETENV)
557fi
558])
559
560AC_DEFUN(BASH_FUNC_PRINTF,
561[AC_MSG_CHECKING(for declaration of printf in <stdio.h>)
562AC_CACHE_VAL(bash_cv_printf_declared,
563[AC_TRY_RUN([
564#include <stdio.h>
565#ifdef __STDC__
566typedef int (*_bashfunc)(const char *, ...);
567#else
568typedef int (*_bashfunc)();
569#endif
570main()
571{
572_bashfunc pf;
573pf = (_bashfunc) printf;
574exit(pf == 0);
575}
576], bash_cv_printf_declared=yes, bash_cv_printf_declared=no,
577 [AC_MSG_ERROR(cannot check printf declaration if cross compiling -- defaulting to yes)
578 bash_cv_printf_declared=yes]
579)])
580AC_MSG_RESULT($bash_cv_printf_declared)
581if test $bash_cv_printf_declared = yes; then
582AC_DEFINE(PRINTF_DECLARED)
583fi
584])
585
586AC_DEFUN(BASH_FUNC_ULIMIT_MAXFDS,
587[AC_MSG_CHECKING(whether ulimit can substitute for getdtablesize)
588AC_CACHE_VAL(bash_cv_ulimit_maxfds,
589[AC_TRY_RUN([
590main()
591{
592long maxfds = ulimit(4, 0L);
593exit (maxfds == -1L);
594}
595], bash_cv_ulimit_maxfds=yes, bash_cv_ulimit_maxfds=no,
596 [AC_MSG_ERROR(cannot check ulimit if cross compiling -- defaulting to no)
597 bash_cv_ulimit_maxfds=no]
598)])
599AC_MSG_RESULT($bash_cv_ulimit_maxfds)
600if test $bash_cv_ulimit_maxfds = yes; then
601AC_DEFINE(ULIMIT_MAXFDS)
602fi
603])
604
605AC_DEFUN(BASH_CHECK_LIB_TERMCAP,
606[

--- 7 unchanged lines hidden (view full) ---

614[AC_CHECK_LIB(termcap, tgetent, bash_cv_termcap_lib=libtermcap,
615 [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
616 [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
617 bash_cv_termcap_lib=gnutermcap)])])])
618if test "X$_bash_needmsg" = "Xyes"; then
619AC_MSG_CHECKING(which library has the termcap functions)
620fi
621AC_MSG_RESULT(using $bash_cv_termcap_lib)
622if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
623LDFLAGS="$LDFLAGS -L./lib/termcap"
624TERMCAP_LIB="./lib/termcap/libtermcap.a"
625TERMCAP_DEP="./lib/termcap/libtermcap.a"
626elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
627TERMCAP_LIB=-ltermcap
628TERMCAP_DEP=
629elif test $bash_cv_termcap_lib = libncurses; then
630TERMCAP_LIB=-lncurses

--- 54 unchanged lines hidden (view full) ---

685main()
686{
687 char lbuf[32];
688 popen_called = 0;
689 getcwd(lbuf, 32);
690 exit (popen_called);
691}
692], bash_cv_getcwd_calls_popen=no, bash_cv_getcwd_calls_popen=yes,
693 [AC_MSG_ERROR(cannot check whether getcwd calls popen if cross compiling -- defaulting to no)
694 bash_cv_getcwd_calls_popen=no]
695)])
696AC_MSG_RESULT($bash_cv_getcwd_calls_popen)
697if test $bash_cv_getcwd_calls_popen = yes; then
698AC_DEFINE(GETCWD_BROKEN)
699fi
700])
701
702AC_DEFUN(BASH_STRUCT_DIRENT_D_INO,
703[AC_REQUIRE([AC_HEADER_DIRENT])

--- 105 unchanged lines hidden (view full) ---

809{
810 nsigint = 0;
811 set_signal_handler(SIGINT, sigint);
812 kill((int)getpid(), SIGINT);
813 kill((int)getpid(), SIGINT);
814 exit(nsigint != 2);
815}
816], bash_cv_must_reinstall_sighandlers=no, bash_cv_must_reinstall_sighandlers=yes,
817 [AC_MSG_ERROR(cannot check signal handling if cross compiling -- defaulting to no)
818 bash_cv_must_reinstall_sighandlers=no]
819)])
820AC_MSG_RESULT($bash_cv_must_reinstall_sighandlers)
821if test $bash_cv_must_reinstall_sighandlers = yes; then
822AC_DEFINE(MUST_REINSTALL_SIGHANDLERS)
823fi
824])
825
826AC_DEFUN(BASH_FUNC_SBRK_DECLARED,
827[AC_MSG_CHECKING(for declaration of sbrk in <unistd.h>)

--- 49 unchanged lines hidden (view full) ---

877#endif
878
879/* Other systems have TIOCSPGRP/TIOCGPRGP and wait3. */
880#if !defined (_POSIX_VERSION) && !defined (HAVE_WAIT3)
881exit(1);
882#endif
883
884exit(0);
885}], bash_cv_job_control_missing=present, bash_cv_job_control_missing=missing,
886 [AC_MSG_ERROR(cannot check job control if cross-compiling -- defaulting to missing)
887 bash_cv_job_control_missing=missing]
888)])
889AC_MSG_RESULT($bash_cv_job_control_missing)
890if test $bash_cv_job_control_missing = missing; then
891AC_DEFINE(JOB_CONTROL_MISSING)
892fi
893])
894
895dnl check whether named pipes are present
896dnl this requires a previous check for mkfifo, but that is awkward to specify

--- 25 unchanged lines hidden (view full) ---

922#endif
923
924fd = mknod ("/tmp/sh-np-autoconf", 0666 | S_IFIFO, 0);
925if (fd == -1)
926 exit (1);
927close(fd);
928unlink ("/tmp/sh-np-autoconf");
929exit(0);
930}], bash_cv_sys_named_pipes=present, bash_cv_sys_named_pipes=missing,
931 [AC_MSG_ERROR(cannot check for named pipes if cross-compiling -- defaulting to missing)
932 bash_cv_sys_named_pipes=missing]
933)])
934AC_MSG_RESULT($bash_cv_sys_named_pipes)
935if test $bash_cv_sys_named_pipes = missing; then
936AC_DEFINE(NAMED_PIPES_MISSING)
937fi
938])
939
940AC_DEFUN(BASH_FUNC_POSIX_SETJMP,
941[AC_REQUIRE([BASH_SIGNAL_CHECK])

--- 31 unchanged lines hidden (view full) ---

973/* change it */
974sigaddset(&set, SIGINT);
975sigprocmask(SIG_BLOCK, &set, (sigset_t *)NULL);
976
977/* and siglongjmp */
978siglongjmp(xx, 10);
979exit(1);
980#endif
981}], bash_cv_func_sigsetjmp=present, bash_cv_func_sigsetjmp=missing,
982 [AC_MSG_ERROR(cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing)
983 bash_cv_func_sigsetjmp=missing]
984)])
985AC_MSG_RESULT($bash_cv_func_sigsetjmp)
986if test $bash_cv_func_sigsetjmp = present; then
987AC_DEFINE(HAVE_POSIX_SIGSETJMP)
988fi
989])
990
991AC_DEFUN(BASH_HAVE_TIOCGWINSZ,
992[AC_MSG_CHECKING(for TIOCGWINSZ in sys/ioctl.h)
993AC_CACHE_VAL(bash_cv_tiocgwinsz_in_ioctl,
994[AC_TRY_COMPILE([#include <sys/types.h>
995#include <sys/ioctl.h>], [int x = TIOCGWINSZ;],
996 bash_cv_tiocgwinsz_in_ioctl=yes,bash_cv_tiocgwinsz_in_ioctl=no)])
997AC_MSG_RESULT($bash_cv_tiocgwinsz_in_ioctl)
998if test $bash_cv_tiocgwinsz_in_ioctl = yes; then
999AC_DEFINE(GWINSZ_IN_SYS_IOCTL)
1000fi
1001])
1002
1003AC_DEFUN(BASH_STRUCT_WINSIZE,
1004[AC_MSG_CHECKING(for struct winsize in sys/ioctl.h and termios.h)
1005AC_CACHE_VAL(bash_cv_struct_winsize_header,
1006[AC_TRY_COMPILE([#include <sys/types.h>
1007#include <sys/ioctl.h>], [struct winsize x;],
1008 bash_cv_struct_winsize_header=ioctl_h,
1009 [AC_TRY_COMPILE([#include <sys/types.h>
1010#include <termios.h>], [struct winsize x;],
1011 bash_cv_struct_winsize_header=termios_h, bash_cv_struct_winsize_header=other)
1012])])
1013if test $bash_cv_struct_winsize_header = ioctl_h; then
1014 AC_MSG_RESULT(sys/ioctl.h)
1015 AC_DEFINE(STRUCT_WINSIZE_IN_SYS_IOCTL)
1016elif test $bash_cv_struct_winsize_header = termios_h; then
1017 AC_MSG_RESULT(termios.h)
1018 AC_DEFINE(STRUCT_WINSIZE_IN_TERMIOS)
1019else
1020 AC_MSG_RESULT(not found)
1021fi
1022])
1023
1024AC_DEFUN(BASH_HAVE_TIOCSTAT,
1025[AC_MSG_CHECKING(for TIOCSTAT in sys/ioctl.h)
1026AC_CACHE_VAL(bash_cv_tiocstat_in_ioctl,
1027[AC_TRY_COMPILE([#include <sys/types.h>
1028#include <sys/ioctl.h>], [int x = TIOCSTAT;],

--- 33 unchanged lines hidden (view full) ---

1062fi
1063])
1064
1065AC_DEFUN(BASH_CHECK_GETPW_FUNCS,
1066[AC_MSG_CHECKING(whether programs are able to redeclare getpw functions)
1067AC_CACHE_VAL(bash_cv_can_redecl_getpw,
1068[AC_TRY_COMPILE([#include <sys/types.h>
1069#include <pwd.h>
1070extern struct passwd *getpwent();
1071extern struct passwd *getpwuid();
1072extern struct passwd *getpwnam();],
1073[struct passwd *z; z = getpwent(); z = getpwuid(0); z = getpwnam("root");],
1074 bash_cv_can_redecl_getpw=yes,bash_cv_can_redecl_getpw=no)])
1075AC_MSG_RESULT($bash_cv_can_redecl_getpw)
1076if test $bash_cv_can_redecl_getpw = no; then
1077AC_DEFINE(HAVE_GETPW_DECLS)
1078fi
1079])
1080
1081AC_DEFUN(BASH_CHECK_DEV_FD,

--- 66 unchanged lines hidden (view full) ---

1148
1149AC_DEFUN(BASH_DEFAULT_MAIL_DIR,
1150[AC_MSG_CHECKING(for default mail directory)
1151AC_CACHE_VAL(bash_cv_mail_dir,
1152[if test -d /var/mail; then
1153 bash_cv_mail_dir=/var/mail
1154 elif test -d /usr/mail; then
1155 bash_cv_mail_dir=/usr/mail
1156 elif test -d /var/spool/mail; then
1157 bash_cv_mail_dir=/var/spool/mail
1158 elif test -d /usr/spool/mail; then
1159 bash_cv_mail_dir=/usr/spool/mail
1160 else
1161 bash_cv_mail_dir=unknown
1162 fi
1163])
1164AC_MSG_RESULT($bash_cv_mail_dir)
1165if test $bash_cv_mail_dir = "/var/mail"; then
1166 AC_DEFINE(DEFAULT_MAIL_DIRECTORY, "/var/mail")
1167elif test $bash_cv_mail_dir = "/usr/mail"; then

--- 16 unchanged lines hidden (view full) ---

1184[AC_TRY_COMPILE([
1185#include <sys/types.h>
1186#include <sys/resource.h>
1187],
1188[
1189 int f;
1190 f = RLIMIT_DATA;
1191], bash_cv_kernel_rlimit=no,
1192[AC_TRY_COMPILE([
1193#include
1194#define _KERNEL
1195#include
1196#undef _KERNEL
1197],
1198[
1199 int f;
1200 f = RLIMIT_DATA;
1201], bash_cv_kernel_rlimit=yes, bash_cv_kernel_rlimit=no)]
1202)])
1203AC_MSG_RESULT($bash_cv_kernel_rlimit)
1204if test $bash_cv_kernel_rlimit = yes; then
1205AC_DEFINE(RLIMIT_NEEDS_KERNEL)
1206fi
1207])
1208
1209AC_DEFUN(BASH_FUNC_STRCOLL,

--- 31 unchanged lines hidden (view full) ---

1241 same. */
1242
1243 /* Exit with 1 (failure) if these two values are both > 0, since
1244 this tests whether strcoll(3) is broken with respect to strcmp(3)
1245 in the default locale. */
1246 exit (r1 > 0 && r2 > 0);
1247}
1248], bash_cv_func_strcoll_broken=yes, bash_cv_func_strcoll_broken=no,
1249 [AC_MSG_ERROR(cannot check strcoll if cross compiling -- defaulting to no)
1250 bash_cv_func_strcoll_broken=no]
1251)])
1252AC_MSG_RESULT($bash_cv_func_strcoll_broken)
1253if test $bash_cv_func_strcoll_broken = yes; then
1254AC_DEFINE(STRCOLL_BROKEN)
1255fi
1256])
1257
1258dnl
1259dnl If available, use support for large files unless the user specified
1260dnl one of the CPPFLAGS, LDFLAGS, or LIBS variables (<eggert@twinsun.com>
1261dnl via GNU patch 2.5)
1262dnl
1263AC_DEFUN(BASH_LARGE_FILE_SUPPORT,
1264[AC_MSG_CHECKING(whether large file support needs explicit enabling)
1265ac_getconfs=''
1266ac_result=yes
1267ac_set=''
1268ac_shellvars='CPPFLAGS LDFLAGS LIBS'
1269for ac_shellvar in $ac_shellvars; do
1270 case $ac_shellvar in
1271 CPPFLAGS) ac_lfsvar=LFS_CFLAGS ac_lfs64var=LFS64_CFLAGS ;;
1272 *) ac_lfsvar=LFS_$ac_shellvar ac_lfs64var=LFS64_$ac_shellvar ;;
1273 esac
1274 eval test '"${'$ac_shellvar'+set}"' = set && ac_set=$ac_shellvar
1275 (getconf $ac_lfsvar) >/dev/null 2>&1 || { ac_result=no; break; }
1276 ac_getconf=`getconf $ac_lfsvar`
1277 ac_getconf64=`getconf $ac_lfs64var`
1278 ac_getconfs=$ac_getconfs$ac_getconf\ $ac_getconf64
1279 eval ac_test_$ac_shellvar="\$ac_getconf\ \$ac_getconf64"
1280done
1281case "$ac_result$ac_getconfs" in
1282yes) ac_result=no ;;
1283esac
1284case "$ac_result$ac_set" in
1285yes?*) ac_result="yes, but $ac_set is already set, so use its settings"
1286esac
1287AC_MSG_RESULT($ac_result)
1288case $ac_result in
1289yes)
1290 for ac_shellvar in $ac_shellvars; do
1291 eval $ac_shellvar=\$ac_test_$ac_shellvar
1292 done ;;
1293esac
1294])
1295
1296dnl
1297dnl AC_SYS_RESTARTABLE_SYSCALLS tests only for restarted system calls
1298dnl after a signal handler has been installed with signal(). Since
1299dnl Bash uses sigaction() if it is available, we need to check whether
1300dnl or not a signal handler installed with sigaction and SA_RESTART
1301dnl causes system calls to be restarted after the signal is caught
1302dnl
1303AC_DEFUN(BASH_SYS_RESTARTABLE_SYSCALLS,
1304[AC_REQUIRE([BASH_SIGNAL_CHECK])
1305AC_CACHE_CHECK(for restartable system calls with posix sigaction,
1306bash_cv_sys_restartable_syscalls,
1307[AC_TRY_RUN(
1308[/* Exit 0 (true) if wait returns something other than -1,
1309 i.e. the pid of the child, which means that wait was restarted
1310 after getting the signal. */
1311#include <sys/types.h>
1312#include <signal.h>
1313static int caught = 0;
1314void ucatch (isig) int isig; { caught = 1; }
1315main ()
1316{
1317#if !defined (_POSIX_VERSION) || !defined (HAVE_POSIX_SIGNALS)
1318 exit (1);
1319#else
1320 struct sigaction act, oact;
1321 int i, status;
1322
1323 act.sa_handler = ucatch;
1324 /* Might want to add SA_RESTART here, but bash's set_signal_handler
1325 does not. */
1326 act.sa_flags = 0;
1327 sigemptyset(&act.sa_mask);
1328 sigemptyset(&oact.sa_mask);
1329 i = fork ();
1330 /* A possible race condition here, but in practice it never happens. */
1331 if (i == 0) { sleep (3); kill (getppid (), SIGINT); sleep (3); exit (0); }
1332 sigaction(SIGINT, &act, &oact);
1333 status = wait(&i);
1334 if (status == -1) wait(&i);
1335 exit (status == -1);
1336#endif
1337}
1338], bash_cv_sys_restartable_syscalls=yes, bash_cv_sys_restartable_syscalls=no,
1339 AC_MSG_ERROR(cannot check restartable syscalls if cross compiling))
1340])
1341if test $bash_cv_sys_restartable_syscalls = yes; then
1342 AC_DEFINE(HAVE_RESTARTABLE_SYSCALLS)
1343fi
1344])