da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# SHOPT_* option probe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chintst cross{
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin : check for shell magic #!
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin cat > /tmp/file$$ <<!
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin #! /bin/echo
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin exit 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin !
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin chmod 755 /tmp/file$$
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin if /tmp/file$$ > /dev/null
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin then echo "#define SHELLMAGIC 1"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fi
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin rm -f /tmp/file$$
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin option() # name value
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin {
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin case $2 in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0) echo "#ifndef SHOPT_$1"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin echo "# define SHOPT_$1 1"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin echo "#endif"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ;;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin *) echo "#undef SHOPT_$1"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ;;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin esac
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin }
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin ls /dev/fd/9 9<&0 >/dev/null 2>&1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin option DEVFD $?
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin exec 9<&-
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin case `echo a | tr a '\012' | wc -l` in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin *1*) option MULTIBYTE 0 ;;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin esac
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin test -x /bin/pfexec -o -x /usr/bin/pfexec
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin option PFSH $?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /bin/test ! -l . 2> /dev/null
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin option TEST_L $?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin test -f /etc/ksh.kshrc -o -f /etc/bash.bashrc &&
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin option SYSRC 0
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin test -f /bin/universe && univ=`/bin/universe` > /dev/null 2>&1 -a ucb = "$univ"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin option UCB $?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin}end
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chincat{
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin #if !_PACKAGE_ast && ( (MB_LEN_MAX-1)<=0 || !defined(_lib_mbtowc) )
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin # undef SHOPT_MULTIBYTE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin #endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin}end