#!/bin/sh pcre_subdir=pcre/pcre-swig-install pcre_install_dir=`pwd`/$pcre_subdir usage() { echo "Helper script to build PCRE2 as a static library from a tarball just for use during the" echo "SWIG build. It does not install PCRE2 for global use on your system." echo "Usage: pcre-build.sh [--help] [args]" echo " args - optional additional arguments passed on to the PCRE2 configure script (leave out" echo " unless you are an expert at configure)" echo " --help - Display this help information." echo "Instructions:" echo " - Download the latest PCRE2 source tarball from http://www.pcre.org and place in the" echo " directory that you will configure and build SWIG." echo " - Run this script in the same directory that you intend to configure and build SWIG in." echo " This will configure and build PCRE2 as a static library." echo " - Afterwards run the SWIG configure script which will then find and use the PCRE static" echo " libraries in the $pcre_subdir subdirectory." exit 0 } bail() { echo $1 >&2 exit 1 } if test "$1" = "-h" -o "$1" = "-help" -o "$1" = "--help" ; then usage fi if test -f "pcre-build.sh" ; then echo "Error: this script should not be run in the Tools directory" >&2 echo "" usage fi echo "Looking for PCRE2 tarball..." rm -rf pcre pcre_tarball=`ls pcre2-*.tar*` test -n "$pcre_tarball" || bail "Could not find tarball matching pattern: pcre2-*.tar*" test -f "$pcre_tarball" || bail "Could not find a single PCRE2 tarball. Found: $pcre_tarball" echo "Extracting tarball: $pcre_tarball" tar -xf $pcre_tarball || bail "Could not untar $pcre_tarball" pcre_dir=`echo $pcre_tarball | sed -e "s/\.tar.*//"` echo "Configuring PCRE in directory: pcre" mv $pcre_dir pcre || bail "Could not create pcre directory" cd pcre && ./configure --prefix=$pcre_install_dir --disable-shared $* || bail "PCRE2 configure failed" echo "Building PCRE2..." ${MAKE:-make} -s || bail "Could not build PCRE2" echo "Installing PCRE2 locally to $pcre_install_dir..." ${MAKE:-make} -s install || bail "Could not install PCRE2" echo "" echo "The SWIG configure script can now be run, whereupon PCRE2 will automatically be detected and used from $pcre_install_dir/bin/pcre-config."