| New file | 
|  |  |  | 
|---|
|  |  |  | #!/bin/bash | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #+-------------------------------------------------------------------------------------------- | 
|---|
|  |  |  | #|Description:  This shell script used download and compile zbar for ARM | 
|---|
|  |  |  | #|     Author:  GuoWenxue <guowenxue@gmail.com> | 
|---|
|  |  |  | #|  ChangeLog: | 
|---|
|  |  |  | #|           1, Initialize 1.0.0 on 2018.08.16 | 
|---|
|  |  |  | #+-------------------------------------------------------------------------------------------- | 
|---|
|  |  |  |  | 
|---|
|  |  |  | PREFIX_PATH=`pwd`/../install/ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | LYFTP_SRC=ftp://master.iot-yun.club/src/ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CROSSTOOL=/opt/xtools/arm920t/bin/arm-linux- | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function msg_banner() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | echo "" | 
|---|
|  |  |  | echo "+-----------------------------------------------------------------------" | 
|---|
|  |  |  | echo "|  $1 " | 
|---|
|  |  |  | echo "+-----------------------------------------------------------------------" | 
|---|
|  |  |  | echo "" | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function check_result() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if [ $? != 0 ] ; then | 
|---|
|  |  |  | echo "" | 
|---|
|  |  |  | echo "+-----------------------------------------------------------------------" | 
|---|
|  |  |  | echo "|  $1 " | 
|---|
|  |  |  | echo "+-----------------------------------------------------------------------" | 
|---|
|  |  |  | echo "" | 
|---|
|  |  |  | exit ; | 
|---|
|  |  |  | fi | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function export_cross() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | # export cross toolchain | 
|---|
|  |  |  | export CC=${CROSSTOOL}gcc | 
|---|
|  |  |  | export CXX=${CROSSTOOL}g++ | 
|---|
|  |  |  | export AS=${CROSSTOOL}as | 
|---|
|  |  |  | export AR=${CROSSTOOL}ar | 
|---|
|  |  |  | export LD=${CROSSTOOL}ld | 
|---|
|  |  |  | export NM=${CROSSTOOL}nm | 
|---|
|  |  |  | export RANLIB=${CROSSTOOL}ranlib | 
|---|
|  |  |  | export OBJDUMP=${CROSSTOOL}objdump | 
|---|
|  |  |  | export STRIP=${CROSSTOOL}strip | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # export cross configure | 
|---|
|  |  |  | export CONFIG_CROSS=" --build=i686-pc-linux --host=arm-linux " | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # Clear LDFLAGS and CFLAGS | 
|---|
|  |  |  | export LDFLAGS= | 
|---|
|  |  |  | export CFLAGS= | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function compile_zbar() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #SRC_NAME=zbar-latest | 
|---|
|  |  |  | SRC_NAME=zbar-0.10 | 
|---|
|  |  |  | PACK_SUFIX=tar.bz2 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | set -e | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if [ -f ${PREFIX_PATH}/bin/zbarcam ] ; then | 
|---|
|  |  |  | msg_banner "$SRC_NAME already compile and installed" | 
|---|
|  |  |  | return 0; | 
|---|
|  |  |  | fi | 
|---|
|  |  |  |  | 
|---|
|  |  |  | msg_banner "Start cross compile $SRC_NAME " | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then | 
|---|
|  |  |  | wget ${LYFTP_SRC}/${SRC_NAME}.${PACK_SUFIX} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | check_result "ERROR: download ${SRC_NAME} failure" | 
|---|
|  |  |  | fi | 
|---|
|  |  |  |  | 
|---|
|  |  |  | tar -xjf ${SRC_NAME}.${PACK_SUFIX} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | cd ${SRC_NAME} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # zbar-latest need follow command | 
|---|
|  |  |  | #git checkout 8edfa5f8c4d11a54 && rm -rf * && git checkout . | 
|---|
|  |  |  | #autoreconf --install | 
|---|
|  |  |  | #libtoolize -f | 
|---|
|  |  |  | #sed -i -e "s|-Wno-parentheses -Werror|-Wno-parentheses|g" configure | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CFLAGS="-DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16" \ | 
|---|
|  |  |  | ./configure --host=arm-linux --enable-static --enable-shared --prefix=$PREFIX_PATH \ | 
|---|
|  |  |  | --without-gtk --without-python --without-qt --without-x --without-java --disable-video \ | 
|---|
|  |  |  | --with-imagemagick=${PREFIX_PATH}/ --without-graphicsmagick \ | 
|---|
|  |  |  | MAGICK_CFLAGS=-I${PREFIX_PATH}//include/ImageMagick-6 \ | 
|---|
|  |  |  | MAGICK_LIBS="-L${PREFIX_PATH}/lib -lMagickWand-6.Q16 -lMagickCore-6.Q16 -lm -lz -L`pwd`/zbar/.libs/ -lzbar" | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #LIBS="-liconv" | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sed -i -e "s|^LIBS = -lpthread.*|LIBS = -lpthread -liconv|g" Makefile | 
|---|
|  |  |  |  | 
|---|
|  |  |  | mkdir -p ./doc/man/ | 
|---|
|  |  |  | touch ./doc/man/zbarimg.1 | 
|---|
|  |  |  | touch ./doc/man/zbarcam.1 | 
|---|
|  |  |  | make all && make install | 
|---|
|  |  |  |  | 
|---|
|  |  |  | cd - | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export_cross | 
|---|
|  |  |  |  | 
|---|
|  |  |  | compile_zbar | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|