mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-04 22:51:42 +02:00
20025: --with-tcsetpgrp from Philippe Troin
This commit is contained in:
parent
f7323823c3
commit
2173c12f2d
3 changed files with 47 additions and 9 deletions
|
@ -1,5 +1,8 @@
|
||||||
2004-06-08 Peter Stephenson <pws@csr.com>
|
2004-06-08 Peter Stephenson <pws@csr.com>
|
||||||
|
|
||||||
|
* Philippe Troin, 19996, plus 20025: configure.ac, INSTALL: add
|
||||||
|
configure option --with-tcsetpgrp.
|
||||||
|
|
||||||
* 20024: Doc/Zsh/func.yo: Improve documentation for TRAPNAL
|
* 20024: Doc/Zsh/func.yo: Improve documentation for TRAPNAL
|
||||||
functions.
|
functions.
|
||||||
|
|
||||||
|
|
6
INSTALL
6
INSTALL
|
@ -385,6 +385,12 @@ shell is running in some privileged mode. This is turned off by
|
||||||
default as on some systems non-standard headers (in particular AIX) are
|
default as on some systems non-standard headers (in particular AIX) are
|
||||||
required. A direct fix for that problem would be appreciated.
|
required. A direct fix for that problem would be appreciated.
|
||||||
|
|
||||||
|
A test for the function tcsetpgrp is turned on by default. The test needs
|
||||||
|
to run the function to determine if the implementation is usable. However,
|
||||||
|
this can cause problems when configure is run without a terminal. To avoid
|
||||||
|
this, use --with-tcsetpgrp or --without-tcsetpgrp to tell configure whether
|
||||||
|
the function should be used.
|
||||||
|
|
||||||
Options For Configure
|
Options For Configure
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
|
47
configure.ac
47
configure.ac
|
@ -1766,24 +1766,53 @@ dnl for instance, BeOS R4.51 does not support it yet
|
||||||
dnl -----------
|
dnl -----------
|
||||||
AH_TEMPLATE([BROKEN_TCSETPGRP],
|
AH_TEMPLATE([BROKEN_TCSETPGRP],
|
||||||
[Define to 1 if tcsetpgrp() doesn't work, ie BeOS R4.51.])
|
[Define to 1 if tcsetpgrp() doesn't work, ie BeOS R4.51.])
|
||||||
if test -t 0 && test $ac_cv_func_tcsetpgrp = yes; then
|
AC_ARG_WITH(tcsetpgrp,
|
||||||
|
[ --with-tcsetpgrp assumes that tcsetpgrp() exists and works correctly],[
|
||||||
|
case "x$withval" in
|
||||||
|
xyes) zsh_working_tcsetpgrp=yes;;
|
||||||
|
xno) zsh_working_tcsetpgrp=no;;
|
||||||
|
*) AC_ERROR([please use --with-tcsetpgrp=yes or --with-tcsetpgrp=no]);;
|
||||||
|
esac],[zsh_working_tcsetpgrp=check])
|
||||||
|
if test "x$ac_cv_func_tcsetpgrp" = xyes; then
|
||||||
|
case "x$zsh_working_tcsetpgrp" in
|
||||||
|
xcheck)
|
||||||
|
trap "" SIGTTOU > /dev/null 2>&1 || :
|
||||||
AC_CACHE_CHECK(if tcsetpgrp() actually works,
|
AC_CACHE_CHECK(if tcsetpgrp() actually works,
|
||||||
zsh_cv_sys_tcsetpgrp,
|
zsh_cv_sys_tcsetpgrp,
|
||||||
[AC_TRY_RUN([
|
[AC_TRY_RUN([
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <fcntl.h>
|
||||||
main() {
|
main() {
|
||||||
|
int fd;
|
||||||
int ret;
|
int ret;
|
||||||
ret=tcsetpgrp(0, tcgetpgrp(0));
|
fd=open("/dev/tty", O_RDWR);
|
||||||
exit(ret<0);
|
if (fd < 0) exit(2);
|
||||||
|
ret=tcsetpgrp(fd, tcgetpgrp(fd));
|
||||||
|
if (ret < 0) exit(1);
|
||||||
|
exit(0);
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
zsh_cv_sys_tcsetpgrp=yes,
|
zsh_cv_sys_tcsetpgrp=yes, [
|
||||||
zsh_cv_sys_tcsetpgrp=no,
|
case $? in
|
||||||
zsh_cv_sys_tcsetpgrp=yes)])
|
1) zsh_cv_sys_tcsetpgrp=no;;
|
||||||
if test $zsh_cv_sys_tcsetpgrp = no; then
|
2) zsh_cv_sys_tcsetpgrp=notty;;
|
||||||
AC_DEFINE(BROKEN_TCSETPGRP)
|
*) zsh_cv_sys_tcsetpgrp=error;;
|
||||||
fi
|
esac
|
||||||
|
], zsh_cv_sys_tcsetpgrp=yes)])
|
||||||
|
case "x$zsh_cv_sys_tcsetpgrp" in
|
||||||
|
xno) AC_DEFINE(BROKEN_TCSETPGRP);;
|
||||||
|
xyes) :;;
|
||||||
|
xnotty) AC_MSG_ERROR([no controlling tty
|
||||||
|
Try running configure with --with-tcsetpgrp or --without-tcsetpgrp]);;
|
||||||
|
*) AC_MSG_ERROR([unexpected return status]);;
|
||||||
|
esac
|
||||||
|
trap - SIGTTOU > /dev/null 2>&1 || :
|
||||||
|
;;
|
||||||
|
xyes) :;;
|
||||||
|
xno) AC_DEFINE(BROKEN_TCSETPGRP);;
|
||||||
|
*) AC_MSG_ERROR([unexpected value zsh_working_tcsetpgrp=$zsh_working_tcsetpgrp]);;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl -----------
|
dnl -----------
|
||||||
|
|
Loading…
Reference in a new issue