From 18c16f73c6fb73d46c3935a766a4794603515993 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Fri, 21 Aug 2020 16:14:42 +0800 Subject: [PATCH] Add zbar build shell script --- 3rdparty/zzbar/build.sh | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 114 insertions(+), 0 deletions(-) diff --git a/3rdparty/zzbar/build.sh b/3rdparty/zzbar/build.sh new file mode 100755 index 0000000..a03d241 --- /dev/null +++ b/3rdparty/zzbar/build.sh @@ -0,0 +1,114 @@ +#!/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 + + -- Gitblit v1.9.1