Annotation of elwix/build_tools.sh, revision 1.1.2.9

1.1.2.1   misho       1: #!/bin/sh
                      2: #
1.1.2.9 ! misho       3: # ELWIX build script for tools
1.1.2.1   misho       4: #
                      5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
                      6: #    by Michael Pounov <misho@elwix.org>
                      7: #
1.1.2.9 ! misho       8: # $Id: build_tools.sh,v 1.1.2.8 2012/04/08 22:07:21 misho Exp $
1.1.2.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
1.1.2.5   misho      18: V=${VERSION}
1.1.2.4   misho      19: [ -r ${CENV} ] && . ${CENV}
1.1.2.5   misho      20: unset INSTALL
                     21: unset VERSION
                     22: VERSION="$V"
1.1.2.1   misho      23: 
                     24: if [ ! -d $BSDSRC ]; then
                     25:        echo
                     26:        echo "ELWIX project is not configured - missing BSD sources !?!"
                     27:        echo
                     28:        exit 1
                     29: fi
                     30: 
                     31: if [ ! -d $DEST ]; then
                     32:        echo
                     33:        echo "ELWIX project is not configured - missing Dest directory !?!"
                     34:        echo
                     35:        exit 1
                     36: fi
                     37: 
                     38: clean_tools()
                     39: {
                     40:        echo "+++ Clean ELWIX FreeBSD tools ..."
                     41: 
                     42:        rm -rf ${WORLD}/usr/local
                     43:        install -d ${WORLD}/usr/local
                     44:        install -d ${WORLD}/usr/local/bin
                     45:        install -d ${WORLD}/usr/local/include
                     46:        install -d ${WORLD}/usr/local/lib
                     47:        install -d ${WORLD}/usr/local/libdata
                     48:        install -d ${WORLD}/usr/local/sbin
                     49: 
                     50: }
                     51: 
1.1.2.4   misho      52: clean_bootstrap()
                     53: {
                     54:        echo "+++ Clean ELWIX pkgsrc bootstrap tools ..."
                     55: 
                     56:        rm -rf ${WORLD}/usr/pkgsrc/bootstrap/work
                     57:        rm -f /elwix ${WORLD}/usr/pkgsrc
                     58:        rm -rf ${WORLD}/elwix
                     59:        install -d ${WORLD}/elwix
                     60:        ln -sf ${WORLD}/elwix /elwix
                     61:        ln -sf ${PKGSRC} ${WORLD}/usr/pkgsrc
                     62: 
                     63:        install -d ${PKGDIR}
                     64:        install -d ${PKGDIR}/db
1.1.2.7   misho      65:        install -d ${PKGDIR}/etc
1.1.2.4   misho      66: }
                     67: 
                     68: compile_bootstrap()
                     69: {
                     70:        echo "+++ Compile ELWIX pkgsrc bootstrap tools ..."
                     71:        if [ ! -d ${WORLD}/usr/pkgsrc/bootstrap/work ]; then
                     72:                cd ${WORLD}/usr/pkgsrc/bootstrap
                     73:                ./bootstrap --prefix /elwix/pkg --pkgdbdir /elwix/pkg/db
                     74:                cd -
                     75:        else
                     76:                echo " Skip bootstrap pkgsrc - already inited pkgsrc"
                     77:        fi
                     78: 
1.1.2.7   misho      79:        cat >>/elwix/pkg/etc/mk.conf << _EOF
                     80: 
                     81: .if defined(USE_CROSS_COMPILE) && !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
                     82: USE_DESTDIR=           yes
                     83: DEPENDS_TARGET=                package-install
                     84: 
                     85: TOOLDIR=                ${CROSSTOOLDIR}
                     86: CROSS_DESTDIR=         ${WORLD}
                     87: 
                     88: TARGET=                        ${TARGET}
                     89: TARGET_ARCH=           ${TARGET_ARCH}
                     90: MACHINE_PLATFORM=      FreeBSD-${PLATFORM}-${TARGET_ARCH}
                     91: MACHINE_GNU_PLATFORM=  ${TARGET_ARCH}-elwix-freebsd
                     92: 
                     93: PKGSRC_COMPILER=       gcc
                     94: USE_PKGSRC_GCC=                no
                     95: USE_NATIVE_GCC=                yes
                     96: 
                     97: .endif                 # end cross-compilation settings
                     98: _EOF
                     99: 
1.1.2.4   misho     100:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/elwix/elwix.ver
                    101: }
                    102: 
1.1.2.1   misho     103: compile_fbsdtools()
                    104: {
                    105:        echo "+++ Compile ELWIX FreeBSD tools ..."
                    106: 
                    107:        cd $CROSS_FT_ATH
                    108:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    109:                clean DESTDIR=${WORLD}
                    110:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    111:                DESTDIR=${WORLD}
                    112:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    113:                install DESTDIR=${WORLD}
                    114:        cd -
                    115: 
                    116:        cd $CROSS_FT_IPW
                    117:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    118:                clean DESTDIR=${WORLD}
                    119:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    120:                DESTDIR=${WORLD}
                    121:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    122:                install DESTDIR=${WORLD}/usr/local/bin
                    123:        cd -
                    124: 
                    125:        cd $CROSS_FT_IWI
                    126:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    127:                clean DESTDIR=${WORLD}
                    128:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    129:                DESTDIR=${WORLD}
                    130:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    131:                install DESTDIR=${WORLD}/usr/local/bin
                    132:        cd -
                    133: 
                    134:        cd $CROSS_FT_MWL
                    135:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    136:                clean DESTDIR=${WORLD}
                    137:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    138:                DESTDIR=${WORLD}
                    139:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    140:                install DESTDIR=${WORLD}
                    141:        cd -
                    142: 
                    143:        cd $CROSS_FT_NET80211
                    144:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    145:                clean DESTDIR=${WORLD}
                    146:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    147:                DESTDIR=${WORLD}
                    148:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    149:                install DESTDIR=${WORLD}
                    150:        cd -
                    151: 
                    152:        cd $CROSS_FT_VIMAGE
                    153:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    154:                clean DESTDIR=${WORLD}
                    155:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    156:                DESTDIR=${WORLD}
                    157:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    158:                install DESTDIR=${WORLD}
                    159:        cd -
                    160: 
                    161: #      cd $CROSS_FT_WTAP
                    162: #      env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    163: #              clean DESTDIR=${WORLD}
                    164: #      env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    165: #              DESTDIR=${WORLD}
                    166: #      env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    167: #              install DESTDIR=${WORLD}
                    168: #      cd -
                    169: }
                    170: 
1.1.2.8   misho     171: compile_files()
                    172: {
                    173:        cd files
                    174:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    175:                clean DESTDIR=${WORLD}
                    176:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    177:                DESTDIR=${WORLD}
                    178:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                    179:                install DESTDIR=${WORLD}
                    180:        cd -
                    181: }
                    182: 
1.1.2.1   misho     183: compile_tools()
                    184: {
                    185:        echo "+++ Compile ELWIX Cross ..."
1.1.2.2   misho     186: 
1.1.2.1   misho     187:        cd $CROSS_AXL
                    188:        ${AXL_CFG}
                    189:        ${CBUILD} clean
                    190:        ${CBUILD}
                    191:        ${CBUILD} install
                    192:        cd -
                    193: 
                    194:        cd $CROSS_AITIO
                    195:        ${AITIO_CFG}
                    196:        ${CBUILD} clean
                    197:        ${CBUILD}
                    198:        ${CBUILD} install
                    199:        cd -
                    200: 
                    201:        cd $CROSS_AITCRC
                    202:        ${AITCRC_CFG}
                    203:        ${CBUILD} clean
                    204:        ${CBUILD}
                    205:        ${CBUILD} install
                    206:        cd -
                    207: 
                    208:        cd $CROSS_AITCFG
                    209:        ${AITCFG_CFG}
                    210:        ${CBUILD} clean
                    211:        ${CBUILD}
                    212:        ${CBUILD} install
                    213:        cd -
                    214: 
                    215:        cd $CROSS_AITSESS
                    216:        ${AITSESS_CFG}
                    217:        ${CBUILD} clean
                    218:        ${CBUILD}
                    219:        ${CBUILD} install
                    220:        cd -
                    221: 
                    222:        cd $CROSS_AITRPC
                    223:        ${AITRPC_CFG}
                    224:        ${CBUILD} clean
                    225:        ${CBUILD}
                    226:        ${CBUILD} install
                    227:        cd -
                    228: 
                    229:        cd $CROSS_AITSCHED
                    230:        ${AITSCHED_CFG}
                    231:        ${CBUILD} clean
                    232:        ${CBUILD}
                    233:        ${CBUILD} install
                    234:        cd -
                    235: 
1.1.2.3   misho     236:        cd $CROSS_AITWWW
                    237:        ${AITWWW_CFG}
                    238:        ${CBUILD} clean
                    239:        ${CBUILD}
                    240:        ${CBUILD} install
                    241:        cd -
                    242: 
1.1.2.1   misho     243:        cd $CROSS_AITPELCO
                    244:        ${AITPELCO_CFG}
                    245:        ${CBUILD} clean
                    246:        ${CBUILD}
                    247:        ${CBUILD} install
                    248:        cd -
                    249: 
                    250:        cd $CROSS_AITPWD
                    251:        ${AITPWD_CFG}
                    252:        ${CBUILD} clean
                    253:        ${CBUILD}
                    254:        ${CBUILD} install
                    255:        cd -
                    256: 
                    257:        cd $CROSS_AITSYNC
                    258:        ${AITSYNC_CFG}
                    259:        ${CBUILD} clean
                    260:        ${CBUILD}
                    261:        ${CBUILD} install
                    262:        cd -
                    263: 
                    264:        cd $CROSS_AITCLI
                    265:        ${AITCLI_CFG}
                    266:        ${CBUILD} clean
                    267:        ${CBUILD}
                    268:        ${CBUILD} install
                    269:        cd -
                    270: 
                    271:        cd $CROSS_AITMQTT
                    272:        ${AITMQTT_CFG}
                    273:        ${CBUILD} clean
                    274:        ${CBUILD}
                    275:        ${CBUILD} install
                    276:        cd -
                    277: 
                    278:        cd $CROSS_EMBEDTOOLS
                    279:        ${EMBEDTOOLS_CFG}
                    280:        ${CBUILD} clean
                    281:        ${CBUILD}
                    282:        ${CBUILD} install
                    283:        cd -
                    284: 
                    285:        cd $CROSS_ANSH
                    286:        ${ANSH_CFG}
                    287:        ${CBUILD} clean
                    288:        ${CBUILD}
                    289:        ${CBUILD} install
                    290:        cd -
                    291: 
                    292:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/usr/local/elwix.ver
                    293: }
                    294: 
                    295: ### main()
1.1.2.5   misho     296: if ! SnitVer ${WORLD}/elwix/elwix.ver; then
1.1.2.4   misho     297:        clean_bootstrap
                    298:        compile_bootstrap
                    299: else
                    300:        echo "Skipped ELWIX bootstrap pkgsrc tools build ..."
                    301: fi
                    302: 
1.1.2.5   misho     303: if ! SnitVer ${WORLD}/usr/local/elwix.ver; then
1.1.2.1   misho     304:        clean_tools
                    305:        compile_fbsdtools
1.1.2.8   misho     306:        compile_files
1.1.2.1   misho     307:        compile_tools
                    308: else
                    309:        echo "Skipped ELWIX tools build ..."
                    310: fi
                    311: 
                    312: echo "+++ Complete build ELWIX tools"

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