Annotation of elwix/build_cross.sh, revision 1.1.1.1.2.11

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.11! misho       8: # $Id: build_cross.sh,v 1.1.1.1.2.10 2011/09/25 16:40:54 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
1.1.1.1.2.7  misho      84:        install -d ${WORLD}/usr/local/lib
                     85:        install -d ${WORLD}/usr/local/libdata
1.1.1.1.2.6  misho      86: 
                     87:        cd $CROSS_FT_ATH
                     88:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                     89:                clean DESTDIR=${WORLD}
                     90:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                     91:                DESTDIR=${WORLD}
                     92:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                     93:                install DESTDIR=${WORLD}
                     94:        cd -
                     95: 
                     96:        cd $CROSS_FT_IPW
                     97:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                     98:                clean DESTDIR=${WORLD}
                     99:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    100:                DESTDIR=${WORLD}
                    101:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    102:                install DESTDIR=${WORLD}/usr/local/bin
                    103:        cd -
                    104: 
                    105:        cd $CROSS_FT_IWI
                    106:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    107:                clean DESTDIR=${WORLD}
                    108:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    109:                DESTDIR=${WORLD}
                    110:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    111:                install DESTDIR=${WORLD}/usr/local/bin
                    112:        cd -
                    113: 
                    114:        cd $CROSS_FT_MWL
                    115:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    116:                clean DESTDIR=${WORLD}
                    117:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    118:                DESTDIR=${WORLD}
                    119:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    120:                install DESTDIR=${WORLD}
                    121:        cd -
                    122: 
                    123:        cd $CROSS_FT_NET80211
                    124:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    125:                clean DESTDIR=${WORLD}
                    126:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    127:                DESTDIR=${WORLD}
                    128:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    129:                install DESTDIR=${WORLD}
                    130:        cd -
                    131: 
                    132:        cd $CROSS_FT_VIMAGE
                    133:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    134:                clean DESTDIR=${WORLD}
                    135:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    136:                DESTDIR=${WORLD}
                    137:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    138:                install DESTDIR=${WORLD}
                    139:        cd -
                    140: 
                    141:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix0.ver
                    142: }
                    143: 
1.1       misho     144: compile_cross()
                    145: {
                    146:        echo "+++ Compile ELWIX Cross ..."
                    147:        cd $CROSS_AXL
                    148:        ${AXL_CFG}
1.1.1.1.2.1  misho     149:        ${CBUILD} clean
                    150:        ${CBUILD}
                    151:        ${CBUILD} install
1.1       misho     152:        cd -
                    153: 
                    154:        cd $CROSS_AITIO
                    155:        ${AITIO_CFG}
1.1.1.1.2.1  misho     156:        ${CBUILD} clean
                    157:        ${CBUILD}
                    158:        ${CBUILD} install
1.1       misho     159:        cd -
                    160: 
                    161:        cd $CROSS_AITCRC
                    162:        ${AITCRC_CFG}
1.1.1.1.2.1  misho     163:        ${CBUILD} clean
                    164:        ${CBUILD}
                    165:        ${CBUILD} install
1.1       misho     166:        cd -
                    167: 
                    168:        cd $CROSS_AITCFG
                    169:        ${AITCFG_CFG}
1.1.1.1.2.1  misho     170:        ${CBUILD} clean
                    171:        ${CBUILD}
                    172:        ${CBUILD} install
1.1       misho     173:        cd -
                    174: 
                    175:        cd $CROSS_AITSESS
                    176:        ${AITSESS_CFG}
1.1.1.1.2.1  misho     177:        ${CBUILD} clean
                    178:        ${CBUILD}
                    179:        ${CBUILD} install
1.1       misho     180:        cd -
                    181: 
                    182:        cd $CROSS_AITRPC
                    183:        ${AITRPC_CFG}
1.1.1.1.2.1  misho     184:        ${CBUILD} clean
                    185:        ${CBUILD}
                    186:        ${CBUILD} install
1.1       misho     187:        cd -
                    188: 
1.1.1.1.2.9  misho     189:        cd $CROSS_AITSCHED
                    190:        ${AITSCHED_CFG}
                    191:        ${CBUILD} clean
                    192:        ${CBUILD}
                    193:        ${CBUILD} install
                    194:        cd -
                    195: 
1.1       misho     196:        cd $CROSS_AITPELCO
                    197:        ${AITPELCO_CFG}
1.1.1.1.2.1  misho     198:        ${CBUILD} clean
                    199:        ${CBUILD}
                    200:        ${CBUILD} install
1.1       misho     201:        cd -
                    202: 
                    203:        cd $CROSS_AITPWD
                    204:        ${AITPWD_CFG}
1.1.1.1.2.1  misho     205:        ${CBUILD} clean
                    206:        ${CBUILD}
                    207:        ${CBUILD} install
1.1       misho     208:        cd -
                    209: 
                    210:        cd $CROSS_AITSYNC
                    211:        ${AITSYNC_CFG}
1.1.1.1.2.1  misho     212:        ${CBUILD} clean
                    213:        ${CBUILD}
                    214:        ${CBUILD} install
1.1       misho     215:        cd -
                    216: 
                    217:        cd $CROSS_AITCLI
                    218:        ${AITCLI_CFG}
1.1.1.1.2.1  misho     219:        ${CBUILD} clean
                    220:        ${CBUILD}
                    221:        ${CBUILD} install
                    222:        cd -
                    223: 
                    224:        cd $CROSS_EMBEDTOOLS
                    225:        ${EMBEDTOOLS_CFG}
                    226:        ${CBUILD} clean
                    227:        ${CBUILD}
                    228:        ${CBUILD} install
1.1       misho     229:        cd -
1.1.1.1.2.1  misho     230: 
1.1.1.1.2.11! misho     231:        cd $CROSS_ANSH
        !           232:        ${ANSH_CFG}
        !           233:        ${CBUILD} clean
        !           234:        ${CBUILD}
        !           235:        ${CBUILD} install
        !           236:        cd -
        !           237: 
1.1.1.1.2.1  misho     238:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver
1.1       misho     239: }
                    240: 
                    241: compile_3th()
                    242: {
                    243:        echo "+++ Compile ELWIX 3th party ..."
1.1.1.1.2.1  misho     244: 
1.1.1.1.2.2  misho     245:        cd $CROSS_3TH
1.1.1.1.2.10  misho     246:        ./build.sh expat ${CBUILD} ${PKG}
                    247:        [ $? -ne 0 ] && exit 1
1.1.1.1.2.6  misho     248:        ./build.sh libevent ${CBUILD} ${PKG}
                    249:        [ $? -ne 0 ] && exit 1
                    250:        ./build.sh lzo ${CBUILD} ${PKG}
                    251:        [ $? -ne 0 ] && exit 1
                    252:        ./build.sh libiconv ${CGBUILD} ${PKG}
                    253:        [ $? -ne 0 ] && exit 1
                    254:        ./build.sh pcre ${CBUILD} ${PKG}
                    255:        [ $? -ne 0 ] && exit 1
                    256:        ./build.sh mini_sendmail ${CBUILD} ${PKG}
                    257:        [ $? -ne 0 ] && exit 1
                    258:        ./build.sh choparp ${CBUILD} ${PKG}
                    259:        [ $? -ne 0 ] && exit 1
                    260:        ./build.sh scan_ffs ${CBUILD} ${PKG}
                    261:        [ $? -ne 0 ] && exit 1
                    262:        ./build.sh pciutils ${CGBUILD} ${PKG}
                    263:        [ $? -ne 0 ] && exit 1
                    264:        ./build.sh rsync ${CBUILD} ${PKG}
                    265:        [ $? -ne 0 ] && exit 1
                    266:        ./build.sh ttcp ${CBUILD} ${PKG}
                    267:        [ $? -ne 0 ] && exit 1
                    268:        ./build.sh ifstated ${CBUILD} ${PKG}
                    269:        [ $? -ne 0 ] && exit 1
                    270:        ./build.sh mpd ${CBUILD} ${PKG}
                    271:        [ $? -ne 0 ] && exit 1
                    272:        ./build.sh mrouted ${CBUILD} ${PKG}
                    273:        [ $? -ne 0 ] && exit 1
                    274:        ./build.sh igmpproxy ${CBUILD} ${PKG}
                    275:        [ $? -ne 0 ] && exit 1
                    276:        ./build.sh sudo ${CBUILD} ${PKG}
                    277:        [ $? -ne 0 ] && exit 1
                    278:        ./build.sh pwgen ${CGBUILD} ${PKG}
                    279:        [ $? -ne 0 ] && exit 1
                    280:        ./build.sh ladvd ${CBUILD} ${PKG}
                    281:        [ $? -ne 0 ] && exit 1
                    282:        ./build.sh bmon ${CGBUILD} ${PKG}
                    283:        [ $? -ne 0 ] && exit 1
                    284:        ./build.sh mtr ${CBUILD} ${PKG}
                    285:        [ $? -ne 0 ] && exit 1
                    286:        ./build.sh ipguard ${CBUILD} ${PKG}
                    287:        [ $? -ne 0 ] && exit 1
                    288:        ./build.sh ishell ${CBUILD} ${PKG}
                    289:        [ $? -ne 0 ] && exit 1
                    290:        ./build.sh miniupnpd ${CBUILD} ${PKG}
                    291:        [ $? -ne 0 ] && exit 1
                    292:        ./build.sh miniupnpc ${CGBUILD} ${PKG}
                    293:        [ $? -ne 0 ] && exit 1
                    294:        ./build.sh iperf ${CBUILD} ${PKG}
                    295:        [ $? -ne 0 ] && exit 1
                    296:        ./build.sh strobe ${CBUILD} ${PKG}
                    297:        [ $? -ne 0 ] && exit 1
                    298:        ./build.sh smartmontools ${CBUILD} ${PKG}
                    299:        [ $? -ne 0 ] && exit 1
                    300:        ./build.sh conserver ${CBUILD} ${PKG}
                    301:        [ $? -ne 0 ] && exit 1
                    302:        ./build.sh sqlite3 ${CBUILD} ${PKG}
                    303:        [ $? -ne 0 ] && exit 1
                    304:        ./build.sh openvpn ${CBUILD} ${PKG}
                    305:        [ $? -ne 0 ] && exit 1
                    306:        ./build.sh quagga ${CBUILD} ${PKG}
                    307:        [ $? -ne 0 ] && exit 1
                    308:        ./build.sh coova-chilli ${CBUILD} ${PKG}
                    309:        [ $? -ne 0 ] && exit 1
                    310:        ./build.sh ntpd ${CBUILD} ${PKG}
                    311:        [ $? -ne 0 ] && exit 1
1.1.1.1.2.5  misho     312:        ./build.sh iftop ${CBUILD} ${PKG}
1.1.1.1.2.6  misho     313:        [ $? -ne 0 ] && exit 1
                    314:        ./build.sh arping ${CBUILD} ${PKG}
                    315:        [ $? -ne 0 ] && exit 1
1.1.1.1.2.8  misho     316:        ./build.sh hping ${CGBUILD} ${PKG}
1.1.1.1.2.6  misho     317:        [ $? -ne 0 ] && exit 1
                    318:        ./build.sh trafshow ${CBUILD} ${PKG}
                    319:        [ $? -ne 0 ] && exit 1
                    320:        ./build.sh ipsec-tools ${CBUILD} ${PKG}
                    321:        [ $? -ne 0 ] && exit 1
                    322:        ./build.sh dhcp ${CBUILD} ${PKG}
                    323:        [ $? -ne 0 ] && exit 1
                    324:        ./build.sh dhcping ${CBUILD} ${PKG}
                    325:        [ $? -ne 0 ] && exit 1
                    326:        ./build.sh dhcdrop ${CBUILD} ${PKG}
                    327:        [ $? -ne 0 ] && exit 1
                    328:        ./build.sh spawn-fcgi ${CBUILD} ${PKG}
                    329:        [ $? -ne 0 ] && exit 1
                    330:        ./build.sh lighttpd ${CBUILD} ${PKG}
                    331:        [ $? -ne 0 ] && exit 1
                    332:        ./build.sh php ${CBUILD} ${PKG}
                    333:        [ $? -ne 0 ] && exit 1
1.1.1.1.2.2  misho     334:        cd -
                    335: 
1.1.1.1.2.6  misho     336:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix1.ver
1.1       misho     337: }
                    338: 
                    339: ### main()
1.1.1.1.2.6  misho     340: if ! SnitVer ${PKG}/elwix0.ver; then
                    341:        compile_fbsdtools
                    342: else
                    343:        echo "Skipped ELWIX Cross FreeBSD tools build ..."
                    344: fi
                    345: 
1.1.1.1.2.1  misho     346: if ! SnitVer ${PKG}/elwix.ver; then
1.1       misho     347:        clean_cross
                    348:        build_cross
                    349:        compile_cross
                    350: else
                    351:        echo "Skipped ELWIX Cross build ..."
                    352: fi
                    353: 
1.1.1.1.2.1  misho     354: if ! SnitVer ${PKG}/elwix1.ver; then
                    355:        compile_3th
1.1.1.1.2.6  misho     356: else
                    357:        echo "Skipped ELWIX Cross 3th party build ..."
1.1.1.1.2.1  misho     358: fi
1.1       misho     359: 
                    360: echo "+++ Complete build ELWIX Cross"

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