Annotation of GNUtools/build_gcc, revision 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.