Annotation of elwix/build_cross.sh, revision 1.2
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.2 ! misho 8: # $Id: build_cross.sh,v 1.1.1.1.2.11 2011/10/18 08:31:35 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} \
60: buildenvvars >> ${DEST}/cross_build.sh
61: cd -
1.2 ! misho 62: cp ${CBUILD} ${CGBUILD}
! 63: cat >>${CBUILD} <<_EOF
! 64: PATH=$PATH:/usr/local/bin:/usr/local/sbin
1.1 misho 65: make \$*
66: _EOF
1.2 ! misho 67: cat >>${CGBUILD} <<_EOF
! 68: PATH=$PATH:/usr/local/bin:/usr/local/sbin
! 69: /usr/local/bin/gmake \$*
! 70: _EOF
! 71:
! 72: chmod +x ${CBUILD} ${CGBUILD}
! 73: echo "Done."
! 74: }
! 75:
! 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: install -d ${WORLD}/usr/local/lib
! 85: install -d ${WORLD}/usr/local/libdata
! 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 -
1.1 misho 140:
1.2 ! misho 141: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix0.ver
1.1 misho 142: }
143:
144: compile_cross()
145: {
146: echo "+++ Compile ELWIX Cross ..."
147: cd $CROSS_AXL
148: ${AXL_CFG}
1.2 ! misho 149: ${CBUILD} clean
! 150: ${CBUILD}
! 151: ${CBUILD} install
1.1 misho 152: cd -
153:
154: cd $CROSS_AITIO
155: ${AITIO_CFG}
1.2 ! misho 156: ${CBUILD} clean
! 157: ${CBUILD}
! 158: ${CBUILD} install
1.1 misho 159: cd -
160:
161: cd $CROSS_AITCRC
162: ${AITCRC_CFG}
1.2 ! misho 163: ${CBUILD} clean
! 164: ${CBUILD}
! 165: ${CBUILD} install
1.1 misho 166: cd -
167:
168: cd $CROSS_AITCFG
169: ${AITCFG_CFG}
1.2 ! misho 170: ${CBUILD} clean
! 171: ${CBUILD}
! 172: ${CBUILD} install
1.1 misho 173: cd -
174:
175: cd $CROSS_AITSESS
176: ${AITSESS_CFG}
1.2 ! misho 177: ${CBUILD} clean
! 178: ${CBUILD}
! 179: ${CBUILD} install
1.1 misho 180: cd -
181:
182: cd $CROSS_AITRPC
183: ${AITRPC_CFG}
1.2 ! misho 184: ${CBUILD} clean
! 185: ${CBUILD}
! 186: ${CBUILD} install
! 187: cd -
! 188:
! 189: cd $CROSS_AITSCHED
! 190: ${AITSCHED_CFG}
! 191: ${CBUILD} clean
! 192: ${CBUILD}
! 193: ${CBUILD} install
1.1 misho 194: cd -
195:
196: cd $CROSS_AITPELCO
197: ${AITPELCO_CFG}
1.2 ! misho 198: ${CBUILD} clean
! 199: ${CBUILD}
! 200: ${CBUILD} install
1.1 misho 201: cd -
202:
203: cd $CROSS_AITPWD
204: ${AITPWD_CFG}
1.2 ! misho 205: ${CBUILD} clean
! 206: ${CBUILD}
! 207: ${CBUILD} install
1.1 misho 208: cd -
209:
210: cd $CROSS_AITSYNC
211: ${AITSYNC_CFG}
1.2 ! misho 212: ${CBUILD} clean
! 213: ${CBUILD}
! 214: ${CBUILD} install
1.1 misho 215: cd -
216:
217: cd $CROSS_AITCLI
218: ${AITCLI_CFG}
1.2 ! 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
! 229: cd -
! 230:
! 231: cd $CROSS_ANSH
! 232: ${ANSH_CFG}
! 233: ${CBUILD} clean
! 234: ${CBUILD}
! 235: ${CBUILD} install
1.1 misho 236: cd -
1.2 ! misho 237:
! 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.2 ! misho 244:
! 245: cd $CROSS_3TH
! 246: ./build.sh expat ${CBUILD} ${PKG}
! 247: [ $? -ne 0 ] && exit 1
! 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
! 312: ./build.sh iftop ${CBUILD} ${PKG}
! 313: [ $? -ne 0 ] && exit 1
! 314: ./build.sh arping ${CBUILD} ${PKG}
! 315: [ $? -ne 0 ] && exit 1
! 316: ./build.sh hping ${CGBUILD} ${PKG}
! 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
! 334: cd -
! 335:
! 336: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix1.ver
1.1 misho 337: }
338:
339: ### main()
1.2 ! misho 340: if ! SnitVer ${PKG}/elwix0.ver; then
! 341: compile_fbsdtools
! 342: else
! 343: echo "Skipped ELWIX Cross FreeBSD tools build ..."
! 344: fi
! 345:
! 346: if ! SnitVer ${PKG}/elwix.ver; then
1.1 misho 347: clean_cross
348: build_cross
349: compile_cross
1.2 ! misho 350: else
! 351: echo "Skipped ELWIX Cross build ..."
! 352: fi
1.1 misho 353:
1.2 ! misho 354: if ! SnitVer ${PKG}/elwix1.ver; then
1.1 misho 355: compile_3th
356: else
1.2 ! misho 357: echo "Skipped ELWIX Cross 3th party build ..."
1.1 misho 358: fi
359:
360: echo "+++ Complete build ELWIX Cross"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>