electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

make_zbar.sh (3843B)


      1 #!/bin/bash
      2 
      3 # This script can be used on Linux hosts to build native libzbar binaries.
      4 # sudo apt-get install pkg-config libx11-dev libx11-6 libv4l-dev libxv-dev libxext-dev libjpeg-dev
      5 #
      6 # It can also be used to cross-compile to Windows:
      7 # $ sudo apt-get install mingw-w64 mingw-w64-tools win-iconv-mingw-w64-dev
      8 # For a Windows x86 (32-bit) target, run:
      9 # $ GCC_TRIPLET_HOST="i686-w64-mingw32" BUILD_TYPE="wine" ./contrib/make_zbar.sh
     10 # Or for a Windows x86_64 (64-bit) target, run:
     11 # $ GCC_TRIPLET_HOST="x86_64-w64-mingw32" BUILD_TYPE="wine" ./contrib/make_zbar.sh
     12 
     13 ZBAR_VERSION="d2893738411be897a04caa42ffc13d1f6107d3c6"
     14 
     15 set -e
     16 
     17 . $(dirname "$0")/build_tools_util.sh || (echo "Could not source build_tools_util.sh" && exit 1)
     18 
     19 here=$(dirname $(realpath "$0" 2> /dev/null || grealpath "$0"))
     20 CONTRIB="$here"
     21 PROJECT_ROOT="$CONTRIB/.."
     22 
     23 pkgname="zbar"
     24 info "Building $pkgname..."
     25 
     26 (
     27     cd $CONTRIB
     28     if [ ! -d zbar ]; then
     29         git clone https://github.com/mchehab/zbar.git
     30     fi
     31     cd zbar
     32     if ! $(git cat-file -e ${ZBAR_VERSION}) ; then
     33         info "Could not find requested version $ZBAR_VERSION in local clone; fetching..."
     34         git fetch --all
     35     fi
     36     git reset --hard
     37     git clean -dfxq
     38     git checkout "${ZBAR_VERSION}^{commit}"
     39 
     40     if [ "$BUILD_TYPE" = "wine" ] ; then
     41         echo "libzbar_la_LDFLAGS += -Wc,-static" >> zbar/Makefile.am
     42         echo "LDFLAGS += -Wc,-static" >> Makefile.am
     43     fi
     44     if ! [ -x configure ] ; then
     45         autoreconf -vfi || fail "Could not run autoreconf for $pkgname. Please make sure you have automake and libtool installed, and try again."
     46     fi
     47     if ! [ -r config.status ] ; then
     48         if [ "$BUILD_TYPE" = "wine" ] ; then
     49             # windows target
     50             ./configure \
     51                 $AUTOCONF_FLAGS \
     52                 --prefix="$here/$pkgname/dist" \
     53                 --with-x=no \
     54                 --enable-pthread=no \
     55                 --enable-doc=no \
     56                 --enable-video=yes \
     57                 --with-directshow=yes \
     58                 --with-jpeg=no \
     59                 --with-python=no \
     60                 --with-gtk=no \
     61                 --with-qt=no \
     62                 --with-java=no \
     63                 --with-imagemagick=no \
     64                 --with-dbus=no \
     65                 --enable-codes=qrcode \
     66                 --disable-dependency-tracking \
     67                 --disable-static \
     68                 --enable-shared || fail "Could not configure $pkgname. Please make sure you have a C compiler installed and try again."
     69         else
     70             # linux target
     71             ./configure \
     72                 $AUTOCONF_FLAGS \
     73                 --prefix="$here/$pkgname/dist" \
     74                 --with-x=yes \
     75                 --enable-pthread=no \
     76                 --enable-doc=no \
     77                 --enable-video=yes \
     78                 --with-jpeg=yes \
     79                 --with-python=no \
     80                 --with-gtk=no \
     81                 --with-qt=no \
     82                 --with-java=no \
     83                 --with-imagemagick=no \
     84                 --with-dbus=no \
     85                 --enable-codes=qrcode \
     86                 --disable-static \
     87                 --enable-shared || fail "Could not configure $pkgname. Please make sure you have a C compiler installed and try again."
     88         fi
     89     fi
     90     make -j4 || fail "Could not build $pkgname"
     91     make install || fail "Could not install $pkgname"
     92     . "$here/$pkgname/dist/lib/libzbar.la"
     93     host_strip "$here/$pkgname/dist/lib/$dlname"
     94     cp -fpv "$here/$pkgname/dist/lib/$dlname" "$PROJECT_ROOT/electrum" || fail "Could not copy the $pkgname binary to its destination"
     95     info "$dlname has been placed in the inner 'electrum' folder."
     96     if [ -n "$DLL_TARGET_DIR" ] ; then
     97         cp -fpv "$here/$pkgname/dist/lib/$dlname" "$DLL_TARGET_DIR" || fail "Could not copy the $pkgname binary to DLL_TARGET_DIR"
     98     fi
     99 )