#!/bin/sh #+-------------------------------------------------------------------------------------------- #|Description: This shell script used to download openswan source code and cross compile it. #| Author: GuoWenxue #| ChangeLog: #| 1, Initialize 1.0.0 on 2011.12.23 #+-------------------------------------------------------------------------------------------- . ../scripts/funcs.sh clear_crossenv . ../scripts/envs.sh APP_NAME=openswan DIR_NAME=Openswan-3.0.14 PACK_SUFIX="zip" DL_ADDR=https://nodeload.github.com/xelerance/Openswan/zip/v3.0.14 if [ -z $ARCH ]; then ARCH= fi 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 INST_PREFIX=/apps/$ARCH/ PREFIX_PATH=${INST_PREFIX}/${APP_NAME} GMP_LIB_PATH=${INST_PREFIX}/gmp/lib GMP_INC_PATH=${INST_PREFIX}/gmp/include OPENSSL_LIB_PATH=${INST_PREFIX}/openssl/lib OPENSSL_INC_PATH=${INST_PREFIX}/openssl/include #Check GMP dependency if [ ! -d ${GMP_LIB_PATH} ] ; then echo "${GMP_LIB_PATH} doesn't exist, cross compile GMP" cd ../gmp sh build.sh cd - fi #Check Openssl dependency if [ ! -d ${OPENSSL_LIB_PATH} ] ; then cd ../openssl sh build.sh cd - fi export CFLAGS="-I${OPENSSL_INC_PATH} --static" export C_INCLUDE_PATH=${GMP_INC_PATH} export LDFLAGS="-L${GMP_LIB_PATH} -L${OPENSSL_LIB_PATH} -static" export ARCH=arm export KERNELSRC=/home/guowenxue/stac.1/src/kernel/linux-3.4/ export DESTDIR=${PREFIX_PATH} #Prepare OpenSwan source code if [ ! -f ${DIR_NAME}.$PACK_SUFIX ] ; then wget https://nodeload.github.com/xelerance/Openswan/zip/v3.0.14 -O ${DIR_NAME}.${PACK_SUFIX} fi decompress_packet $DIR_NAME $PACK_SUFIX cd ${DIR_NAME} make programs install ${STRIP} ${DESTDIR}/usr/local/libexec/ipsec/*