xref: /onnv-gate/usr/src/lib/libshell/common/features/options (revision 8462:6e341f5569ba)
14887Schin# SHOPT_* option probe
24887Schin
34887Schintst	cross{
44887Schin	: check for shell magic #!
54887Schin	cat > /tmp/file$$ <<!
64887Schin	#! /bin/echo
74887Schin	exit 1
84887Schin	!
94887Schin	chmod 755 /tmp/file$$
104887Schin	if	/tmp/file$$ > /dev/null
114887Schin	then	echo "#define SHELLMAGIC	1"
124887Schin	fi
134887Schin	rm -f /tmp/file$$
144887Schin
154887Schin	option() # name value
164887Schin	{
174887Schin		case $2 in
184887Schin		0)	echo "#ifndef SHOPT_$1"
194887Schin			echo "#   define SHOPT_$1	1"
204887Schin			echo "#endif"
214887Schin			;;
224887Schin		*)	echo "#undef  SHOPT_$1"
234887Schin			;;
244887Schin		esac
254887Schin	}
264887Schin
27*8462SApril.Chin@Sun.COM	ls /dev/fd/9 9<&0 >/dev/null 2>&1
284887Schin	option DEVFD $?
29*8462SApril.Chin@Sun.COM	exec 9<&-
304887Schin	case  `echo a | tr a '\012' | wc -l` in
314887Schin	*1*)	option MULTIBYTE 0 ;;
324887Schin	esac
334887Schin	test -x /bin/pfexec -o -x /usr/bin/pfexec
344887Schin	option PFSH $?
354887Schin	/bin/test ! -l . 2> /dev/null
364887Schin	option TEST_L $?
374887Schin	test -f /etc/ksh.kshrc -o -f /etc/bash.bashrc &&
384887Schin	option SYSRC 0
394887Schin	test -f /bin/universe && univ=`/bin/universe` > /dev/null 2>&1 -a ucb = "$univ"
404887Schin	option UCB $?
414887Schin}end
424887Schin
434887Schincat{
444887Schin	#if !_PACKAGE_ast && ( (MB_LEN_MAX-1)<=0 || !defined(_lib_mbtowc) )
454887Schin	#   undef SHOPT_MULTIBYTE
464887Schin	#endif
474887Schin}end
48