summaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2010-10-01 22:46:22 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2010-10-01 22:46:22 +0000
commitdb6bf51067db6beb701f4e9f5b25e14acf360c2d (patch)
treeadb6afbb09596eb446ed9ed7193357f447c3bdd5 /Tools
parenteaada32f264f828ec326f4c91f5c1a73399a8897 (diff)
downloadswig-db6bf51067db6beb701f4e9f5b25e14acf360c2d.tar.gz
Add pcre-build.sh script for easier building of pcre and configuring with SWIG if PCRE not installed
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12238 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/mkwindows.sh14
-rwxr-xr-xTools/pcre-build.sh53
2 files changed, 65 insertions, 2 deletions
diff --git a/Tools/mkwindows.sh b/Tools/mkwindows.sh
index 869fce01a..6042361b3 100755
--- a/Tools/mkwindows.sh
+++ b/Tools/mkwindows.sh
@@ -43,7 +43,7 @@ else
if test x$zip = x; then
zip=zip
fi
- extraconfigureoptions="--host=i586-mingw32msvc --build=i686-linux CXXFLAGS=-O2 CFLAGS=-O2"
+ extraconfigureoptions="--host=i586-mingw32msvc --build=i686-linux"
else
if test "$cygwin"; then
echo "Building native Windows executable on Cygwin"
@@ -61,6 +61,13 @@ fi
swigbasename=swig-$version
swigwinbasename=swigwin-$version
tarball=$swigbasename.tar.gz
+pcre_tarball=`ls pcre-*.tar.*`
+
+if ! test -f "$pcre_tarball"; then
+ echo "Could not find PCRE tarball. Please download a PCRE source tarball from http://www.pcre.org"
+ echo "and place in the same directory as the SWIG tarball."
+ exit 1
+fi
if test -f "$tarball"; then
builddir=build-$version
@@ -78,8 +85,11 @@ if test -f "$tarball"; then
mv $swigbasename $swigwinbasename
tar -zxf ../$tarball
cd $swigbasename
+ (cd ../.. && cp $pcre_tarball $builddir/$swigbasename)
+ echo Running: Tools/pcre-build.sh $extraconfigureoptions CFLAGS="$compileflags" CXXFLAGS="$compileflags"
+ ./Tools/pcre-build.sh $extraconfigureoptions CFLAGS="$compileflags" CXXFLAGS="$compileflags" || exit 1
echo Running: ./configure $extraconfigureoptions CFLAGS="$compileflags" CXXFLAGS="$compileflags"
- ./configure $extraconfigureoptions CFLAGS="$compileflags" CXXFLAGS="$compileflags"
+ ./configure $extraconfigureoptions CFLAGS="$compileflags" CXXFLAGS="$compileflags" || exit 1
echo "Compiling (quietly)..."
make > build.log
echo "Simple check to see if swig.exe runs..."
diff --git a/Tools/pcre-build.sh b/Tools/pcre-build.sh
new file mode 100755
index 000000000..876a58a7e
--- /dev/null
+++ b/Tools/pcre-build.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+pcre_subdir=pcre/pcre-swig-install
+pcre_install_dir=`pwd`/$pcre_subdir
+
+usage() {
+ echo "Helper script to build PCRE as a static library from a tarball just for use during the"
+ echo "SWIG build. It does not install PCRE for global use on your system."
+ echo "Usage: pcre-build.sh [--help] [args]"
+ echo " args - optional additional arguments passed on to the PCRE configure script (leave out"
+ echo " unless you are an expert at configure)"
+ echo " --help - Display this help information."
+ echo "Instructions:"
+ echo " - Download the latest PCRE 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 " - Afterwards run the SWIG configure scrip 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 PCRE tarball..."
+rm -rf pcre
+pcre_tarball=`ls pcre-*.tar.*`
+test -f "$pcre_tarball" || bail "Could not find 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 "PCRE configure failed"
+echo "Building PCRE..."
+make -s || bail "Could not build PCRE"
+echo "Installing PCRE locally to $pcre_install_dir..."
+make -s install || bail "Could not install PCRE"
+echo ""
+echo "The SWIG configure script can now be run, whereupon PCRE will automatically be detected and used from $pcre_install_dir/bin/pcre-config."