Annotation of GNUtools/build_gcc, revision 1.1.1.1

1.1       root        1: #!/bin/sh
                      2: ############################################################
                      3: ##
                      4: ##  implementation of the "build" target of cc makefile
                      5: ##
                      6: ############################################################
                      7: 
                      8: PATH=/bin:/usr/bin
                      9: export PATH
                     10: 
                     11: # what targets to produce compilers to
                     12: TARGETS=`arch`
                     13: 
                     14: # what host we should produce executables for
                     15: HOSTS=`arch`
                     16: 
                     17: # the host on which we are running at now
                     18: BUILD=`arch`
                     19: 
                     20: # where to do the build .. better have lots of space there!
                     21: SRCROOT=~comp/cc_proj/cc
                     22: 
                     23: # where to do the build .. better have lots of space there!
                     24: OBJROOT=
                     25: 
                     26: # where to do the build .. better have lots of space there!
                     27: SYMROOT=
                     28: 
                     29: # where to do the build .. better have lots of space there!
                     30: DSTROOT=
                     31: 
                     32: # where to do the build .. better have lots of space there!
                     33: BUILDROOT=/private/tmp
                     34: 
                     35: # what compilers to build.  On NeXT, we only use those two.
                     36: LANGUAGES="objc objc++"
                     37: 
                     38: # Optimize flags when compiling the compiler
                     39: CFLAGS=-g
                     40: OPTIMIZE=-O
                     41: 
                     42: result=fats
                     43: 
                     44: for arg
                     45: do
                     46:   case $next_arg in
                     47:   --srcroot)
                     48:        SRCROOT=$arg
                     49:        next_arg=
                     50:        ;;
                     51:   --objroot)
                     52:        OBJROOT=$arg
                     53:        next_arg=
                     54:        ;;
                     55:   --dstroot)
                     56:        DSTROOT=$arg
                     57:        next_arg=
                     58:        ;;
                     59:   --symroot)
                     60:        SYMROOT=$arg
                     61:        next_arg=
                     62:        ;;
                     63:   --buildroot)
                     64:        BUILDROOT=$arg
                     65:        next_arg=
                     66:        ;;
                     67:   --host*)
                     68:        HOSTS=$arg
                     69:        next_arg=
                     70:        ;;
                     71:   --target*)
                     72:        TARGETS=$arg
                     73:        next_arg=
                     74:        ;;
                     75:   --cflags)
                     76:        CFLAGS=$arg
                     77:        next_arg= 
                     78:        ;;
                     79:   *)
                     80:        case $arg in
                     81:        --srcroot=*)
                     82:                SRCROOT=`echo $arg | sed 's/-*s[a-z]*=//'`
                     83:                ;;
                     84: 
                     85:        --objroot=*)
                     86:                OBJROOT=`echo $arg | sed 's/-*o[a-z]*=//'`
                     87:                ;;
                     88: 
                     89:        --dstroot=*)
                     90:                DSTROOT=`echo $arg | sed 's/-*d[a-z]*=//'`
                     91:                ;;
                     92: 
                     93:        --symroot=*)
                     94:                SYMROOT=`echo $arg | sed 's/-*s[a-z]*=//'`
                     95:                ;;
                     96: 
                     97:        --buildroot=*)
                     98:                BUILDROOT=`echo $arg | sed 's/-*b[a-z]*=//'`
                     99:                ;;
                    100: 
                    101:        --hosts=*|--host=*)
                    102:                HOSTS=`echo $arg | sed 's/-*h[a-z]*=//'`
                    103:                ;;
                    104: 
                    105:        --targets=*|--target=*)
                    106:                TARGETS=`echo $arg | sed 's/-*t[a-z]*=//'`
                    107:                ;;
                    108: 
                    109:        --cflags=*)
                    110:                CFLAGS=`echo $arg | sed 's/-*c[a-z]*=//'`
                    111:                ;;
                    112: 
                    113:        --optimize=*)
                    114:                if [ `echo $arg | sed 's/-*o[a-z]*=//'` = yes ]; then
                    115:                  OPTIMIZE=-O
                    116:                else
                    117:                  OPTIMIZE=
                    118:                fi
                    119:                ;;
                    120: 
                    121:        --fat|--fats)
                    122:                result=fats
                    123:                ;;
                    124: 
                    125:        --thin|--thins)
                    126:                result=thins
                    127:                ;;
                    128: 
                    129:        --clean)
                    130:                result=clean
                    131:                ;;
                    132: 
                    133:        --configure)
                    134:                result=configure
                    135:                ;;
                    136: 
                    137:        --optimize)
                    138:                OPTIMIZE=-O
                    139:                ;;
                    140: 
                    141:        --no-optimize)
                    142:                OPTIMIZE=
                    143:                ;;
                    144: 
                    145:        --*)
                    146:                next_arg=$arg
                    147:                ;;
                    148:        *)
                    149:                echo unknown option $arg
                    150:                exit 1
                    151:                ;;
                    152:        esac
                    153:   esac
                    154: done
                    155: 
                    156: # get the version
                    157: CCVERS=`cd $SRCROOT; vers_string -f cc`
                    158: 
                    159: # remove any -arch flags from CFLAGS
                    160: CFLAGS=`echo $CFLAGS|sed 's/-arch [a-z0-9]*//g'`
                    161: 
                    162: # add target arch...
                    163: if [ x$RC_RELEASE != x ]; then
                    164:   CFLAGS="$CFLAGS -DRC_RELEASE_"`echo $RC_RELEASE|tr '.' '_'`
                    165: fi
                    166: 
                    167: if [ x$SYMROOT = x ]; then
                    168:   SYMROOT=$BUILDROOT/$CCVERS.sym
                    169: fi
                    170: 
                    171: if [ x$OBJROOT = x ]; then
                    172:   OBJROOT=$BUILDROOT/$CCVERS.obj
                    173: fi
                    174: 
                    175: if [ x$DSTROOT = x ]; then
                    176:   DSTROOT=$BUILDROOT/$CCVERS.dst
                    177: fi
                    178: 
                    179: # set up bison environment
                    180: BISON=$OBJROOT/bison_`arch`_obj/bison
                    181: BISON_SIMPLE=$BISON.s1
                    182: export BISON_SIMPLE
                    183: 
                    184: echo ===========================================================
                    185: echo == 'Building NeXT C compiler(s) **' $result '**'
                    186: echo ===========================================================
                    187: echo == 'HOSTS     :' ${HOSTS}
                    188: echo == 'TARGETS   :' ${TARGETS}
                    189: echo == 'BUILDHOST :' `hostname` -- a `arch`
                    190: echo == 'OBJROOT   :' ${OBJROOT}
                    191: echo == 'SYMROOT   :' ${SYMROOT}
                    192: echo == 'SRCROOT   :' ${SRCROOT}
                    193: echo == 'DSTROOT   :' ${DSTROOT}
                    194: echo == 'VERSION   :' ${CCVERS}
                    195: echo == 'CFLAGS    :' ${OPTIMIZE} ${CFLAGS}
                    196: echo ===========================================================
                    197: 
                    198: 
                    199: #
                    200: # Check that cross compilers are available
                    201: #
                    202: 
                    203: missing_cross=no
                    204: 
                    205: for host in ${HOSTS}; do 
                    206:   if [ -d /lib/$host ]; then true; else 
                    207:     echo "************************************************************"
                    208:     echo "** You must have a cross compiler for $host installed"
                    209:     missing_cross=yes
                    210:   fi; 
                    211: done  
                    212: 
                    213: for host in $HOSTS; do
                    214:   if echo $TARGETS | grep $host > /dev/null 2>&1; then true; else
                    215:     echo '************************************************************'
                    216:     echo '**' "hosttype $host must also be a target"
                    217:     missing_cross=yes
                    218:   fi    
                    219: done
                    220: 
                    221: if [ $missing_cross = yes ]; then
                    222:   echo "************************************************************"
                    223:   exit 1;
                    224: fi
                    225: 
                    226: 
                    227: safe_exec () {
                    228:   if ($*); then true; else exit 1; fi
                    229: }
                    230: 
                    231: clean_gcc () {
                    232: echo ===========================================================
                    233: echo == 'Cleaning NeXT C compiler(s)'
                    234: echo ===========================================================
                    235: 
                    236: for target in ${TARGETS}; do 
                    237:   for host in ${HOSTS}; do 
                    238:     echo '==' ${OBJROOT}/cc-$target-on-$host; 
                    239:     if [ -d ${OBJROOT}/cc-$target-on-$host ]; then
                    240:       /bin/rm -Rf ${OBJROOT}/cc-$target-on-$host; 
                    241:     fi
                    242:   done
                    243: done
                    244: for host in ${HOSTS}; do 
                    245:   if [ -d ${SYMROOT}/$host ]; then
                    246:     echo '==' ${SYMROOT}/$host; 
                    247:     /bin/rm -Rf ${SYMROOT}/$host; 
                    248:   fi
                    249: done
                    250: if [ X${DSTROOT} != X${SRCROOT} ]; then
                    251:   if [ -d ${DSTROOT} ]; then
                    252:     echo '==' ${DSTROOT};
                    253:     /bin/rm -Rf ${DSTROOT};
                    254:   fi
                    255: fi
                    256: echo ===========================================================
                    257: }
                    258: 
                    259: configure_gcc () {
                    260: for target in ${TARGETS}; do 
                    261:   for host in ${HOSTS}; do 
                    262:     mkdirs ${OBJROOT}/cc-$target-on-$host; 
                    263:     cd ${OBJROOT}/cc-$target-on-$host; 
                    264: 
                    265:     source=bad
                    266:     if [ -f make.id ]; then
                    267:       if [ X`cat make.id` = X${SRCROOT}/cc:`arch` ]; then
                    268:         source=ok
                    269:       fi
                    270:     fi
                    271: 
                    272:     if [ X$source = Xok -a -f Makefile ]; then
                    273:       echo ===========================================================; 
                    274:       echo == updating Makefile for cc-$target-on-$host\; buildhost=`arch` 
                    275:       echo ===========================================================; 
                    276:       safe_exec make Makefile
                    277:     else 
                    278:       echo ===========================================================; 
                    279:       echo == configuring cc-$target-on-$host\; buildhost=`arch`
                    280:       echo ===========================================================; 
                    281:       /bin/rm -f make.id
                    282:       echo ${SRCROOT}/cc:`arch` > make.id
                    283:       /bin/rm -f rtl.o bc-*.o
                    284:       ${SRCROOT}/cc/configure \
                    285:          --host=$host-next-mach \
                    286:          --target=$target-next-mach \
                    287:          --build=`arch`-next-mach \
                    288:           --srcdir=${SRCROOT}/cc \
                    289:          --force-build; 
                    290:     fi; 
                    291:   done; 
                    292: done
                    293: }
                    294: 
                    295: install_newer () {
                    296:   if [ -f "$1" ]; then
                    297:     rm -f /tmp/make.$$
                    298:     touch -f /tmp/make.$$
                    299:     echo "$2: $1"                      >> /tmp/make.$$
                    300:     echo "     /bin/rm -f $2"          >> /tmp/make.$$
                    301:     echo "     install -c $3 $1 $2"    >> /tmp/make.$$
                    302:     safe_exec make -f /tmp/make.$$
                    303:     rm -f /tmp/make.$$
                    304:   else
                    305:     echo "build_gcc: $1: no such file"
                    306:   fi
                    307: }
                    308:  
                    309: 
                    310: build_compiler () { 
                    311: for host in ${HOSTS}; do 
                    312:   for target in ${TARGETS}; do 
                    313:     cd ${OBJROOT}/cc-$target-on-$host; 
                    314:     echo ===========================================================; 
                    315:     echo == building cc-$target-on-$host\; buildhost:`arch`; 
                    316:     echo ===========================================================; 
                    317: 
                    318:     #############################################################
                    319:     # this will build the core compilers
                    320:     #############################################################
                    321: 
                    322:     if [ -d `arch` ]; then true; else mkdir `arch`; fi
                    323:     if make all.build \
                    324:         srcdir=${SRCROOT}/cc \
                    325:        LANGUAGES="${LANGUAGES}" \
                    326:        HOST_PREFIX="`arch`-" HOST_PREFIX_1="`arch`-" \
                    327:        HOST_CC="cc -arch `arch` -traditional-cpp" \
                    328:        BISON=${BISON} \
                    329:        CFLAGS="${OPTIMIZE} ${CFLAGS}" \
                    330:        CC="cc -arch $host -traditional-cpp"; \
                    331:        then echo '== ok' ; else exit 1; fi
                    332: 
                    333:     sym=$SYMROOT/$host
                    334: 
                    335:     mkdirs $sym/lib/$target
                    336:     mkdirs $sym/bin
                    337: 
                    338:     install_newer cpp        $sym/lib/$target/cpp       "-m 555"
                    339:     install_newer cc1obj     $sym/lib/$target/cc1obj    "-m 555"
                    340:     install_newer cc1objplus $sym/lib/$target/cc1objplus "-m 555"
                    341: 
                    342:   done
                    343: 
                    344:   if echo $TARGETS | grep $host; then
                    345:     install_newer ${OBJROOT}/cc-$host-on-$host/xgcc $sym/bin/cc "-m 555"
                    346:   else
                    347:     echo '************************************************************'
                    348:     echo '**' "hosttype $host must also be a target"
                    349:     echo '************************************************************'
                    350:     exit 1;
                    351:   fi    
                    352: 
                    353: done
                    354: }
                    355: 
                    356: 
                    357: build_libgcc () {
                    358: for target in ${TARGETS}; do 
                    359: 
                    360:   host=`arch`
                    361:   mkdirs ${OBJROOT}/cc-$target-on-$host;     
                    362:   cd ${OBJROOT}/cc-$target-on-$host;     
                    363: 
                    364:   # the buildhost is in hosts..
                    365:   if echo $HOSTS | grep $host; then
                    366: 
                    367:     #############################################################
                    368:     # now, build the gcc specs and runtime libraries 
                    369:     #############################################################
                    370: 
                    371:     echo "============================================================"
                    372:     echo "== Building runtime libraries, using new compiler:"
                    373:     ./xgcc -B./ -v
                    374:     echo "============================================================"
                    375: 
                    376:     echo '== building static version'
                    377:     if [ -f libgcc_static.a ]; then mv -f libgcc_static.a libgcc.a; fi
                    378:     if [ -f libgcc1_static.a ]; then mv -f libgcc1_static.a libgcc1.a; fi
                    379:     if [ -f libgcc2_static.a ]; then mv -f libgcc2_static.a libgcc2.a; fi
                    380: 
                    381:     if make specs libgcc1.a libgcc.a \
                    382:         srcdir=${SRCROOT}/cc \
                    383:        LANGUAGES="${LANGUAGES}" \
                    384:        HOST_PREFIX="`arch`-" HOST_PREFIX_1="`arch`-" \
                    385:        HOST_CC="cc -arch `arch` -traditional-cpp" \
                    386:        OLDCC="./xgcc -B./" \
                    387:        CCLIBFLAGS="${OPTIMIZE} ${CFLAGS}" \
                    388:        GCC_FOR_TARGET="./xgcc -B./" \
                    389:        CFLAGS="${OPTIMIZE} ${CFLAGS}" \
                    390:        BISON=${BISON} \
                    391:        GCC_CFLAGS="-traditional-cpp ${CFLAGS}" \
                    392:        AR_FOR_TARGET=ar LIBGCC1=libgcc1.a \
                    393:        CC="cc -arch $host -traditional-cpp"; \
                    394:        then echo '== ok'; else exit 1; fi
                    395: 
                    396:     mv -f libgcc.a libgcc_static.a
                    397:     mv -f libgcc1.a libgcc1_static.a
                    398:     mv -f libgcc2.a libgcc2_static.a
                    399:     echo '== building shlib version'
                    400:     if [ -f libgcc_shlib.a ]; then mv -f libgcc_shlib.a libgcc.a; fi
                    401:     if [ -f libgcc1_shlib.a ]; then mv -f libgcc1_shlib.a libgcc1.a; fi
                    402:     if [ -f libgcc2_shlib.a ]; then mv -f libgcc2_shlib.a libgcc2.a; fi
                    403: 
                    404:     if make specs libgcc1.a libgcc.a \
                    405:         srcdir=${SRCROOT}/cc \
                    406:        LANGUAGES="${LANGUAGES}" \
                    407:        HOST_PREFIX="`arch`-" HOST_PREFIX_1="`arch`-" \
                    408:        HOST_CC="cc -arch `arch` -traditional-cpp -DSHLIB" \
                    409:        OLDCC="./xgcc -B./ -DSHLIB" \
                    410:        CCLIBFLAGS="${OPTIMIZE} ${CFLAGS} -DSHLIB" \
                    411:        GCC_FOR_TARGET="./xgcc -B./ -DSHLIB" \
                    412:        CFLAGS="${OPTIMIZE} ${CFLAGS} -DSHLIB" \
                    413:        BISON=${BISON} \
                    414:        GCC_CFLAGS="-traditional-cpp ${CFLAGS} -DSHLIB" \
                    415:        AR_FOR_TARGET=ar LIBGCC1=libgcc1.a \
                    416:        CC="cc -arch $host -traditional-cpp -DSHLIB"; \
                    417:        then echo '== ok'; else exit 1; fi
                    418: 
                    419:     mv -f libgcc.a libgcc_shlib.a
                    420:     mv -f libgcc1.a libgcc1_shlib.a
                    421:     mv -f libgcc2.a libgcc2_shlib.a
                    422: 
                    423:     for host in ${HOSTS}; do
                    424:       sym=$SYMROOT/$host
                    425: 
                    426:       mkdirs $sym/lib/$target
                    427:       install_newer specs    $sym/lib/$target/specs "-m 444"
                    428:       install_newer libgcc_static.a    $sym/lib/$target/libcc.a "-r -m 444"
                    429: 
                    430:     done
                    431: 
                    432:     libgcc=`pwd`/libgcc_shlib.a
                    433:     shlib=${OBJROOT}/shlib_${target}_obj
                    434:     (mkdirs $shlib; cd $shlib; ar x $libgcc)
                    435: 
                    436:   else
                    437: 
                    438:     ############################################################
                    439:     # copy specs /lib/$target...
                    440:     ############################################################
                    441: 
                    442:     if [ -d /lib/$target ]; then
                    443: 
                    444:        # get version of installed $target compiler
                    445: 
                    446:        cc -arch $target -v 2> /tmp/tmp.$$
                    447:        target_vers=`cat /tmp/tmp.$$            \
                    448:                 | grep 'version'       \
                    449:                 | sed 's/, gcc.*$//'   \
                    450:                 | sed 's/^.*version //'`
                    451:        rm /tmp/tmp.$$
                    452: 
                    453:        if [ X$target_vers != X$CCVERS ]; then
                    454:          echo "************************************************************";
                    455:          echo "** You must have the most resent version of the compiler    "
                    456:          echo "** (host=" `arch` " target=$target version=$CCVERS) installed"
                    457:          echo "** on the build host to finish this build...  "
                    458:          echo "** Currently, version $target_vers is installed "
                    459:          echo "************************************************************";
                    460:          exit 1; 
                    461:        fi
                    462: 
                    463:        echo "============================================================"
                    464:        echo "== Building runtime libraries, using installed compiler:"
                    465:        cc -arch $target -v
                    466:        echo "============================================================"
                    467: 
                    468:        rm -f specs
                    469:        cp /lib/$target/specs specs
                    470: 
                    471:        echo '== building static version'
                    472:        if [ -f libgcc_static.a ]; then mv -f libgcc_static.a libgcc.a; fi
                    473:        if [ -f libgcc1_static.a ]; then mv -f libgcc1_static.a libgcc1.a; fi
                    474:        if [ -f libgcc2_static.a ]; then mv -f libgcc2_static.a libgcc2.a; fi
                    475: 
                    476:         if make libgcc1.a libgcc.a \
                    477:           srcdir=${SRCROOT}/cc \
                    478:          LANGUAGES="${LANGUAGES}" \
                    479:          HOST_PREFIX="`arch`-" HOST_PREFIX_1="`arch`-" \
                    480:          HOST_CC="cc -arch `arch` -traditional-cpp" \
                    481:          OLDCC="cc -arch $target" \
                    482:          BISON=${BISON} \
                    483:          GCC_FOR_TARGET="cc -arch $target" \
                    484:          CFLAGS="${OPTIMIZE} ${CFLAGS}" \
                    485:          GCC_CFLAGS="-traditional-cpp" \
                    486:          AR_FOR_TARGET=ar LIBGCC1=libgcc1.a \
                    487:          CC="cc -arch $host -traditional-cpp"; \
                    488:          then echo '== ok'; else exit 1; fi
                    489: 
                    490:        mv -f libgcc.a libgcc_static.a
                    491:        mv -f libgcc1.a libgcc1_static.a
                    492:        mv -f libgcc2.a libgcc2_static.a
                    493:        echo '== building shlib version'
                    494:        if [ -f libgcc_shlib.a ]; then mv -f libgcc_shlib.a libgcc.a; fi
                    495:        if [ -f libgcc1_shlib.a ]; then mv -f libgcc1_shlib.a libgcc1.a; fi
                    496:        if [ -f libgcc2_shlib.a ]; then mv -f libgcc2_shlib.a libgcc2.a; fi
                    497: 
                    498:         if make libgcc1.a libgcc.a \
                    499:           srcdir=${SRCROOT}/cc \
                    500:          LANGUAGES="${LANGUAGES}" \
                    501:          HOST_PREFIX="`arch`-" HOST_PREFIX_1="`arch`-" \
                    502:          HOST_CC="cc -arch `arch` -traditional-cpp -DSHLIB" \
                    503:          OLDCC="cc -arch $target -DSHLIB" \
                    504:          BISON=${BISON} \
                    505:          GCC_FOR_TARGET="cc -arch $target -DSHLIB" \
                    506:          CFLAGS="${OPTIMIZE} ${CFLAGS} -DSHLIB" \
                    507:          GCC_CFLAGS="-traditional-cpp -DSHLIB" \
                    508:          AR_FOR_TARGET=ar LIBGCC1=libgcc1.a \
                    509:          CC="cc -arch $host -traditional-cpp -DSHLIB"; \
                    510:          then echo '== ok'; else exit 1; fi
                    511: 
                    512:        mv -f libgcc.a libgcc_shlib.a
                    513:        mv -f libgcc1.a libgcc1_shlib.a
                    514:        mv -f libgcc2.a libgcc2_shlib.a
                    515: 
                    516:         for host in ${HOSTS}; do
                    517:           sym=$SYMROOT/$host
                    518:           mkdirs $sym/lib/$target
                    519:           install_newer /lib/$target/specs $sym/lib/$target/specs "-m 444"
                    520:           install_newer /lib/$target/libgcc_static.a $sym/lib/$target/libcc.a "-r -m 444"
                    521:         done
                    522: 
                    523:         libgcc=`pwd`/libgcc_shlib.a
                    524:         shlib=${OBJROOT}/shlib_${target}_obj
                    525:         (mkdirs $shlib; cd $shlib; ar x $libgcc)
                    526: 
                    527: 
                    528:     else
                    529:        echo "************************************************************";
                    530:        echo "** You must have the most resent version of the compiler    "
                    531:        echo "** (host=" `arch` "; target=$target; version=$CCVERS) installed"
                    532:        echo "** on the build host to finish this build...  "
                    533:        echo "** Currently, no such compiler is installed "
                    534:        echo "************************************************************";
                    535:        exit 1; 
                    536:     fi; 
                    537:   fi
                    538: done
                    539: }
                    540: 
                    541: install_fat () {
                    542: 
                    543: echo "============================================================"
                    544: echo "== Building fat binaries [$HOSTS] fat for targets: $TARGETS"
                    545: echo "============================================================"
                    546: 
                    547: fat=$DSTROOT
                    548: sym=$SYMROOT
                    549: mkdirs $fat 
                    550: mkdirs $fat/bin 
                    551: mkdirs $fat/lib 
                    552: 
                    553: for target in ${TARGETS}; do 
                    554:   mkdirs $fat/lib/$target; 
                    555:   for file in  bin/cc \
                    556:                lib/$target/cpp \
                    557:                lib/$target/cc1obj \
                    558:                lib/$target/cc1objplus; do 
                    559:     thin_files="" 
                    560:     for host in ${HOSTS}; do 
                    561:       thin_files="$thin_files $sym/$host/$file" 
                    562:     done 
                    563:     rm -f $fat/$file 
                    564: 
                    565:     rm -f /tmp/make.$$
                    566:     touch -f /tmp/make.$$
                    567:     echo "$fat/$file: $thin_files"                             >> /tmp/make.$$
                    568:     echo "     /bin/rm -f $fat/$file"                          >> /tmp/make.$$
                    569:     echo "     lipo -create -output $fat/$file $thin_files"    >> /tmp/make.$$
                    570:     echo "     strip $fat/$file"                               >> /tmp/make.$$
                    571:     echo "     chmod 555 $fat/$file"                           >> /tmp/make.$$
                    572:     safe_exec make -f /tmp/make.$$    
                    573:     rm -f /tmp/make.$$
                    574:   done 
                    575: 
                    576:   install_newer $sym/$host/lib/$target/specs $fat/lib/$target/specs "-m 444"
                    577:   install_newer $sym/$host/lib/$target/libcc.a $fat/lib/$target/libcc.a "-r -m 444"
                    578: done; 
                    579: 
                    580: }
                    581: 
                    582: if [ X$result = Xclean ]; then
                    583:   clean_gcc
                    584:   exit 0
                    585: fi
                    586: 
                    587: configure_gcc 
                    588: 
                    589: if [ X$result = Xconfigure ]; then
                    590:   exit 0
                    591: fi
                    592: 
                    593: build_compiler
                    594: build_libgcc
                    595: 
                    596: if [ $result = thins ]; then
                    597:   exit 0;
                    598: fi
                    599: 
                    600: install_fat
                    601: 
                    602: 
                    603: 
                    604: 
                    605: 
                    606: 

unix.superglobalmegacorp.com

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