shithub: jbig2

Download patch

ref: 3837ea918bcb27bc70af71d5a5323187d51a309c
parent: f2af865a61273a6a073f171b7b6fad5fbb07d5ed
author: Chris Liddell <chris.liddell@artifex.com>
date: Thu Apr 2 08:14:24 EDT 2015

Tidy jbig2dec build configuration:

1) Remove automake version specific tests/use

The script does unpleasant things which can cause us to attempt to use a
specific version of automake, which should not really be needed these days.

So we now just check that the automake version is greater than or equal to the
version we require.

The old method can still be accessed by invoking autogen.sh thus:
USE_OLD=yes ./autogen.sh

2) Add automake option to make dist "self contained"

The automake default is to symlink to a few scripts ('compile', 'missing' etc)
in the current system's automake install. That results in a configuration
reliant on automake being installed, and the same version, for a build.

Add the '--copy' automake option so the script files are copied rather than
linked, so we get a self contained configure/make/install setup.

No cluster differences.

--- a/autogen.sh
+++ b/autogen.sh
@@ -23,61 +23,84 @@
 VERSIONMKMIN="sed -e s/.*[0-9][0-9]*\.//"
 
 # do we need automake?
-if test -r Makefile.am; then
-  AM_OPTIONS=`fgrep AUTOMAKE_OPTIONS Makefile.am`
-  AM_NEEDED=`echo $AM_OPTIONS | $VERSIONGREP`
-  if test "x$AM_NEEDED" = "x$AM_OPTIONS"; then
-    AM_NEEDED=""
-  fi
-  if test -z "$AM_NEEDED"; then
-    echo -n "checking for automake... "
-    AUTOMAKE=automake
-    ACLOCAL=aclocal
-    if ($AUTOMAKE --version < /dev/null > /dev/null 2>&1); then
-      echo "yes"
-    else
-      echo "no"
-      AUTOMAKE=
+if test "x$USE_OLD" = "xyes" ; then
+  if test -r Makefile.am; then
+    AM_OPTIONS=`fgrep AUTOMAKE_OPTIONS Makefile.am`
+    AM_NEEDED=`echo $AM_OPTIONS | $VERSIONGREP`
+    if test "x$AM_NEEDED" = "x$AM_OPTIONS"; then
+      AM_NEEDED=""
     fi
-  else
-    echo -n "checking for automake $AM_NEEDED or later... "
-    majneeded=`echo $AM_NEEDED | $VERSIONMKMAJ`
-    minneeded=`echo $AM_NEEDED | $VERSIONMKMIN`
-    for am in automake-$AM_NEEDED automake$AM_NEEDED automake \
-	automake-1.7 automake-1.8 automake-1.9 automake-1.10; do
-      ($am --version < /dev/null > /dev/null 2>&1) || continue
-      ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP`
-      maj=`echo $ver | $VERSIONMKMAJ`
-      min=`echo $ver | $VERSIONMKMIN`
-      if test $maj -eq $majneeded -a $min -ge $minneeded; then
-        AUTOMAKE=$am
-        echo $AUTOMAKE
-        break
+    if test -z "$AM_NEEDED"; then
+      echo -n "checking for automake... "
+      AUTOMAKE=automake
+      ACLOCAL=aclocal
+      if ($AUTOMAKE --version < /dev/null > /dev/null 2>&1); then
+        echo "yes"
+      else
+        echo "no"
+        AUTOMAKE=
       fi
-    done
-    test -z $AUTOMAKE &&  echo "no"
-    echo -n "checking for aclocal $AM_NEEDED or later... "
-    for ac in aclocal-$AM_NEEDED aclocal$AM_NEEDED aclocal\
-	aclocal-1.7 aclocal-1.8 aclocal-1.9 aclocal-1.10; do
-      ($ac --version < /dev/null > /dev/null 2>&1) || continue
-      ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP`
-      maj=`echo $ver | $VERSIONMKMAJ`
-      min=`echo $ver | $VERSIONMKMIN`
-      if test $maj -eq $majneeded -a $min -ge $minneeded; then
-        ACLOCAL=$ac
-        echo $ACLOCAL
-        break
-      fi
-    done
-    test -z $ACLOCAL && echo "no"
+    else
+      echo -n "checking for automake $AM_NEEDED or later... "
+      majneeded=`echo $AM_NEEDED | $VERSIONMKMAJ`
+      minneeded=`echo $AM_NEEDED | $VERSIONMKMIN`
+      for am in automake-$AM_NEEDED automake$AM_NEEDED automake \
+          automake-1.7 automake-1.8 automake-1.9 automake-1.10; do
+        ($am --version < /dev/null > /dev/null 2>&1) || continue
+        ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP`
+        maj=`echo $ver | $VERSIONMKMAJ`
+        min=`echo $ver | $VERSIONMKMIN`
+        if test $maj -eq $majneeded -a $min -ge $minneeded; then
+          AUTOMAKE=$am
+          echo $AUTOMAKE
+          break
+        fi
+      done
+      test -z $AUTOMAKE &&  echo "no"
+      echo -n "checking for aclocal $AM_NEEDED or later... "
+      for ac in aclocal-$AM_NEEDED aclocal$AM_NEEDED aclocal\
+          aclocal-1.7 aclocal-1.8 aclocal-1.9 aclocal-1.10; do
+        ($ac --version < /dev/null > /dev/null 2>&1) || continue
+        ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP`
+        maj=`echo $ver | $VERSIONMKMAJ`
+        min=`echo $ver | $VERSIONMKMIN`
+        if test $maj -eq $majneeded -a $min -ge $minneeded; then
+          ACLOCAL=$ac
+          echo $ACLOCAL
+          break
+        fi
+      done
+      test -z $ACLOCAL && echo "no"
+    fi
+    test -z $AUTOMAKE || test -z $ACLOCAL && {
+          echo
+          echo "You must have automake installed to compile $package."
+          echo "Download the appropriate package for your distribution,"
+          echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+          exit 1
+    }
   fi
-  test -z $AUTOMAKE || test -z $ACLOCAL && {
-        echo
-        echo "You must have automake installed to compile $package."
-        echo "Download the appropriate package for your distribution,"
-        echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
-	exit 1
-  }
+else
+  AUTOMAKE=automake
+  ACLOCAL=aclocal
+  AM_VER=`$AUTOMAKE --version | grep "automake (GNU automake)" | sed 's/[^0-9\.]*//g'`
+  AM_MAJ=`echo $AM_VER |cut -d. -f1`
+  AM_MIN=`echo $AM_VER |cut -d. -f2`
+  AM_PAT=`echo $AM_VER |cut -d. -f3`
+
+  AM_NEEDED=`fgrep AUTOMAKE_OPTIONS Makefile.am | $VERSIONGREP`
+  AM_MAJOR_REQ=`echo $AM_NEEDED |cut -d. -f1`
+  AM_MINOR_REQ=`echo $AM_NEEDED |cut -d. -f2`
+  
+  echo "checking for automake $AM_NEEDED or later..."
+
+  if [ $AM_MAJ -lt $AM_MAJOR_REQ -o $AM_MIN -lt $AM_MINOR_REQ ] ; then
+    echo
+    echo "You must have automake $AM_NEEDED or better installed to compile $package."
+    echo "Download the appropriate package for your distribution,"
+    echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+    exit 1
+  fi
 fi
 
 # do we need libtool?
@@ -106,7 +129,7 @@
 $ACLOCAL $ACLOCAL_FLAGS
 
 echo "  $LIBTOOLIZE"
-$LIBTOOLIZE
+$LIBTOOLIZE --copy
 
 echo "  autoheader"
 autoheader
@@ -135,7 +158,7 @@
 EOF
 
 echo "  $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
-$AUTOMAKE --add-missing $AUTOMAKE_FLAGS
+$AUTOMAKE --add-missing --copy $AUTOMAKE_FLAGS
 
 echo "  autoconf"
 autoconf