Annotation of 43BSDReno/contrib/patch/Configure, revision 1.1

1.1     ! root        1: #! /bin/sh
        !             2: #
        !             3: # If these # comments don't work, trim them.  Don't worry about any other
        !             4: # shell scripts, Configure will trim # comments from them for you.
        !             5: #
        !             6: # Note: if you are running ksh, be sure to say "sh Configure".
        !             7: #
        !             8: # (If you are trying to port this package to a machine without sh, I would
        !             9: # suggest you cut out the prototypical config.h from the end of Configure
        !            10: # and edit it to reflect your system.  Some packages may include samples
        !            11: # of config.h for certain machines, so you might look for one of those.)
        !            12: #
        !            13: # $Header: Configure,v 2.0 86/09/17 15:32:58 lwall Exp $
        !            14: #
        !            15: # $Log:        Configure,v $
        !            16: # Revision 2.0  86/09/17  15:32:58  lwall
        !            17: # Baseline for netwide release.
        !            18: # 
        !            19: #
        !            20: # Yes, you may rip this off to use in other distribution packages.
        !            21: #
        !            22: # (Note: this Configure script was generated automatically.  Rather than
        !            23: # working with this copy of Configure, you may wish to get metaconfig.)
        !            24: 
        !            25: define='define'
        !            26: undef='/*undef'
        !            27: 
        !            28: d_eunice=''
        !            29: eunicefix=''
        !            30: loclist=''
        !            31: expr=''
        !            32: sed=''
        !            33: echo=''
        !            34: cat=''
        !            35: rm=''
        !            36: mv=''
        !            37: cp=''
        !            38: tail=''
        !            39: tr=''
        !            40: mkdir=''
        !            41: sort=''
        !            42: uniq=''
        !            43: grep=''
        !            44: trylist=''
        !            45: test=''
        !            46: inews=''
        !            47: egrep=''
        !            48: more=''
        !            49: pg=''
        !            50: Mcc=''
        !            51: vi=''
        !            52: mailx=''
        !            53: Log=''
        !            54: Header=''
        !            55: bin=''
        !            56: cc=''
        !            57: contains=''
        !            58: cpp=''
        !            59: d_index=''
        !            60: d_void=''
        !            61: iandd=''
        !            62: libc=''
        !            63: mansrc=''
        !            64: manext=''
        !            65: n=''
        !            66: c=''
        !            67: package=''
        !            68: registers=''
        !            69: reg1=''
        !            70: reg2=''
        !            71: reg3=''
        !            72: reg4=''
        !            73: reg5=''
        !            74: reg6=''
        !            75: reg7=''
        !            76: reg8=''
        !            77: reg9=''
        !            78: reg10=''
        !            79: reg11=''
        !            80: reg12=''
        !            81: reg13=''
        !            82: reg14=''
        !            83: reg15=''
        !            84: reg16=''
        !            85: spitshell=''
        !            86: shsharp=''
        !            87: sharpbang=''
        !            88: startsh=''
        !            89: CONFIG=''
        !            90: 
        !            91: package=patch
        !            92: 
        !            93: echo "Beginning of configuration questions for $package kit."
        !            94: : Eunice requires " " instead of "", can you believe it
        !            95: echo " "
        !            96: 
        !            97: : sanity checks
        !            98: PATH='.:/bin:/usr/bin:/usr/local/bin:/usr/ucb:/usr/local:/usr/lbin:/etc'
        !            99: export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh $0; kill $$)
        !           100: 
        !           101: if test ! -t 0; then
        !           102:     echo "Say 'sh Configure', not 'sh <Configure'"
        !           103:     exit 1
        !           104: fi
        !           105: 
        !           106: : some greps do not return status, grrr.
        !           107: echo "grimblepritz" >grimble
        !           108: if grep blurfldyick grimble >/dev/null 2>&1 ; then
        !           109:     contains=contains
        !           110: else
        !           111:     if grep grimblepritz grimble >/dev/null 2>&1 ; then
        !           112:        contains=grep
        !           113:     else
        !           114:        contains=contains
        !           115:     fi
        !           116: fi
        !           117: rm -f grimble
        !           118: : the following should work in any shell
        !           119: case "$contains" in
        !           120: contains*)
        !           121:     echo " "
        !           122:     echo "AGH!  Grep doesn't return a status.  Attempting remedial action."
        !           123:     cat >contains <<'EOSS'
        !           124: grep "$1" "$2" >.greptmp && cat .greptmp && test -s .greptmp
        !           125: EOSS
        !           126: chmod 755 contains
        !           127: esac
        !           128: 
        !           129: : first determine how to suppress newline on echo command
        !           130: echo "Checking echo to see how to suppress newlines..."
        !           131: (echo "hi there\c" ; echo " ") >.echotmp
        !           132: if $contains c .echotmp >/dev/null 2>&1 ; then
        !           133:     echo "...using -n."
        !           134:     n='-n'
        !           135:     c=''
        !           136: else
        !           137:     echo "...using \\\c"
        !           138:     echo "c."
        !           139:     n=''
        !           140:     c='\c'
        !           141: fi
        !           142: echo $n "Type carriage return to continue.  Your cursor should be here-->$c"
        !           143: read ans
        !           144: rm -f .echotmp
        !           145: 
        !           146: : now set up to do reads with possible shell escape
        !           147: : if this does not work on your machine, 1,$ s/. myread/read ans/
        !           148: cat <<EOSC >myread
        !           149: ans='!'
        !           150: while expr "X\$ans" : "X!" >/dev/null; do
        !           151:     read ans
        !           152:     case "\$ans" in
        !           153:     !)
        !           154:        sh
        !           155:        echo " "
        !           156:        echo $n "\$rp $c"
        !           157:        ;;
        !           158:     !*)
        !           159:        set \`expr "X\$ans" : "X!\(.*\)\$"\`
        !           160:        sh -c "\$*"
        !           161:        echo " "
        !           162:        echo $n "\$rp $c"
        !           163:        ;;
        !           164:     esac
        !           165: done
        !           166: rp='Your answer:'
        !           167: EOSC
        !           168: 
        !           169: : general instructions
        !           170: cat <<EOH
        !           171:  
        !           172: This installation shell script will examine your system and ask you questions
        !           173: to determine how $package and any auxiliary files should be installed.  If you
        !           174: get stuck on a question, you may use a ! shell escape to start a subshell or
        !           175: execute a command.  Many of the questions will have default answers in
        !           176: square brackets--typing carriage return will give you the default.
        !           177: 
        !           178: On some of the questions which ask for file or directory names you are
        !           179: allowed to use the ~name construct to specify the login directory belonging
        !           180: to "name", even if you don't have a shell which knows about that.  Questions
        !           181: where this is allowed will be marked "(~name ok)".
        !           182: EOH
        !           183: rp="[Type carriage return to continue]"
        !           184: echo $n "$rp $c"
        !           185: . myread
        !           186: cat <<EOH
        !           187: Much effort has been expended to ensure that this shell script will run
        !           188: on any Unix system.  If despite that it blows up on you, your best bet is
        !           189: to edit Configure and run it again.  (Trying to install this package
        !           190: without having run Configure may be well nigh impossible.)  Also, let me
        !           191: ([email protected]) know how I blew it.
        !           192: 
        !           193: This installation script affects things in two ways: 1) it may do direct
        !           194: variable substitutions on some of the files included in this kit, and
        !           195: 2) it builds a config.h file for inclusion in C programs.  You may edit
        !           196: any of these files as the need arises after running this script.
        !           197: 
        !           198: EOH
        !           199: rp="[Type carriage return to continue]"
        !           200: echo $n "$rp $c"
        !           201: . myread
        !           202: 
        !           203: : get old answers, if there is a config file out there
        !           204: if test -f config.sh; then
        !           205:     echo " "
        !           206:     rp="I see a config.sh file.  Did Configure make it on THIS system? [y]"
        !           207:     echo $n "$rp $c"
        !           208:     . myread
        !           209:     case "$ans" in
        !           210:     n*) echo "OK, I'll ignore it.";;
        !           211:     *)  echo "Fetching default answers from your old config.sh file..."
        !           212:         . config.sh
        !           213:        ;;
        !           214:     esac
        !           215: fi
        !           216: 
        !           217: : get list of predefined functions in a handy place
        !           218: echo " "
        !           219: if test -f /lib/libc.a; then
        !           220:     echo "Your C library is in /lib/libc.a.  You're normal."
        !           221:     libc=/lib/libc.a
        !           222: else
        !           223:     if test -f /usr/lib/libc.a; then
        !           224:        echo "Your C library is in /usr/lib/libc.a, of all places."
        !           225:        libc=/usr/lib/libc.a
        !           226:     else
        !           227:        if test -f "$libc"; then
        !           228:            echo "Your C library is in $libc, like you said before."
        !           229:        else
        !           230:            cat <<'EOM'
        !           231:  
        !           232: I can't seem to find your C library.  I've looked for /lib/libc.a and
        !           233: /usr/lib/libc.a, but neither of those are there.  What is the full name
        !           234: EOM
        !           235:            echo $n "of your C library? $c"
        !           236:            rp='C library full name?'
        !           237:            . myread
        !           238:            libc="$ans"
        !           239:        fi
        !           240:     fi
        !           241: fi
        !           242: echo " "
        !           243: echo $n "Extracting names from $libc for later perusal...$c"
        !           244: if ar t $libc > libc.list; then
        !           245:     echo "done"
        !           246: else
        !           247:     echo " "
        !           248:     echo "The archiver doesn't think $libc is a reasonable library."
        !           249:     exit 1
        !           250: fi
        !           251: 
        !           252: : make some quick guesses about what we are up against
        !           253: echo " "
        !           254: echo $n "Hmm...  $c"
        !           255: if $contains SIGTSTP /usr/include/signal.h >/dev/null 2>&1 ; then
        !           256:     echo "Looks kind of like a BSD system, but we'll see..."
        !           257:     echo exit 0 >bsd
        !           258:     echo exit 1 >usg
        !           259:     echo exit 1 >v7
        !           260: else
        !           261:     if $contains fcntl libc.list >/dev/null 2>&1 ; then
        !           262:        echo "Looks kind of like a USG system, but we'll see..."
        !           263:        echo exit 1 >bsd
        !           264:        echo exit 0 >usg
        !           265:        echo exit 1 >v7
        !           266:     else
        !           267:        echo "Looks kind of like a version 7 system, but we'll see..."
        !           268:        echo exit 1 >bsd
        !           269:        echo exit 1 >usg
        !           270:        echo exit 0 >v7
        !           271:     fi
        !           272: fi
        !           273: if $contains vmssystem libc.list >/dev/null 2>&1 ; then
        !           274:     cat <<'EOI'
        !           275: There is, however, a strange, musty smell in the air that reminds me of
        !           276: something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
        !           277: EOI
        !           278:     echo "exit 0" >eunice
        !           279:     eunicefix=unixtovms
        !           280:     d_eunice="$define"
        !           281: : it so happens the Eunice I know will not run shell scripts in Unix format
        !           282: else
        !           283:     echo " "
        !           284:     echo "Congratulations.  You aren't running Eunice."
        !           285:     eunicefix=':'
        !           286:     d_eunice="$undef"
        !           287:     echo "exit 1" >eunice
        !           288: fi
        !           289: chmod 755 bsd usg v7 eunice
        !           290: $eunicefix bsd usg v7 eunice
        !           291: 
        !           292: : see if sh knows # comments
        !           293: echo " "
        !           294: echo "Checking your sh to see if it knows about # comments..."
        !           295: if sh -c '#' >/dev/null 2>&1 ; then
        !           296:     echo "Your sh handles # comments correctly."
        !           297:     shsharp=true
        !           298:     spitshell=cat
        !           299:     echo " "
        !           300:     echo "Okay, let's see if #! works on this system..."
        !           301:     echo "#!/bin/echo hi" > try
        !           302:     $eunicefix try
        !           303:     chmod 755 try
        !           304:     try > today
        !           305:     if test -s today; then
        !           306:        echo "It does."
        !           307:        sharpbang='#!'
        !           308:     else
        !           309:        echo "#! /bin/echo hi" > try
        !           310:        $eunicefix try
        !           311:        chmod 755 try
        !           312:        try > today
        !           313:        if test -s today; then
        !           314:            echo "It does."
        !           315:            sharpbang='#! '
        !           316:        else
        !           317:            echo "It doesn't."
        !           318:            sharpbang=': use '
        !           319:        fi
        !           320:     fi
        !           321: else
        !           322:     echo "Your sh doesn't grok # comments--I will strip them later on."
        !           323:     shsharp=false
        !           324:     echo "exec grep -v '^#'" >spitshell
        !           325:     chmod 755 spitshell
        !           326:     $eunicefix spitshell
        !           327:     spitshell=`pwd`/spitshell
        !           328:     echo "I presume that if # doesn't work, #! won't work either!"
        !           329:     sharpbang=': use '
        !           330: fi
        !           331: 
        !           332: : figure out how to guarantee sh startup
        !           333: echo " "
        !           334: echo "Checking out how to guarantee sh startup..."
        !           335: startsh=$sharpbang'/bin/sh'
        !           336: echo "Let's see if '$startsh' works..."
        !           337: cat >try <<EOSS
        !           338: $startsh
        !           339: set abc
        !           340: test "$?abc" != 1
        !           341: EOSS
        !           342: 
        !           343: chmod 755 try
        !           344: $eunicefix try
        !           345: if try; then
        !           346:     echo "Yup, it does."
        !           347: else
        !           348:     echo "Nope.  You may have to fix up the shell scripts to make sure sh runs them."
        !           349: fi
        !           350: rm -f try today
        !           351: 
        !           352: : find out where common programs are
        !           353: echo " "
        !           354: echo "Locating common programs..."
        !           355: pth="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /etc /usr/lib"
        !           356: cat <<EOSC >loc
        !           357: $startsh
        !           358: thing=\$1
        !           359: shift
        !           360: dflt=\$1
        !           361: shift
        !           362: for dir in \$*; do
        !           363:     case "\$thing" in
        !           364:     .)
        !           365:        if test -d \$dir/\$thing; then
        !           366:            echo \$dir
        !           367:            exit 0
        !           368:        fi
        !           369:        ;;
        !           370:     *)
        !           371:        if test -f \$dir/\$thing; then
        !           372:            echo \$dir/\$thing
        !           373:            exit 0
        !           374:        fi
        !           375:        ;;
        !           376:     esac
        !           377: done
        !           378: echo \$dflt
        !           379: exit 1
        !           380: EOSC
        !           381: chmod 755 loc
        !           382: $eunicefix loc
        !           383: loclist="
        !           384: expr
        !           385: sed
        !           386: echo
        !           387: cat
        !           388: rm
        !           389: grep
        !           390: "
        !           391: trylist="
        !           392: test
        !           393: Mcc
        !           394: "
        !           395: for file in $loclist; do
        !           396:     xxx=`loc $file $file $pth`
        !           397:     eval $file=$xxx
        !           398:     case "$xxx" in
        !           399:     /*)
        !           400:        echo $file is in $xxx.
        !           401:        ;;
        !           402:     *)
        !           403:        echo "I don't know where $file is.  I hope it's in everyone's PATH."
        !           404:        ;;
        !           405:     esac
        !           406: done
        !           407: echo " "
        !           408: echo "Don't worry if any of the following aren't found..."
        !           409: ans=offhand
        !           410: for file in $trylist; do
        !           411:     xxx=`loc $file $file $pth`
        !           412:     eval $file=$xxx
        !           413:     case "$xxx" in
        !           414:     /*)
        !           415:        echo $file is in $xxx.
        !           416:        ;;
        !           417:     *)
        !           418:        echo "I don't see $file out there, $ans."
        !           419:        ans=either
        !           420:        ;;
        !           421:     esac
        !           422: done
        !           423: case "$egrep" in
        !           424: egrep)
        !           425:     echo "Substituting grep for egrep."
        !           426:     egrep=$grep
        !           427:     ;;
        !           428: esac
        !           429: case "$test" in
        !           430: test)
        !           431:     echo "Hopefully test is built into your sh."
        !           432:     ;;
        !           433: /bin/test)
        !           434:     echo " "
        !           435:     echo $n 'Is your "test" built into sh? [n] (OK to guess) '"$c"
        !           436:     rp='test built into sh? [n]'
        !           437:     . myread
        !           438:     case "$ans" in
        !           439:     y*) test=test ;;
        !           440:     esac
        !           441:     ;;
        !           442: *)
        !           443:     test=test
        !           444:     ;;
        !           445: esac
        !           446: case "$echo" in
        !           447: echo)
        !           448:     echo "Hopefully echo is built into your sh."
        !           449:     ;;
        !           450: /bin/echo)
        !           451:     echo " "
        !           452:     echo "Checking compatibility between /bin/echo and builtin echo (if any)..."
        !           453:     $echo $n "hi there$c" >foo1
        !           454:     echo $n "hi there$c" >foo2
        !           455:     if cmp foo1 foo2 >/dev/null 2>&1; then
        !           456:        echo "They are compatible.  In fact, they may be identical."
        !           457:     else
        !           458:        echo "They are not compatible--the echo builtin will be used."
        !           459:        echo=echo
        !           460:     fi
        !           461:     $rm -f foo1 foo2
        !           462:     ;;
        !           463: *)
        !           464:     echo=echo
        !           465:     ;;
        !           466: esac
        !           467: 
        !           468: : index or strcpy
        !           469: $echo " "
        !           470: if $contains index libc.list >/dev/null 2>&1 ; then
        !           471:     $echo "Your system appears to use index() and rindex() rather than strchr()"
        !           472:     $echo $n "and strrchr().  Is this correct? [y] $c"
        !           473:     rp='index() rather than strchr()? [y]'
        !           474:     . myread
        !           475:     case "$ans" in
        !           476:        n*|f*) d_index="$define" ;;
        !           477:        *)     d_index="$undef" ;;
        !           478:     esac
        !           479: else
        !           480:     $echo "Your system appears to use strchr() and strrchr() rather than index()"
        !           481:     $echo $n "and rindex().  Is this correct? [y] $c"
        !           482:     rp='strchr() rather than index()? [y]'
        !           483:     . myread
        !           484:     case "$ans" in
        !           485:        n*|f*) d_index="$undef" ;;
        !           486:        *)     d_index="$define" ;;
        !           487:     esac
        !           488: fi
        !           489: 
        !           490: : check for void type
        !           491: $echo " "
        !           492: $echo "Checking to see if your C compiler groks the void type..."
        !           493: $cat >try.c <<'EOCP'
        !           494: void main();
        !           495: EOCP
        !           496: if cc -c try.c >/dev/null 2>&1 ; then
        !           497:     d_void="$undef"
        !           498:     $echo "Yup, it does."
        !           499: else
        !           500:     d_void="$define"
        !           501:     $echo "Nope, it doesn't (boo hiss).  I will substitute int."
        !           502: fi
        !           503: $rm -f try.*
        !           504: 
        !           505: : see how we invoke the C preprocessor
        !           506: echo " "
        !           507: echo "Checking to see how your C preprocessor is invoked..."
        !           508: cat <<'EOT' >testcpp.c
        !           509: #define ABC abc
        !           510: #define XYZ xyz
        !           511: ABC.XYZ
        !           512: EOT
        !           513: echo 'Maybe "cc -E" will work...'
        !           514: cc -E testcpp.c >testcpp.out 2>&1
        !           515: if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
        !           516:     echo "Yup, it does."
        !           517:     cpp='cc -E'
        !           518: else
        !           519:     echo 'Nope...maybe "cc -P" will work...'
        !           520:     cc -P testcpp.c >testcpp.out 2>&1
        !           521:     if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
        !           522:        echo "Yup, that does."
        !           523:        cpp='cc -P'
        !           524:     else
        !           525:        echo 'Nixed again...maybe "/lib/cpp" will work...'
        !           526:        /lib/cpp testcpp.c >testcpp.out 2>&1
        !           527:        if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
        !           528:            echo "Hooray, it works!  I was beginning to wonder."
        !           529:            cpp='/lib/cpp'
        !           530:        else
        !           531:            echo 'Hmm...maybe you already told me...'
        !           532:            case "$cpp" in
        !           533:            '') ;;
        !           534:            *) $cpp testcpp.c >testcpp.out 2>&1;;
        !           535:            esac
        !           536:            if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
        !           537:                echo "Hooray, you did!  I was beginning to wonder."
        !           538:            else
        !           539:                echo $n "Nope. I can't find a C preprocessor.  Name one: $c"
        !           540:                rp='Name a C preprocessor:'
        !           541:                . myread
        !           542:                cpp="$ans"
        !           543:                $cpp testcpp.c >testcpp.out 2>&1
        !           544:                if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
        !           545:                    echo "OK, that will do."
        !           546:                else
        !           547:                    echo "Sorry, I can't get that to work.  Go find one."
        !           548:                    exit 1
        !           549:                fi
        !           550:            fi
        !           551:        fi
        !           552:     fi
        !           553: fi
        !           554: rm -f testcpp.c testcpp.out
        !           555: 
        !           556: : get C preprocessor symbols handy
        !           557: echo " "
        !           558: cat <<'EOT' >Cppsym.c
        !           559: char *sym[] = {
        !           560: #ifdef mc68000
        !           561:        "mc68000",
        !           562: #endif
        !           563: #ifdef sun
        !           564:        "sun",
        !           565: #endif
        !           566: #ifdef gcos
        !           567:        "gcos",
        !           568: #endif
        !           569: #ifdef unix
        !           570:        "unix",
        !           571: #endif
        !           572: #ifdef ibm
        !           573:        "ibm",
        !           574: #endif
        !           575: #ifdef gimpel
        !           576:        "gimpel",
        !           577: #endif
        !           578: #ifdef interdata
        !           579:        "interdata",
        !           580: #endif
        !           581: #ifdef tss
        !           582:        "tss",
        !           583: #endif
        !           584: #ifdef os
        !           585:        "os",
        !           586: #endif
        !           587: #ifdef mert
        !           588:        "mert",
        !           589: #endif
        !           590: #ifdef pyr
        !           591:        "pyr",
        !           592: #endif
        !           593: #ifdef vax
        !           594:        "vax",
        !           595: #endif
        !           596: #ifdef pdp11
        !           597:        "pdp11",
        !           598: #endif
        !           599: #ifdef i8086
        !           600:        "i8086",
        !           601: #endif
        !           602: #ifdef z8000
        !           603:        "z8000",
        !           604: #endif
        !           605: #ifdef 3b2
        !           606:        "3b2",
        !           607: #endif
        !           608: #ifdef 3b5
        !           609:        "3b5",
        !           610: #endif
        !           611: #ifdef 3b20
        !           612:        "3b20",
        !           613: #endif
        !           614: #ifdef 3b200
        !           615:        "3b200",
        !           616: #endif
        !           617: 0};
        !           618: main(argc,argv)
        !           619: int argc;
        !           620: char **argv;
        !           621: {
        !           622:     int i;
        !           623: 
        !           624:     for (argc--,argv++; argc; argc--,argv++) {
        !           625:        for (i=0; sym[i]; i++) {
        !           626:            if (strcmp(argv[0],sym[i]) == 0)
        !           627:                exit(0);
        !           628:        }
        !           629:     }
        !           630:     exit(1);
        !           631: }
        !           632: EOT
        !           633: echo "Your machine appears to have the following attributes:"
        !           634: $cpp Cppsym.c | sed -n -e 's/^ "\(.*\)",$/\1/p'
        !           635: cc Cppsym.c -o Cppsym
        !           636: rm -f Cppsym.c
        !           637: 
        !           638: : see how many register declarations we want to use
        !           639: case "$registers" in
        !           640: '')
        !           641:     if Cppsym pdp11 i8086 z8000; then
        !           642:        dflt=3
        !           643:     else
        !           644:        if Cppsym sun mc68000; then
        !           645:            dflt=10
        !           646:        else
        !           647:            : if you have any other numbers for me, send them in
        !           648:            dflt=6
        !           649:        fi
        !           650:     fi
        !           651:     ;;
        !           652: *)  dflt=$registers ;;
        !           653: esac
        !           654: cat <<EOM
        !           655:  
        !           656: Different C compilers on different machines pay attention to different
        !           657: numbers of register declarations.  About how many register declarations in
        !           658: EOM
        !           659: $echo $n "each routine does your C compiler pay attention to? (OK to guess) [$dflt] $c"
        !           660: rp="# register declarations used? [$dflt]"
        !           661: . myread
        !           662: case "$ans" in
        !           663: '') ans=$dflt;;
        !           664: esac
        !           665: registers=$ans
        !           666: reg1=''
        !           667: awk "END { for (i=1; i<=16; i++) printf \"reg%d=''\n\", i}" </dev/null >.foo
        !           668: . .foo
        !           669: awk "END { for (i=1; i<=$registers; i++) printf \"reg%d=register\n\", i}" \
        !           670:        </dev/null >.foo
        !           671: . .foo
        !           672: rm -f .foo
        !           673: 
        !           674: : preserve RCS keywords in files with variable substitution, grrr
        !           675: Log='$Log'
        !           676: Header='$Header'
        !           677: 
        !           678: : set up shell script to do ~ expansion
        !           679: cat >filexp <<EOSS
        !           680: $startsh
        !           681: : expand filename
        !           682: case "\$1" in
        !           683: ~/*|~)
        !           684:     $echo \$1 | $sed "s|~|\${HOME-\$LOGDIR}|"
        !           685:     ;;
        !           686: ~*)
        !           687:     if $test -f /bin/csh; then
        !           688:        /bin/csh -f -c "glob \$1"
        !           689:        $echo ""
        !           690:     else
        !           691:        name=\`$expr x\$1 : '..\([^/]*\)'\`
        !           692:        dir=\`$sed </etc/passwd -n -e "/^\${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'\$'"/\1/" -e p -e q -e '}'\`
        !           693:        if $test ! -d "\$dir"; then
        !           694:            me=\`basename \$0\`
        !           695:            $echo "\$me: can't locate home directory for: \$name" >&2
        !           696:            exit 1
        !           697:        fi
        !           698:        case "\$1" in
        !           699:        */*)
        !           700:            $echo \$dir/\`$expr x\$1 : '..[^/]*/\(.*\)'\`
        !           701:            ;;
        !           702:        *)
        !           703:            $echo \$dir
        !           704:            ;;
        !           705:        esac
        !           706:     fi
        !           707:     ;;
        !           708: *)
        !           709:     $echo \$1
        !           710:     ;;
        !           711: esac
        !           712: EOSS
        !           713: chmod 755 filexp
        !           714: $eunicefix filexp
        !           715: 
        !           716: : determine where public executables go
        !           717: case "$bin" in
        !           718: '')
        !           719:     dflt=`loc . /bin /usr/local/bin /usr/lbin /usr/local /usr/bin`
        !           720:     ;;
        !           721: *)  dflt="$bin"
        !           722:     ;;
        !           723: esac
        !           724: bin='blurfl/dyick'
        !           725: while $test ! -d "$bin" ; do
        !           726:     case "$bin" in
        !           727:       blurfl*) ;;
        !           728:       *) $echo "$bin does not appear to exist." ;;
        !           729:     esac
        !           730:     $echo " "
        !           731:     rp="Where do you want to put the public executables? [$dflt]"
        !           732:     $echo $n "$rp $c"
        !           733:     . myread
        !           734:     bin="$ans"
        !           735:     bin=`filexp $bin`
        !           736:     case "$bin" in
        !           737:       '') bin=$dflt ;;
        !           738:     esac
        !           739: done
        !           740: 
        !           741: : determine where manual pages go
        !           742: case "$mansrc" in
        !           743: '')
        !           744:     dflt=`loc . /usr/man/man1 /usr/man/mann /usr/man/local/man1 /usr/man/u_man/man1 /usr/man/man1`
        !           745:     ;;
        !           746: *)  dflt="$mansrc"
        !           747:     ;;
        !           748: esac
        !           749: mansrc='blurfl/dyick'
        !           750: while $test ! -d "$mansrc" ; do
        !           751:     case "$mansrc" in
        !           752:       blurfl*) ;;
        !           753:       *) $echo "$mansrc does not appear to exist." ;;
        !           754:     esac
        !           755:     $echo " "
        !           756:     rp="Where do the manual pages (source) go? [$dflt]"
        !           757:     $echo $n "$rp $c"
        !           758:     . myread
        !           759:     mansrc=`filexp "$ans"`
        !           760:     case "$mansrc" in
        !           761:       '') mansrc=$dflt ;;
        !           762:     esac
        !           763: done
        !           764: case "$mansrc" in
        !           765: *l)
        !           766:     manext=l
        !           767:     ;;
        !           768: *n)
        !           769:     manext=n
        !           770:     ;;
        !           771: *)
        !           772:     manext=1
        !           773:     ;;
        !           774: esac
        !           775: 
        !           776: : see if we need a special compiler
        !           777: $echo " "
        !           778: if usg; then
        !           779:     case "$cc" in
        !           780:     '')
        !           781:        case "$Mcc" in
        !           782:        /*) dflt='Mcc'
        !           783:            ;;
        !           784:        *)
        !           785:            if $contains '\-M' $mansrc/cc.1 >/dev/null 2>&1 ; then
        !           786:                dflt='cc -M'
        !           787:            else
        !           788:                dflt='cc'
        !           789:            fi
        !           790:            ;;
        !           791:        esac
        !           792:        ;;
        !           793:     *)  dflt="$cc";;
        !           794:     esac
        !           795:     $cat <<'EOM'
        !           796:  
        !           797: On some systems the default C compiler will not resolve multiple global
        !           798: references that happen to have the same name.  On some such systems the
        !           799: "Mcc" command may be used to force these to be resolved.  On other systems
        !           800: a "cc -M" command is required.  What command will force resolution on
        !           801: EOM
        !           802:     $echo $n "this system? [$dflt] $c"
        !           803:     rp="Command to resolve multiple refs? [$dflt]"
        !           804:     . myread
        !           805:     cc="$ans"
        !           806:     case "$cc" in
        !           807:        '') cc="$dflt" ;;
        !           808:     esac
        !           809: else
        !           810:     $echo "Not a USG system--assuming cc can resolve multiple definitions."
        !           811:     cc=cc
        !           812: fi
        !           813: 
        !           814: : see if we should throw a -i into the Makefile
        !           815: $echo " "
        !           816: if Cppsym pdp11 i8086 z8000; then
        !           817:     if $contains '\-i' $mansrc/cc.1 >/dev/null 2>&1 ; then
        !           818:        rp="Your system appears to have separate I and D space.  Is this true? [y]"
        !           819:        $echo $n "$rp $c"
        !           820:        . myread
        !           821:        case "$ans" in
        !           822:            n*|f*) iandd='' ;;
        !           823:            *)     iandd='-i' ;;
        !           824:        esac
        !           825:     else
        !           826:        $echo "Your system appears to NOT have separate I and D space."
        !           827:        $echo $n "Is this correct? [y] $c"
        !           828:        rp='No separate I and D.  Correct? [y]'
        !           829:        . myread
        !           830:        case "$ans" in
        !           831:            n*|f*) iandd='-i' ;;
        !           832:            *)     iandd='' ;;
        !           833:        esac
        !           834:     fi
        !           835: else
        !           836:     $echo $n "Does your machine have separate I and D space? [n] $c"
        !           837:     . myread
        !           838:     case "$ans" in
        !           839:        y*)    iandd='-i' ;;
        !           840:        *)     iandd='' ;;
        !           841:     esac
        !           842: fi
        !           843: 
        !           844: $echo " "
        !           845: $echo "End of configuration questions."
        !           846: $echo " "
        !           847: 
        !           848: : create config.sh file
        !           849: $echo " "
        !           850: $echo "Creating config.sh..."
        !           851: $spitshell <<EOT >config.sh
        !           852: $startsh
        !           853: # config.sh
        !           854: # This file was produced by running the Configure script.
        !           855: 
        !           856: d_eunice='$d_eunice'
        !           857: eunicefix='$eunicefix'
        !           858: loclist='$loclist'
        !           859: expr='$expr'
        !           860: sed='$sed'
        !           861: echo='$echo'
        !           862: cat='$cat'
        !           863: rm='$rm'
        !           864: mv='$mv'
        !           865: cp='$cp'
        !           866: tail='$tail'
        !           867: tr='$tr'
        !           868: mkdir='$mkdir'
        !           869: sort='$sort'
        !           870: uniq='$uniq'
        !           871: grep='$grep'
        !           872: trylist='$trylist'
        !           873: test='$test'
        !           874: inews='$inews'
        !           875: egrep='$egrep'
        !           876: more='$more'
        !           877: pg='$pg'
        !           878: Mcc='$Mcc'
        !           879: vi='$vi'
        !           880: mailx='$mailx'
        !           881: Log='$Log'
        !           882: Header='$Header'
        !           883: bin='$bin'
        !           884: cc='$cc'
        !           885: contains='$contains'
        !           886: cpp='$cpp'
        !           887: d_index='$d_index'
        !           888: d_void='$d_void'
        !           889: iandd='$iandd'
        !           890: libc='$libc'
        !           891: mansrc='$mansrc'
        !           892: manext='$manext'
        !           893: n='$n'
        !           894: c='$c'
        !           895: package='$package'
        !           896: registers='$registers'
        !           897: reg1='$reg1'
        !           898: reg2='$reg2'
        !           899: reg3='$reg3'
        !           900: reg4='$reg4'
        !           901: reg5='$reg5'
        !           902: reg6='$reg6'
        !           903: reg7='$reg7'
        !           904: reg8='$reg8'
        !           905: reg9='$reg9'
        !           906: reg10='$reg10'
        !           907: reg11='$reg11'
        !           908: reg12='$reg12'
        !           909: reg13='$reg13'
        !           910: reg14='$reg14'
        !           911: reg15='$reg15'
        !           912: reg16='$reg16'
        !           913: spitshell='$spitshell'
        !           914: shsharp='$shsharp'
        !           915: sharpbang='$sharpbang'
        !           916: startsh='$startsh'
        !           917: CONFIG=true
        !           918: EOT
        !           919:  
        !           920: : create config.h file
        !           921: $echo " "
        !           922: $echo "Creating config.h..."
        !           923: $cat <<EOT >config.h
        !           924: /* config.h
        !           925:  * This file was produced by running the Configure script.
        !           926:  * Feel free to modify any of this as the need arises.
        !           927:  */
        !           928: 
        !           929: 
        !           930: #$d_eunice     EUNICE          /* no file linking? */
        !           931: #$d_eunice     VMS             /* other assorted ickies? */
        !           932: 
        !           933: #$d_index      index strchr    /* cultural */
        !           934: #$d_index      rindex strrchr  /*  differences? */
        !           935: 
        !           936: #$d_void       void int        /* is void to be avoided? */
        !           937: 
        !           938: /* How many register declarations are paid attention to? */
        !           939: 
        !           940: #define Reg1 $reg1             /**/
        !           941: #define Reg2 $reg2             /**/
        !           942: #define Reg3 $reg3             /**/
        !           943: #define Reg4 $reg4             /**/
        !           944: #define Reg5 $reg5             /**/
        !           945: #define Reg6 $reg6             /**/
        !           946: #define Reg7 $reg7             /**/
        !           947: #define Reg8 $reg8             /**/
        !           948: #define Reg9 $reg9             /**/
        !           949: #define Reg10 $reg10           /**/
        !           950: #define Reg11 $reg11           /**/
        !           951: #define Reg12 $reg12           /**/
        !           952: #define Reg13 $reg13           /**/
        !           953: #define Reg14 $reg14           /**/
        !           954: #define Reg15 $reg15           /**/
        !           955: #define Reg16 $reg16           /**/
        !           956: 
        !           957: EOT
        !           958: CONFIG=true
        !           959: 
        !           960: if $contains '\.SH' MANIFEST >/dev/null 2>&1; then
        !           961:     $echo " "
        !           962:     $echo "Doing variable substitutions on .SH files..."
        !           963:     set `$grep <MANIFEST '\.SH' | awk '{print $1}'`
        !           964:     for file in $*; do
        !           965:        case "$file" in
        !           966:        */*)
        !           967:            dir=`$expr X$file : 'X\(.*\)/'`
        !           968:            file=`$expr X$file : 'X.*/\(.*\)'`
        !           969:            (cd $dir && . $file)
        !           970:            ;;
        !           971:        *)
        !           972:            . $file
        !           973:            ;;
        !           974:        esac
        !           975:     done
        !           976: fi
        !           977: 
        !           978: if $contains '^depend:' Makefile >/dev/null 2>&1; then
        !           979:     $echo " "
        !           980:     $echo 'Now you need to generate make dependencies by running "make depend".'
        !           981:     $echo 'You might prefer to run it in background: "make depend > makedepend.out &"'
        !           982:     $echo $n "Would you like me to run it for you (it takes quite a while)? [n] $c" 
        !           983:     rp="Run make depend now? [n]"
        !           984:     . myread
        !           985:     case "$ans" in
        !           986:     y*) make depend;;
        !           987:     esac
        !           988: fi
        !           989: 
        !           990: $rm -f libc.list kit*isdone bsd usg v7 eunice loc Cppsym
        !           991: 
        !           992: if test -f Makefile; then
        !           993:     $echo " "
        !           994:     $echo "Now you must run a make."
        !           995: else
        !           996:     $echo "Done."
        !           997: fi
        !           998: : end of Configure

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.