Ignore /dev/fd/ on FreeBSD 5.x -- devfs doesn't provide a full /dev/fd/

and so Bash's process substitution feature doesn't work when 'configure'
finds we do have /dev/fd/ and tries to use it vs. named pipes.

PR:		48434
Submitted by:	naddy
This commit is contained in:
David E. O'Brien 2004-08-09 17:43:53 +00:00
parent 2a415f7672
commit fedc890b9e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=115756
2 changed files with 17 additions and 1 deletions

View file

@ -8,7 +8,7 @@
PORTNAME= bash
PORTVERSION= 2.05b.007
PORTREVISION?= 1
PORTREVISION?= 2
CATEGORIES= shells
MASTER_SITES= ${MASTER_SITE_GNU} \
ftp://ftp.cwru.edu/pub/bash/

View file

@ -12,3 +12,19 @@ $FreeBSD$
*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
*-aix*) opt_bash_malloc=no ;; # AIX machines
*-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
@@ -15218,7 +15218,14 @@
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -d /dev/fd && test -r /dev/fd/0; then
- bash_cv_dev_fd=standard
+ # FreeBSD's devfs only provides /dev/fd/[0-2]
+ exec 3<&0
+ if test -r /dev/fd/3; then
+ bash_cv_dev_fd=standard
+ else
+ bash_cv_dev_fd=absent
+ fi
+ exec 3<&-
elif test -d /proc/self/fd && test -r /proc/self/fd/0; then
bash_cv_dev_fd=whacky
else