Annotation of elwix/build_cross.sh, revision 1.1.1.1.2.6

1.1       misho       1: #!/bin/sh
                      2: #
                      3: # ELWIX build script for cross
                      4: #
                      5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
                      6: #    by Michael Pounov <misho@elwix.org>
                      7: #
1.1.1.1.2.6! misho       8: # $Id: build_cross.sh,v 1.1.1.1.2.5 2011/07/20 08:25:52 misho Exp $
1.1       misho       9: #
                     10: 
                     11: [ -r ./config/rc.elwix ] && . ./config/rc.elwix
                     12: if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
                     13:        echo
                     14:        echo "ELWIX project is not configured !?!"
                     15:        echo
                     16:        exit 1
                     17: fi
                     18: 
                     19: if [ ! -d $BSDSRC ]; then
                     20:        echo
                     21:        echo "ELWIX project is not configured - missing BSD sources !?!"
                     22:        echo
                     23:        exit 1
                     24: fi
                     25: 
                     26: if [ ! -d $DEST ]; then
                     27:        echo
                     28:        echo "ELWIX project is not configured - missing Dest directory !?!"
                     29:        echo
                     30:        exit 1
                     31: fi
                     32: 
                     33: clean_cross()
                     34: {
                     35:        echo "+++ Clean ELWIX Cross script ..."
1.1.1.1.2.1  misho      36:        rm -f ${CBUILD}
                     37: 
                     38:        rm -rf ${PKG}
                     39:        install -d ${PKG}
                     40:        install -d ${PKG}/bin
                     41:        install -d ${PKG}/etc
                     42:        install -d ${PKG}/include
                     43:        install -d ${PKG}/man
                     44:        install -d ${PKG}/lib
                     45:        install -d ${PKG}/libexec
                     46:        install -d ${PKG}/sbin
1.1       misho      47: }
                     48: 
                     49: build_cross()
                     50: {
                     51:        echo "+++ Build ELWIX Cross script ..."
                     52:        cd $BSDSRC
1.1.1.1.2.1  misho      53:        cat >${CBUILD} <<_EOF
1.1       misho      54: #!/bin/sh
                     55: #
                     56: # Create auto cross build env script
                     57: #
                     58: _EOF
                     59:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                     60:                buildenvvars >> ${DEST}/cross_build.sh
                     61:        cd -
1.1.1.1.2.2  misho      62:        cp ${CBUILD} ${CGBUILD}
1.1.1.1.2.1  misho      63:        cat >>${CBUILD} <<_EOF
1.1.1.1.2.5  misho      64: PATH=$PATH:/usr/local/bin:/usr/local/sbin
1.1.1.1.2.4  misho      65: make \$*
1.1       misho      66: _EOF
1.1.1.1.2.2  misho      67:        cat >>${CGBUILD} <<_EOF
1.1.1.1.2.5  misho      68: PATH=$PATH:/usr/local/bin:/usr/local/sbin
1.1.1.1.2.4  misho      69: /usr/local/bin/gmake \$*
1.1.1.1.2.2  misho      70: _EOF
1.1       misho      71: 
1.1.1.1.2.3  misho      72:        chmod +x ${CBUILD} ${CGBUILD}
                     73:        echo "Done."
1.1       misho      74: }
                     75: 
1.1.1.1.2.6! misho      76: compile_fbsdtools()
        !            77: {
        !            78:        echo "+++ Compile ELWIX Cross FreeBSD tools ..."
        !            79: 
        !            80:        rm -rf ${WORLD}/usr/local
        !            81:        install -d ${WORLD}/usr/local
        !            82:        install -d ${WORLD}/usr/local/bin
        !            83:        install -d ${WORLD}/usr/local/sbin
        !            84: 
        !            85:        cd $CROSS_FT_ATH
        !            86:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !            87:                clean DESTDIR=${WORLD}
        !            88:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !            89:                DESTDIR=${WORLD}
        !            90:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !            91:                install DESTDIR=${WORLD}
        !            92:        cd -
        !            93: 
        !            94:        cd $CROSS_FT_IPW
        !            95:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !            96:                clean DESTDIR=${WORLD}
        !            97:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !            98:                DESTDIR=${WORLD}
        !            99:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           100:                install DESTDIR=${WORLD}/usr/local/bin
        !           101:        cd -
        !           102: 
        !           103:        cd $CROSS_FT_IWI
        !           104:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           105:                clean DESTDIR=${WORLD}
        !           106:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           107:                DESTDIR=${WORLD}
        !           108:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           109:                install DESTDIR=${WORLD}/usr/local/bin
        !           110:        cd -
        !           111: 
        !           112:        cd $CROSS_FT_MWL
        !           113:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           114:                clean DESTDIR=${WORLD}
        !           115:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           116:                DESTDIR=${WORLD}
        !           117:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           118:                install DESTDIR=${WORLD}
        !           119:        cd -
        !           120: 
        !           121:        cd $CROSS_FT_NET80211
        !           122:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           123:                clean DESTDIR=${WORLD}
        !           124:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           125:                DESTDIR=${WORLD}
        !           126:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           127:                install DESTDIR=${WORLD}
        !           128:        cd -
        !           129: 
        !           130:        cd $CROSS_FT_VIMAGE
        !           131:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           132:                clean DESTDIR=${WORLD}
        !           133:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           134:                DESTDIR=${WORLD}
        !           135:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           136:                install DESTDIR=${WORLD}
        !           137:        cd -
        !           138: 
        !           139:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix0.ver
        !           140: }
        !           141: 
1.1       misho     142: compile_cross()
                    143: {
                    144:        echo "+++ Compile ELWIX Cross ..."
                    145:        cd $CROSS_AXL
                    146:        ${AXL_CFG}
1.1.1.1.2.1  misho     147:        ${CBUILD} clean
                    148:        ${CBUILD}
                    149:        ${CBUILD} install
1.1       misho     150:        cd -
                    151: 
                    152:        cd $CROSS_AITIO
                    153:        ${AITIO_CFG}
1.1.1.1.2.1  misho     154:        ${CBUILD} clean
                    155:        ${CBUILD}
                    156:        ${CBUILD} install
1.1       misho     157:        cd -
                    158: 
                    159:        cd $CROSS_AITCRC
                    160:        ${AITCRC_CFG}
1.1.1.1.2.1  misho     161:        ${CBUILD} clean
                    162:        ${CBUILD}
                    163:        ${CBUILD} install
1.1       misho     164:        cd -
                    165: 
                    166:        cd $CROSS_AITCFG
                    167:        ${AITCFG_CFG}
1.1.1.1.2.1  misho     168:        ${CBUILD} clean
                    169:        ${CBUILD}
                    170:        ${CBUILD} install
1.1       misho     171:        cd -
                    172: 
                    173:        cd $CROSS_AITSESS
                    174:        ${AITSESS_CFG}
1.1.1.1.2.1  misho     175:        ${CBUILD} clean
                    176:        ${CBUILD}
                    177:        ${CBUILD} install
1.1       misho     178:        cd -
                    179: 
                    180:        cd $CROSS_AITRPC
                    181:        ${AITRPC_CFG}
1.1.1.1.2.1  misho     182:        ${CBUILD} clean
                    183:        ${CBUILD}
                    184:        ${CBUILD} install
1.1       misho     185:        cd -
                    186: 
                    187:        cd $CROSS_AITPELCO
                    188:        ${AITPELCO_CFG}
1.1.1.1.2.1  misho     189:        ${CBUILD} clean
                    190:        ${CBUILD}
                    191:        ${CBUILD} install
1.1       misho     192:        cd -
                    193: 
                    194:        cd $CROSS_AITPWD
                    195:        ${AITPWD_CFG}
1.1.1.1.2.1  misho     196:        ${CBUILD} clean
                    197:        ${CBUILD}
                    198:        ${CBUILD} install
1.1       misho     199:        cd -
                    200: 
                    201:        cd $CROSS_AITSYNC
                    202:        ${AITSYNC_CFG}
1.1.1.1.2.1  misho     203:        ${CBUILD} clean
                    204:        ${CBUILD}
                    205:        ${CBUILD} install
1.1       misho     206:        cd -
                    207: 
                    208:        cd $CROSS_AITCLI
                    209:        ${AITCLI_CFG}
1.1.1.1.2.1  misho     210:        ${CBUILD} clean
                    211:        ${CBUILD}
                    212:        ${CBUILD} install
                    213:        cd -
                    214: 
                    215:        cd $CROSS_EMBEDTOOLS
                    216:        ${EMBEDTOOLS_CFG}
                    217:        ${CBUILD} clean
                    218:        ${CBUILD}
                    219:        ${CBUILD} install
1.1       misho     220:        cd -
1.1.1.1.2.1  misho     221: 
                    222:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver
1.1       misho     223: }
                    224: 
                    225: compile_3th()
                    226: {
                    227:        echo "+++ Compile ELWIX 3th party ..."
1.1.1.1.2.1  misho     228: 
1.1.1.1.2.2  misho     229:        cd $CROSS_3TH
1.1.1.1.2.6! misho     230:        ./build.sh expat ${CBUILD} ${PKG}
        !           231:        [ $? -ne 0 ] && exit 1
        !           232:        ./build.sh libevent ${CBUILD} ${PKG}
        !           233:        [ $? -ne 0 ] && exit 1
        !           234:        ./build.sh lzo ${CBUILD} ${PKG}
        !           235:        [ $? -ne 0 ] && exit 1
        !           236:        ./build.sh libiconv ${CGBUILD} ${PKG}
        !           237:        [ $? -ne 0 ] && exit 1
        !           238:        ./build.sh libgcrypt ${CGBUILD} ${PKG}
        !           239:        [ $? -ne 0 ] && exit 1
        !           240:        ./build.sh curl ${CBUILD} ${PKG}
        !           241:        [ $? -ne 0 ] && exit 1
        !           242:        ./build.sh pcre ${CBUILD} ${PKG}
        !           243:        [ $? -ne 0 ] && exit 1
        !           244:        ./build.sh mini_sendmail ${CBUILD} ${PKG}
        !           245:        [ $? -ne 0 ] && exit 1
        !           246:        ./build.sh choparp ${CBUILD} ${PKG}
        !           247:        [ $? -ne 0 ] && exit 1
        !           248:        ./build.sh scan_ffs ${CBUILD} ${PKG}
        !           249:        [ $? -ne 0 ] && exit 1
        !           250:        ./build.sh pciutils ${CGBUILD} ${PKG}
        !           251:        [ $? -ne 0 ] && exit 1
        !           252:        ./build.sh rsync ${CBUILD} ${PKG}
        !           253:        [ $? -ne 0 ] && exit 1
        !           254:        ./build.sh ttcp ${CBUILD} ${PKG}
        !           255:        [ $? -ne 0 ] && exit 1
        !           256:        ./build.sh ifstated ${CBUILD} ${PKG}
        !           257:        [ $? -ne 0 ] && exit 1
        !           258:        ./build.sh mpd ${CBUILD} ${PKG}
        !           259:        [ $? -ne 0 ] && exit 1
        !           260:        ./build.sh mrouted ${CBUILD} ${PKG}
        !           261:        [ $? -ne 0 ] && exit 1
        !           262:        ./build.sh igmpproxy ${CBUILD} ${PKG}
        !           263:        [ $? -ne 0 ] && exit 1
        !           264:        ./build.sh sudo ${CBUILD} ${PKG}
        !           265:        [ $? -ne 0 ] && exit 1
        !           266:        ./build.sh pwgen ${CGBUILD} ${PKG}
        !           267:        [ $? -ne 0 ] && exit 1
        !           268:        ./build.sh ladvd ${CBUILD} ${PKG}
        !           269:        [ $? -ne 0 ] && exit 1
        !           270:        ./build.sh bmon ${CGBUILD} ${PKG}
        !           271:        [ $? -ne 0 ] && exit 1
        !           272:        ./build.sh mtr ${CBUILD} ${PKG}
        !           273:        [ $? -ne 0 ] && exit 1
        !           274:        ./build.sh ipguard ${CBUILD} ${PKG}
        !           275:        [ $? -ne 0 ] && exit 1
        !           276:        ./build.sh ishell ${CBUILD} ${PKG}
        !           277:        [ $? -ne 0 ] && exit 1
        !           278:        ./build.sh miniupnpd ${CBUILD} ${PKG}
        !           279:        [ $? -ne 0 ] && exit 1
        !           280:        ./build.sh miniupnpc ${CGBUILD} ${PKG}
        !           281:        [ $? -ne 0 ] && exit 1
        !           282:        ./build.sh iperf ${CBUILD} ${PKG}
        !           283:        [ $? -ne 0 ] && exit 1
        !           284:        ./build.sh strobe ${CBUILD} ${PKG}
        !           285:        [ $? -ne 0 ] && exit 1
        !           286:        ./build.sh smartmontools ${CBUILD} ${PKG}
        !           287:        [ $? -ne 0 ] && exit 1
        !           288:        ./build.sh conserver ${CBUILD} ${PKG}
        !           289:        [ $? -ne 0 ] && exit 1
        !           290:        ./build.sh sqlite3 ${CBUILD} ${PKG}
        !           291:        [ $? -ne 0 ] && exit 1
        !           292:        ./build.sh openvpn ${CBUILD} ${PKG}
        !           293:        [ $? -ne 0 ] && exit 1
        !           294:        ./build.sh quagga ${CBUILD} ${PKG}
        !           295:        [ $? -ne 0 ] && exit 1
        !           296:        ./build.sh coova-chilli ${CBUILD} ${PKG}
        !           297:        [ $? -ne 0 ] && exit 1
        !           298:        ./build.sh ntpd ${CBUILD} ${PKG}
        !           299:        [ $? -ne 0 ] && exit 1
1.1.1.1.2.5  misho     300:        ./build.sh iftop ${CBUILD} ${PKG}
1.1.1.1.2.6! misho     301:        [ $? -ne 0 ] && exit 1
        !           302:        ./build.sh arping ${CBUILD} ${PKG}
        !           303:        [ $? -ne 0 ] && exit 1
        !           304:        ./build.sh hping2 ${CGBUILD} ${PKG}
        !           305:        [ $? -ne 0 ] && exit 1
        !           306:        ./build.sh trafshow ${CBUILD} ${PKG}
        !           307:        [ $? -ne 0 ] && exit 1
        !           308:        ./build.sh ipsec-tools ${CBUILD} ${PKG}
        !           309:        [ $? -ne 0 ] && exit 1
        !           310:        ./build.sh dhcp ${CBUILD} ${PKG}
        !           311:        [ $? -ne 0 ] && exit 1
        !           312:        ./build.sh dhcping ${CBUILD} ${PKG}
        !           313:        [ $? -ne 0 ] && exit 1
        !           314:        ./build.sh dhcdrop ${CBUILD} ${PKG}
        !           315:        [ $? -ne 0 ] && exit 1
        !           316:        ./build.sh pure-ftpd ${CBUILD} ${PKG}
        !           317:        [ $? -ne 0 ] && exit 1
        !           318:        ./build.sh spawn-fcgi ${CBUILD} ${PKG}
        !           319:        [ $? -ne 0 ] && exit 1
        !           320:        ./build.sh lighttpd ${CBUILD} ${PKG}
        !           321:        [ $? -ne 0 ] && exit 1
        !           322:        ./build.sh php ${CBUILD} ${PKG}
        !           323:        [ $? -ne 0 ] && exit 1
1.1.1.1.2.2  misho     324:        cd -
                    325: 
1.1.1.1.2.6! misho     326:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix1.ver
1.1       misho     327: }
                    328: 
                    329: ### main()
1.1.1.1.2.6! misho     330: if ! SnitVer ${PKG}/elwix0.ver; then
        !           331:        compile_fbsdtools
        !           332: else
        !           333:        echo "Skipped ELWIX Cross FreeBSD tools build ..."
        !           334: fi
        !           335: 
1.1.1.1.2.1  misho     336: if ! SnitVer ${PKG}/elwix.ver; then
1.1       misho     337:        clean_cross
                    338:        build_cross
                    339:        compile_cross
                    340: else
                    341:        echo "Skipped ELWIX Cross build ..."
                    342: fi
                    343: 
1.1.1.1.2.1  misho     344: if ! SnitVer ${PKG}/elwix1.ver; then
                    345:        compile_3th
1.1.1.1.2.6! misho     346: else
        !           347:        echo "Skipped ELWIX Cross 3th party build ..."
1.1.1.1.2.1  misho     348: fi
1.1       misho     349: 
                    350: echo "+++ Complete build ELWIX Cross"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>