Annotation of elwix/build_cross.sh, revision 1.3.2.1

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

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