Subject: v18i081: Elm mail system, release 2.2, Part02/24 Newsgroups: comp.sources.unix Sender: sources Approved: rsalz@uunet.UU.NET Submitted-by: dsinc!syd@uunet.UU.NET (Syd Weinstein) Posting-number: Volume 18, Issue 81 Archive-name: elm2.2/part02 #!/bin/sh # this is part 2 of a multipart archive # do not concatenate these parts, unpack them in order with /bin/sh # file Configure continued # CurArch=2 if test ! -r s2_seq_.tmp then echo "Please unpack part 1 first!" exit 1; fi ( read Scheck if test "$Scheck" != $CurArch then echo "Please unpack part $Scheck next!" exit 1; else exit 0; fi ) < s2_seq_.tmp || exit 1 echo "x - Continuing file Configure" sed 's/^X//' << 'SHAR_EOF' >> Configure X echo "(That doesn't agree with your whoami.h file, by the way.)" X ;; X *) X echo "(That doesn't agree with your $phostname command, by the way.)" X ;; X esac X phostname='' X ;; X esac X ;; Xesac X X: decide how portable to be Xcase "$d_portable" in X"$define") dflt=y;; X*) dflt=n;; Xesac X$cat <<'EOH' X XI can set things up so that your shell scripts and binaries are more portable, Xat what may be a noticeable cost in performance. In particular, if you Xask to be portable, the following happens: X X 1) shell scripts will rely on the PATH variable rather than using X the paths derived above. X 2) ~username interpretations will be done at run time rather than X by Configure. X 3) the system name will be determined at run time, if at all possible. X XEOH Xrp="Do you expect to run these scripts and binaries on multiple machines? [$dflt]" X$echo $n "$rp $c" X. myread Xcase "$ans" in X y*) d_portable="$define" X for file in $loclist; do X eval $file=$file X done X ;; X *) d_portable="$undef" ;; Xesac X X: see if there is a whoami file Xecho " " Xif $test -r /usr/include/whoami.h ; then X d_whoami="$define" X echo "whoami.h found." Xelse X d_whoami="$undef" Xfi X X: see how we will look up host name Xecho " " Xd_douname="$undef" Xd_gethname="$undef" Xif $test -z "$d_phostname"; then X d_phostname="$undef" Xfi X Xif xenix; then X if $test -n "$uname"; then X u_name=`$uname -n` X else X u_name= X fi X if $test -n "$line"; then X if $test -r /etc/systemid; then X s_name=`$line < /etc/systemid` X else X s_name= X fi X else X s_name= X fi X if $test -n "$u_name"; then X if $test "$u_name" = "$s_name"; then X cat </dev/null 2>&1 ; then X echo "uname() found." X d_douname="$define" X ans=uname X fi X else X cat </dev/null 2>&1 ; then X echo "gethostname() found." X d_gethname="$define" X ans=gethostname Xelif $contains '^uname$' libc.list >/dev/null 2>&1 ; then X echo "uname() found." X d_douname="$define" X ans=uname Xfi X Xcase "$d_douname$d_gethname" in X*define*) X case "$d_host_comp" in X "$define") dflt=y;; X *) dflt=n;; X esac X cat </dev/null 2>&1; then X echo 'flock() found.' X if $contains EWOULDBLOCK /usr/include/errno.h > /dev/null 2>&1; then X echo 'EWOULDBLOCK found, will use .lock and flock type mailbox locking' X d_flock="$define" X elif $contains EWOULDBLOCK /usr/include/sys/errno.h > /dev/null 2>&1; then X echo 'EWOULDBLOCK found, will use .lock and flock type mailbox locking' X d_flock="$define" X else X echo 'flock() not found--will use .lock type mailbox locking' X d_flock="$undef" X fi Xelse X echo 'flock() not found--will use .lock type mailbox locking' X d_flock="$undef" Xfi X X: see if getopt exists Xecho " " Xif $contains getopt libc.list >/dev/null 2>&1; then X echo 'getopt() found.' X d_getopt="$define" Xelse X echo 'getopt() not found--will use our getopt instead.' X d_getopt="$undef" Xfi X X: set up shell script to do ~ expansion Xcat >filexp <&2 X exit 1 X fi X case "\$1" in X */*) X echo \$dir/\`$expr x\$1 : '..[^/]*/\(.*\)'\` X ;; X *) X echo \$dir X ;; X esac X fi X ;; X*) X echo \$1 X ;; Xesac XEOSS Xchmod +x filexp X$eunicefix filexp X X: determine pathnames of the domains, pathalias, L.sys or Systems Xcase "$pathalias" in X'') dflt=`loc paths blurfl/dyick $pth /usr/lib/uucp` X if $test "$dflt" = blurfl/dyick; then X dflt=`loc nmail.paths /usr/lib/nmail.paths $pth /usr/lib/uucp` X fi X ;; X*) dflt="$pathalias";; Xesac Xcont=true Xwhile $test "$cont" ; do X echo " " X echo "Give the full path name of the pathalias" X rp="data file? [$dflt]" X $echo $n "$rp $c" X . myread X pathalias="$ans" X if $test -f "$ans"; then X cont='' X else X if $test "$fastread" = yes; then X dflt=y X else X dflt=n X fi X echo "Pathalias data file $ans doesn't exist." X rp="Use that name anyway? [$dflt]" X $echo $n "$rp $c" X . myread X dflt='' X case "$ans" in X y*) cont='';; X esac X fi Xdone X Xcase "$domains" in X'') dflt=`loc domains /usr/lib/domains $pth /usr/lib/uucp`;; X*) dflt="$domains";; Xesac Xcont=true Xwhile $test "$cont" ; do X echo " " X echo "Where does the uumail-style 'domains'" X rp="file live? [$dflt]" X $echo $n "$rp $c" X . myread X domains="$ans" X if $test -f "$ans"; then X cont='' X else X if $test "$fastread" = yes; then X dflt=y X else X dflt=n X fi X echo "Domains data file $ans doesn't exist." X rp="Use that name anyway? [$dflt]" X $echo $n "$rp $c" X . myread X dflt='' X case "$ans" in X y*) cont='';; X esac X fi Xdone X Xcase "$lsysfile" in X'') dflt=`loc Systems blurfl/dyick /usr/lib/uucp` X lsysvssys="Systems" X if $test "$dflt" = blurfl/dyick; then X dflt="/usr/lib/uucp/L.sys" X lsysvssys="L.sys" X fi X ;; X*) dflt="$lsysfile";; Xesac X X: is pathalias available as a dbm file Xd_havedbm="$undef" Xdbm='' X Xif $test -f "$pathalias.pag" -a -f "$pathalias.dir"; then X ans=`loc libdbm.a x $libpth` X if $test "$ans" = x; then X dflt=y X echo " " X rp="You have pathalias as a DBM file, but I cannot find the XDBM library. Do you have dbm? [$dflt]" X $echo $n "$rp $c" X . myread X case "$ans" in X y*|t*) d_havedbm="$define" X echo " " X echo "Then where are the dbm routines kept (specify either -llibname" X $echo $n " or full pathname (~name ok))? $c" X rp='Specify dbm library:' X . myread X dbm=`filexp $ans` X ;; X *) d_havedbm="$undef" X dbm='' X echo "I will use the non dbm access methods then." X ;; X esac X else X echo " " X echo "You have pathalias as a DBM file...I'll use that instead." X dbm=$ans X d_havedbm="$define" X fi Xfi X X: index or strcpy Xecho " " Xcase "$d_index" in Xn) dflt=n;; X*) dflt=y;; Xesac Xif $contains '^index$' libc.list >/dev/null 2>&1 ; then X if $contains '^strchr$' libc.list >/dev/null 2>&1 ; then X echo "Your system has both index() and strchr(). Shall I use" X rp="index() rather than strchr()? [$dflt]" X $echo $n "$rp $c" X . myread X case "$ans" in X n*) d_index="$define" ;; X *) d_index="$undef" ;; X esac X else X d_index="$undef" X echo "index() found." X fi Xelse X if $contains '^strchr$' libc.list >/dev/null 2>&1 ; then X d_index="$define" X echo "strchr() found." X else X echo "No index() or strchr() found!" X d_index="$undef" X fi Xfi X X: check for internet mailer Xcase "$d_internet" in X"$define") dflt=y;; X"$undef") dflt=n;; X*) if $test -f "$sendmail"; then X dflt=y X elif $test -f "$smail"; then X dflt=y X else X dflt=n X fi X ;; Xesac X$cat </dev/null 2>&1; then X echo 'mkdir() found.' X d_mkdir="$define" Xelse X echo 'mkdir() not found.' X d_mkdir="$undef" Xfi X X: ask about newmail running in the background automatically Xcase "$d_newauto" in X"$define") dflt=y;; X"$undef") dflt=n;; X*) dflt=y;; Xesac Xecho " " Xrp="Should newmail automatically run in the background? [$dflt]" X$echo $n "$rp $c" X. myread Xcase "$ans" in Xy*) d_newauto="$define";; X*) d_newauto="$undef";; Xesac X X: define d_useuuname, Xif $test -f "$uuname"; then X case "$d_useuuname" in X "$define") dflt=y;; X "$undef") dflt=n;; X *) dflt=y;; X esac X $cat </dev/null 2>&1; then X echo 'rename() found.' X d_rename="$define" Xelse X echo 'rename() not found--will use our rename instead.' X d_rename="$undef" Xfi X X: see if tempnam exists Xecho " " Xif $contains tempnam libc.list >/dev/null 2>&1; then X echo 'tempnam() found.' X d_tempnam="$define" Xelse X echo 'tempnam() not found--will use our tempnam instead.' X d_tempnam="$undef" Xfi X X: determine where manual pages go X$cat <pdp11.c <<'EOP' Xmain() { X#ifdef pdp11 X exit(0); X#else X exit(1); X#endif X} XEOP X cc -o pdp11 pdp11.c >/dev/null 2>&1 X if pdp11 2>/dev/null; then X dflt='unsplit split' X else X ans=`loc . X /lib/small /lib/large /usr/lib/small /usr/lib/large /lib/medium /usr/lib/medium /lib/huge` X case "$ans" in X X) dflt='none';; X *) if $test -d /lib/small || $test -d /usr/lib/small; then X dflt='small' X else X dflt='' X fi X if $test -d /lib/medium || $test -d /usr/lib/medium; then X dflt="$dflt medium" X fi X if $test -d /lib/large || $test -d /usr/lib/large; then X dflt="$dflt large" X fi X if $test -d /lib/huge || $test -d /usr/lib/huge; then X dflt="$dflt huge" X fi X esac X fi X ;; X*) dflt="$models" ;; Xesac X$cat </dev/null 2>&1 || \ X $contains '\-i' $mansrc/cc.1 >/dev/null 2>&1; then X dflt='-i' X else X dflt='none' X fi X ;; X *) dflt="$split";; X esac X rp="What flag indicates separate I and D space? [$dflt]" X $echo $n "$rp $c" X . myread X case "$ans" in X none) ans='';; X esac X split="$ans" X unsplit='' X ;; X*large*|*small*|*medium*|*huge*) X case "$models" in X *large*) X case "$large" in X '') dflt='-Ml';; X *) dflt="$large";; X esac X rp="What flag indicates large model? [$dflt]" X $echo $n "$rp $c" X . myread X case "$ans" in X none) ans=''; X esac X large="$ans" X ;; X *) large='';; X esac X case "$models" in X *huge*) X case "$huge" in X '') dflt='-Mh';; X *) dflt="$huge";; X esac X rp="What flag indicates huge model? [$dflt]" X $echo $n "$rp $c" X . myread X case "$ans" in X none) ans=''; X esac X huge="$ans" X ;; X *) huge="$large";; X esac X case "$models" in X *medium*) X case "$medium" in X '') dflt='-Mm';; X *) dflt="$medium";; X esac X rp="What flag indicates medium model? [$dflt]" X $echo $n "$rp $c" X . myread X case "$ans" in X none) ans=''; X esac X medium="$ans" X ;; X *) medium="$large";; X esac X case "$models" in X *small*) X case "$small" in X '') dflt='none';; X *) dflt="$small";; X esac X rp="What flag indicates small model? [$dflt]" X $echo $n "$rp $c" X . myread X case "$ans" in X none) ans=''; X esac X small="$ans" X ;; X *) small='';; X esac X ;; X*) X echo "Unrecognized memory models--you may have to edit Makefile.SH" X ;; Xesac X X: see if we need a special compiler Xecho " " Xif usg; then X case "$cc" in X '') X case "$Mcc" in X /*) dflt='Mcc' X ;; X *) X case "$large" in X -M*) X dflt='cc' X ;; X *) X if $contains '\-M' $mansrc/cc.1 >/dev/null 2>&1 ; then X dflt='cc -M' X else X dflt='cc' X fi X ;; X esac X ;; X esac X ;; X *) dflt="$cc";; X esac X $cat <<'EOM' X XOn some systems the default C compiler will not resolve multiple global Xreferences that happen to have the same name. On some such systems the X"Mcc" command may be used to force these to be resolved. On other systems Xa "cc -M" command is required. (Note that the -M flag on other systems Xindicates a memory model to use!) If you have the Gnu C compiler, you Xmight wish to use that instead. What command will force resolution on XEOM X $echo $n "this system? [$dflt] $c" X rp="Command to resolve multiple refs? [$dflt]" X . myread X cc="$ans" Xelse X case "$cc" in X '') dflt=cc;; X *) dflt="$cc";; X esac X rp="Use which C compiler? [$dflt]" X $echo $n "$rp $c" X . myread X cc="$ans" Xfi Xcase "$cc" in Xgcc*) cpp=`loc gcc-cpp $cpp $pth`;; Xesac X X: determine optimize, if desired, or use for debug flag also Xcase "$optimize" in X' ') dflt="none" X ;; X'') dflt="-O"; X ;; X*) dflt="$optimize" X ;; Xesac Xcat <testcpp.c X#define ABC abc X#define XYZ xyz XABC.XYZ XEOT Xecho 'Maybe "'"$cc"' -E" will work...' X$cc -E testcpp.out 2>&1 Xif $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then X echo "Yup, it does." X cppstdin="$cc -E" X cppminus=''; Xelse X echo 'Nope, maybe "'$cpp'" will work...' X $cpp testcpp.out 2>&1 X if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then X echo "Yup, it does." X cppstdin="$cpp" X cppminus=''; X else X echo 'No such luck...maybe "'$cpp' -" will work...' X $cpp - testcpp.out 2>&1 X if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then X echo "It works!" X cppstdin="$cpp" X cppminus='-'; X else X echo 'Nixed again...maybe "'"$cc"' -E -" will work...' X $cc -E - testcpp.out 2>&1 X if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then X echo "Hooray, it works! I was beginning to wonder." X cppstdin="$cc -E" X cppminus='-'; X else X echo 'Nope...maybe "'"$cc"' -P" will work...' X $cc -P testcpp.out 2>&1 X if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then X echo "Yup, that does." X cppstdin="$cc -P" X cppminus=''; X else X echo 'Nope...maybe "'"$cc"' -P -" will work...' X $cc -P - testcpp.out 2>&1 X if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then X echo "Yup, that does." X cppstdin="$cc -P" X cppminus='-'; X else X echo 'Hmm...perhaps you already told me...' X case "$cppstdin" in X '') ;; X *) $cppstdin $cppminus testcpp.out 2>&1;; X esac X if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then X echo "Hooray, you did! I was beginning to wonder." X else X echo 'Uh-uh. Time to get fancy...' X cd .. X echo 'Trying (cat >/tmp/$$.c; '"$cc"' -E /tmp/$$.c; rm /tmp/$$.c)' X echo 'cat >/tmp/$$.c; '"$cc"' -E /tmp/$$.c; rm /tmp/$$.c' >cppstdin X chmod 755 cppstdin X cppstdin=`pwd`/cppstdin X cppminus=''; X cd UU X $cppstdin testcpp.out 2>&1 X if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then X echo "Eureka!." X else X dflt=blurfl X $echo $n "No dice. I can't find a C preprocessor. Name one: $c" X rp='Name a C preprocessor:' X . myread X cppstdin="$ans" X $cppstdin testcpp.out 2>&1 X if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then X echo "OK, that will do." X else X echo "Sorry, I can't get that to work. Go find one." X exit 1 X fi X fi X fi X fi X fi X fi X fi X fi Xfi Xrm -f testcpp.c testcpp.out X X: get C preprocessor symbols handy Xecho " " Xecho $attrlist | $tr '[ - ]' '[\012-\012]' >Cppsym.know X$cat <Cppsym X$startsh Xcase "\$1" in X-l) list=true X shift X ;; Xesac Xunknown='' Xcase "\$list\$#" in X1|2) X for sym do X if $contains "^\$1$" Cppsym.true >/dev/null 2>&1; then X exit 0 X elif $contains "^\$1$" Cppsym.know >/dev/null 2>&1; then X : X else X unknown="\$unknown \$sym" X fi X done X set X \$unknown X shift X ;; Xesac Xcase \$# in X0) exit 1;; Xesac Xecho \$* | $tr '[ - ]' '[\012-\012]' | $sed -e 's/\(.*\)/\\ X#ifdef \1\\ Xexit 0; _ _ _ _\1\\ \1\\ X#endif\\ X/' >/tmp/Cppsym\$\$ Xecho exit 1 >>/tmp/Cppsym\$\$ X$cppstdin $cppminus /tmp/Cppsym2\$\$ Xcase "\$list" in Xtrue) awk 'NF > 5 {print substr(\$6,2,100)}' Cppsym.true Xcat Cppsym.true Xrmlist="$rmlist Cppsym Cppsym.know Cppsym.true" X X: see if this is a termio system Xecho " " Xif Cppsym pyr ; then X if $test "`/bin/universe`" = "ucb" ; then X if $test -r /usr/include/sgtty.h ; then X d_termio="$undef" X echo "sgtty.h found." X else X echo "System is a pyramid, and universe is bsd," X echo "sgtty.h not found--you could have problems." X fi X else X if $test -r /usr/include/termio.h ; then X d_termio="$define" X echo "termio.h found." X else X echo "System is a pyramid, and universe is att," X echo "termio.h not found--you could have problems." X fi X fi Xelif $test -r /usr/include/termio.h ; then X d_termio="$define" X echo "termio.h found." Xelif $test -r /usr/include/sgtty.h ; then X d_termio="$undef" X echo "sgtty.h found." Xelse X d_termio="$undef" X echo "Neither termio.h nor sgtty.h found--you could have problems." Xfi X X: see if struct tm is defined in sys/time.h Xecho " " Xif $contains 'struct tm' /usr/include/time.h >/dev/null 2>&1 ; then X if $contains 'struct tm' /usr/include/sys/time.h >/dev/null 2>&1 ; then X echo "You have struct tm defined in both and ." X d_tminsys="$define" X timeincl=/usr/include/sys/time.h X else X echo "You have struct tm defined in rather than ." X if $contains 'include ' /usr/include/sys/time.h >/dev/null 2>&1; then X echo "but includes so I'll include " X d_tminsys="$define" X timeincl='/usr/include/sys/time.h /usr/include/time.h' X else X d_tminsys="$undef" X timeincl=/usr/include/time.h X fi X fi Xelse X echo "You have struct tm defined in rather than ." X d_tminsys="$define" X timeincl=/usr/include/sys/time.h Xfi X$cat $timeincl | $cppstdin $cppminus > try.c 2>&1 Xif $contains 'tz_minuteswest' try.c > /dev/null 2>&1 ; then X echo "You have tz_minuteswest defined in $timeincl rather than timezone." X d_tz_min="$define" Xelse X echo "You have timezone defined in $timeincl rather than tz_minuteswest." X d_tz_min="$undef" Xfi X$rm -f try.c X: check for valid reply/to fields Xcase "$d_useembed" in X"$define") dflt=y;; X"$undef") dflt=n;; X*) dflt=n;; Xesac X$cat <try.c <<'EOCP' X#include X#include X#include X#include X#define far /* to keep XENIX from complaining */ X#include X#include Xmain() X{ Xstruct utimbuf test; Xexit(1); X} XEOCP X if $cc try.c -o try >/dev/null 2>&1 ; then X d_utimbuf="$undef" X echo "You have the 'utimbuf' structure..." X else X echo "I will use my 'utimbuf' structure..." X d_utimbuf="$define" X fi X $rm -f try.c try.o try X fi X ;; Xesac X X: see if there is a vfork Xecho " " Xif $contains '^vfork$' libc.list >/dev/null 2>&1 ; then X echo "vfork() found." X d_vfork="$undef" Xelse X echo "No vfork() found--will use fork() instead." X d_vfork="$define" Xfi X X: see if signal is declared as pointer to function returning int or void Xecho " " Xif $contains 'void.*signal' /usr/include/signal.h >/dev/null 2>&1 ; then X echo "You have void (*signal())() instead of int." X d_voidsig="$define" Xelse X echo "You have int (*signal())() instead of void." X d_voidsig="$undef" Xfi X X: get user and system aliases sizes X$cat </dev/null 2>&1; then X echo 'symlink() found.' X d_symlink="$define" Xelse X echo 'symlink() not found.' X d_symlink="$undef" Xfi X X: get default batch subject X$cat <grimble X if $contains tputs.o grimble >/dev/null 2>&1; then X termlib='-lcurses' X d_havetlib="$define" X echo "Terminfo library found." X else X ans=x X fi X rm -f grimble X ;; Xesac Xcase "$ans" in Xx) X ans=`loc libtermlib.a x $libpth` X if $test "$ans" = x; then X ans=`loc Slibtermlib.a x $libpth` X fi X case "$ans" in X /usr/lib*|/lib*) X termlib='-ltermlib' X d_havetlib="$define" X echo "Termlib library found." X ;; X /*) X termlib="$ans" X d_havetlib="$define" X echo "Termlib library found." X ;; X *) X ans=`loc libtermcap.a x $libpth` X if $test "$ans" = x; then X ans=`loc Slibtermcap.a x $libpth` X fi X case "$ans" in X /usr/lib*|/lib*) X termlib='-ltermcap' X d_havetlib="$define" X echo "Termcap library found." X ;; X /*) X termlib="$ans" X d_havetlib="$define" X echo "Termcap library found." X ;; X *) X case "$termlib" in X '') X dflt=y X rp="Your system appears to NOT have termlib-style routines. Is this true? [$dflt]" X $echo $n "$rp $c" X . myread X case "$ans" in X n*|f*) d_havetlib="$define" X echo "Then where are the termlib-style routines kept (specify either -llibname" X $echo $n " or full pathname (~name ok))? $c" X rp='Specify termlib:' X . myread X termlib=`filexp $ans` X ;; X *) d_havetlib="$undef" X termlib='' X echo "You will have to play around with term.c then." X ;; X esac X echo " " X ;; X *) echo "You said termlib was $termlib before." X ;; X esac X ;; X esac X ;; X esac X ;; Xesac X X: determine where temporary files should go Xcase "$tmpdir" in X'') X dflt=`loc . "." "/tmp /usr/tmp"` X ;; X*) dflt="$tmpdir" X ;; Xesac Xif $test -d "$tmpdir" -a "$tmpdir" != ""; then X $echo " " X $echo "Temporary files will be put in the $tmpdir directory" Xelse X cont=true X while $test "$cont" ; do X $echo " " X rp="Where do you want to put the temporary files? [$dflt]" X $echo $n "$rp $c" X . myread X tmpdir="$ans" X tmpdir=`filexp $tmpdir` X if $test -d "$tmpdir" -a "$tmpdir" != ""; then X cont='' X else X if $test "$fastread" = yes; then X dflt=y X else X dflt=n X fi X rp="Directory $tmpdir doesn't exist. Use that name anyway? [$dflt]" X $echo $n "$rp $c" X . myread X dflt='' X case "$ans" in X y*) cont='';; X esac X fi X done Xfi X Xecho " " Xecho "End of configuration questions." Xecho " " X X: create config.sh file Xecho " " Xif test -d ../UU; then X cd .. Xfi Xecho "Creating config.sh..." X$spitshell <config.sh X$startsh X# config.sh X# This file was produced by running the Configure script. X Xd_eunice='$d_eunice' Xeunicefix='$eunicefix' XLog='$Log' XHeader='$Header' Xcontains='$contains' Xcppstdin='$cppstdin' Xcppminus='$cppminus' Xd_index='$d_index' SHAR_EOF echo "End of part 2" echo "File Configure is continued in part 3" echo "3" > s2_seq_.tmp exit 0