#!/bin/sh
|
|
#+--------------------------------------------------------------------------------------------
|
#|Description: This shell script used to download tree source code and cross compile it.
|
#| Author: GuoWenxue <guowenxue@gmail.com>
|
#| ChangeLog:
|
#| 1, Initialize 1.0.0 on 2013.03.22
|
#+--------------------------------------------------------------------------------------------
|
. ../scripts/funcs.sh
|
clear_crossenv
|
. ../scripts/envs.sh
|
|
if [ -z $ARCH ]; then
|
ARCH=
|
fi
|
|
APP_NAME=tree
|
DIR_NAME="tree-1.5.3"
|
PACK_SUFIX="tar.gz"
|
#DL_ADDR="http://tree.sourcearchive.com/downloads/1.5.3-2/$DIR_NAME.$PACK_SUFIX"
|
DL_ADDR="http://www-uxsup.csx.cam.ac.uk/pub/misc/sunfreeware/SOURCES/$DIR_NAME.$PACK_SUFIX"
|
|
INST_PATH=`pwd`/../mnt/usr/bin/
|
|
#LINK_STATIC=YES
|
|
select_arch
|
if [ -z $CROSS -a "x86" != "$ARCH" ] ; then
|
CROSS="/opt/buildroot-2012.08/${ARCH}/usr/bin/arm-linux-"
|
fi
|
set_crosstool $CROSS
|
|
if [ "x86" != "$ARCH" ] ; then
|
CONFIG_CROSS=--host=arm-linux
|
fi
|
|
PREFIX_PATH=/apps/${ARCH}/${APP_NAME}
|
|
# Download and decompress source code packet
|
download $DL_ADDR
|
decompress_packet $DIR_NAME $PACK_SUFIX
|
|
if [ "$LINK_STATIC" == "YES" ] ; then
|
export CFLAGS=--static
|
export LDFLAGS=-static
|
CONFIG_LD_STATUS='--enable-static --disable-shared'
|
fi
|
|
echo "+------------------------------------------------------------------+"
|
echo "| Platform: $DIR_NAME for $ARCH "
|
echo "| Compiler: ${CROSS}gcc "
|
echo "+------------------------------------------------------------------+"
|
mkdir -p $PREFIX_PATH
|
|
cd $DIR_NAME
|
set -x
|
FILE=Makefile
|
line=`sed -n '/^CC=/=' $FILE`
|
sed -i -e ${line}s"|.*|CC=${CROSS}gcc |" $FILE
|
|
line=`sed -n '/^CFLAGS=-ggdb/=' $FILE`
|
sed -i -e ${line}s"|.*|CFLAGS=-Wall -DLINUX|" $FILE
|
sed -n "`expr $line + 1`p" $FILE | grep "XOBJS=strverscmp"
|
if [ 0 != $? ] ; then
|
sed -i -e ${line}a"XOBJS=strverscmp.o" $FILE
|
fi
|
|
make
|
cp tree $PREFIX_PATH
|
|
$STRIP $PREFIX_PATH/tree
|
file $PREFIX_PATH/*
|
if [ -d $INST_PATH ] ; then
|
cp $PREFIX_PATH/tree $INST_PATH
|
fi
|
set +x
|
|
echo "+------------------------------------------------------------------+"
|
echo "| Install Prefix: $PREFIX_PATH"
|
echo "| Install Path: $INST_PATH"
|
echo "+------------------------------------------------------------------+"
|
cd -
|