[HarfBuzz] question about new autogen.sh

Behdad Esfahbod behdad at behdad.org
Sun Jan 9 23:29:25 PST 2011


On 01/10/11 02:17, suzuki toshiya wrote:
> Dear Behdad,
> 
> The latest commit reduces autogen.sh extremely (using
> autoreconf only), and it fails on my Debian GNU/Linux
> system. What is wrong?

My bad.  Should be fixed.

behdad

> $ sh -x ./autogen.sh
> + test -n ''
> ++ dirname ./autogen.sh
> + srcdir=.
> + test -n .
> ++ pwd
> + olddir=/media/usbdisk/tmp/harfbuzz-ng
> + cd .
> ++ which autoreconf
> + AUTORECONF=/usr/bin/autoreconf
> + test -z /usr/bin/autoreconf
> + autoreconf --force --install
> aclocal: couldn't open directory `m4': No such file or directory
> autoreconf: aclocal failed with exit status: 1
> + exit 1
> 
> $ autoreconf --version
> autoreconf (GNU Autoconf) 2.63
> Copyright (C) 2008 Free Software Foundation, Inc.
> License GPLv2+: GNU GPL version 2 or later
> <http://gnu.org/licenses/old-licenses/gpl-2.0.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> 
> Written by David J. MacKenzie and Akim Demaille.
> 
> Regards,
> mpsuzuki
> 
> Behdad Esfahbod wrote:
>>  Makefile.am     |    2  autogen.sh      |  188
>> +++-----------------------------------------------------
>>  configure.ac    |   22 ++++--
>>  src/Makefile.am |    7 +-
>>  4 files changed, 33 insertions(+), 186 deletions(-)
>>
>> New commits:
>> commit 7bbe14bed8a886ea5b293c927c4bf937cbfc6f51
>> Author: Behdad Esfahbod <behdad at behdad.org>
>> Date:   Sun Jan 9 22:29:14 2011 -0500
>>
>>     Fix 'make distcheck'
>>
>> diff --git a/src/Makefile.am b/src/Makefile.am
>> index ae9cf4c..751465d 100644
>> --- a/src/Makefile.am
>> +++ b/src/Makefile.am
>> @@ -1,7 +1,7 @@
>>  # Process this file with automake to produce Makefile.in
>>  
>>  NULL =
>> -EXTRA_DIST = +EXTRA_DIST =
>>  
>>  # The following warning options are useful for debugging: -Wpadded
>> -Wcast-align
>>  #AM_CXXFLAGS =
>> @@ -119,7 +119,7 @@ test_SOURCES = test.c
>>  test_CPPFLAGS = $(HBCFLAGS)
>>  test_LDADD = libharfbuzz.la $(HBLIBS)
>>  
>> -TESTS = \
>> +dist_check_SCRIPTS = \
>>      check-c-linkage-decls.sh \
>>      check-header-guards.sh \
>>      check-internal-symbols.sh \
>> @@ -127,7 +127,8 @@ TESTS = \
>>  
>>  if HAVE_ICU
>>  else
>> -TESTS += check-libstdc++.sh
>> +dist_check_SCRIPTS += check-libstdc++.sh
>>  endif
>>  
>> +
>>  -include $(top_srcdir)/git.mk
>> commit 2abe1264a580858bf7803af1701117a462375fb4
>> Author: Javier Jardón <jjardon at gnome.org>
>> Date:   Sun Jan 9 22:18:53 2011 -0500
>>
>>     Bug 31174 - Update autotools configuration
>>
>> diff --git a/Makefile.am b/Makefile.am
>> index e81c0bc..8ec2c1e 100644
>> --- a/Makefile.am
>> +++ b/Makefile.am
>> @@ -1,3 +1,5 @@
>> +ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
>> +
>>  SUBDIRS = src
>>  
>>  pkgconfigdir = $(libdir)/pkgconfig
>> diff --git a/autogen.sh b/autogen.sh
>> index fb0148b..f207aa7 100755
>> --- a/autogen.sh
>> +++ b/autogen.sh
>> @@ -1,185 +1,19 @@
>>  #!/bin/sh
>>  # Run this to generate all the initial makefiles, etc.
>> -set -e
>>  
>> -ARGV0=$0
>> +test -n "$srcdir" || srcdir=`dirname "$0"`
>> +test -n "$srcdir" || srcdir=.
>>  
>> -# Allow invocation from a separate build directory; in that case, we change
>> -# to the source directory to run the auto*, then change back before running
>> configure
>> -srcdir=`dirname $ARGV0`
>> -test -z "$srcdir" && srcdir=.
>> -
>> -ORIGDIR=`pwd`
>> +olddir=`pwd`
>>  cd $srcdir
>>  
>> -PACKAGE=harfbuzz
>> -
>> -LIBTOOLIZE_FLAGS="--copy --force --automake"
>> -ACLOCAL_FLAGS=""
>> -AUTOHEADER=${AUTOHEADER-autoheader}
>> -GTKDOCIZE_FLAGS="--copy"
>> -GTKDOCIZE=${GTKDOCIZE-gtkdocize}
>> -AUTOMAKE_FLAGS="--add-missing --gnu -Wall"
>> -AUTOCONF=${AUTOCONF-autoconf}
>> -
>> -CONFIGURE_AC=
>> -test -f configure.ac && CONFIGURE_AC=configure.ac
>> -
>> -if test "X$CONFIGURE_AC" = X; then
>> -  echo "$ARGV0: ERROR: No $srcdir/configure.in or $srcdir/configure.ac found."
>> -  exit 1
>> +AUTORECONF=`which autoreconf`
>> +if test -z $AUTORECONF; then
>> +    echo "*** No autoreconf found, please install it ***"
>> +    exit 1
>> +else
>> +    autoreconf --force --install || exit $?
>>  fi
>>  
>> -extract_version() {
>> -    grep "^ *$1" "$CONFIGURE_AC" | sed 's/.*(\[*\([^])]*\)]*).*/\1/'
>> -}
>> -
>> -autoconf_min_vers=`extract_version AC_PREREQ`
>> -automake_min_vers=`extract_version AM_INIT_AUTOMAKE`
>> -libtoolize_min_vers=`extract_version AC_PROG_LIBTOOL`
>> -aclocal_min_vers=$automake_min_vers
>> -
>> -
>> -# Not all echo versions allow -n, so we check what is possible. This test is
>> -# based on the one in autoconf.
>> -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
>> -  *c*,-n*) ECHO_N= ;;
>> -  *c*,*  ) ECHO_N=-n ;;
>> -  *)       ECHO_N= ;;
>> -esac
>> -
>> -
>> -# some terminal codes ...
>> -boldface="`tput bold 2>/dev/null || true`"
>> -normal="`tput sgr0 2>/dev/null || true`"
>> -printbold() {
>> -    echo $ECHO_N "$boldface"
>> -    echo "$@"
>> -    echo $ECHO_N "$normal"
>> -}
>> -printerr() {
>> -    echo "$@" >&2
>> -}
>> -
>> -
>> -# Usage:
>> -#     compare_versions MIN_VERSION ACTUAL_VERSION
>> -# returns true if ACTUAL_VERSION >= MIN_VERSION
>> -compare_versions() {
>> -    ch_min_version=$1
>> -    ch_actual_version=$2
>> -    ch_status=0
>> -    IFS="${IFS=         }"; ch_save_IFS="$IFS"; IFS="."
>> -    set $ch_actual_version
>> -    for ch_min in $ch_min_version; do
>> -        ch_cur=`echo $1 | sed 's/[^0-9].*$//'`; shift # remove letter suffixes
>> -        if [ -z "$ch_min" ]; then break; fi
>> -        if [ -z "$ch_cur" ]; then ch_status=1; break; fi
>> -        if [ $ch_cur -gt $ch_min ]; then break; fi
>> -        if [ $ch_cur -lt $ch_min ]; then ch_status=1; break; fi
>> -    done
>> -    IFS="$ch_save_IFS"
>> -    return $ch_status
>> -}
>> -
>> -# Usage:
>> -#     version_check PACKAGE VARIABLE CHECKPROGS MIN_VERSION SOURCE
>> -# checks to see if the package is available
>> -version_check() {
>> -    vc_package=$1
>> -    vc_variable=$2
>> -    vc_checkprogs=$3
>> -    vc_min_version=$4
>> -    vc_source=$5
>> -    vc_status=1
>> -
>> -    vc_checkprog=`eval echo "\\$$vc_variable"`
>> -    if [ -n "$vc_checkprog" ]; then
>> -    printbold "using $vc_checkprog for $vc_package"
>> -    return 0
>> -    fi
>> -
>> -    printbold "checking for $vc_package >= $vc_min_version..."
>> -    for vc_checkprog in $vc_checkprogs; do
>> -    echo $ECHO_N "  testing $vc_checkprog... "
>> -    if $vc_checkprog --version < /dev/null > /dev/null 2>&1; then
>> -        vc_actual_version=`$vc_checkprog --version | head -n 1 | \
>> -                               sed 's/^.*[     ]\([0-9.]*[a-z]*\).*$/\1/'`
>> -        if compare_versions $vc_min_version $vc_actual_version; then
>> -        echo "found $vc_actual_version"
>> -        # set variable
>> -        eval "$vc_variable=$vc_checkprog"
>> -        vc_status=0
>> -        break
>> -        else
>> -        echo "too old (found version $vc_actual_version)"
>> -        fi
>> -    else
>> -        echo "not found."
>> -    fi
>> -    done
>> -    if [ "$vc_status" != 0 ]; then
>> -    printerr "***Error***: You must have $vc_package >= $vc_min_version
>> installed"
>> -    printerr "  to build $PROJECT.  Download the appropriate package for"
>> -    printerr "  from your distribution or get the source tarball at"
>> -        printerr "    $vc_source"
>> -    printerr
>> -    fi
>> -    return $vc_status
>> -}
>> -
>> -
>> -version_check autoconf AUTOCONF $AUTOCONF $autoconf_min_vers \
>> -   
>> "http://ftp.gnu.org/pub/gnu/autoconf/autoconf-${autoconf_min_vers}.tar.gz"
>> || DIE=1
>> -
>> -#
>> -# Hunt for an appropriate version of automake and aclocal; we can't
>> -# assume that 'automake' is necessarily the most recent installed version
>> -#
>> -# We check automake first to allow it to be a newer version than we know
>> about.
>> -#
>> -version_check automake AUTOMAKE "$AUTOMAKE automake automake-1.10
>> automake-1.9 automake-1.8 automake-1.7" $automake_min_vers \
>> -   
>> "http://ftp.gnu.org/pub/gnu/automake/automake-${automake_min_vers}.tar.gz"
>> || DIE=1
>> -ACLOCAL=`echo $AUTOMAKE | sed s/automake/aclocal/`
>> -
>> -
>> -version_check libtool LIBTOOLIZE "$LIBTOOLIZE glibtoolize libtoolize"
>> $libtoolize_min_vers \
>> -    "http://ftp.gnu.org/pub/gnu/libtool/libtool-${libtool_min_vers}.tar.gz"
>> || DIE=1
>> -
>> -if test -n "$DIE"; then
>> -  exit 1
>> -fi
>> -
>> -
>> -if test -z "$*"; then
>> -  echo "$ARGV0:    Note: \`./configure' will be run with no arguments."
>> -  echo "        If you wish to pass any to it, please specify them on the"
>> -  echo "        \`$0' command line."
>> -  echo
>> -fi
>> -
>> -do_cmd() {
>> -    echo "$ARGV0: running \`$@'"
>> -    $@
>> -}
>> -
>> -do_cmd $LIBTOOLIZE $LIBTOOLIZE_FLAGS
>> -
>> -do_cmd $ACLOCAL $ACLOCAL_FLAGS
>> -
>> -do_cmd $AUTOHEADER
>> -
>> -touch ChangeLog
>> -
>> -#do_cmd $GTKDOCIZE $GTKDOCIZE_FLAGS
>> -
>> -do_cmd $AUTOMAKE $AUTOMAKE_FLAGS
>> -
>> -do_cmd $AUTOCONF
>> -
>> -cd "$ORIGDIR" || exit 1
>> -
>> -rm -f config.cache
>> -
>> -do_cmd $srcdir/configure \
>> -    ${1+"$@"} && echo "Now type \`make' to compile $PROJECT." || exit 1
>> +cd $olddir
>> +test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
>> diff --git a/configure.ac b/configure.ac
>> index 8f308dc..3c0d7af 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -1,17 +1,27 @@
>> -AC_PREREQ(2.59)
>> -AC_INIT(harfbuzz, 0.3,
>> [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz])
>> +AC_PREREQ([2.64])
>> +AC_INIT([harfbuzz],
>> +        [0.3],
>> +        [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz],
>> +        [harfbuzz],
>> +        [http://freedesktop.org/wiki/Software/harfbuzz])
>> +
>>  AC_CONFIG_SRCDIR([harfbuzz.pc.in])
>>  AC_CONFIG_HEADERS([config.h])
>> -AM_INIT_AUTOMAKE([1.9.6 gnu dist-bzip2 no-dist-gzip -Wall no-define])
>> -m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
>> +AC_CONFIG_MACRO_DIR([m4])
>> +
>> +AM_INIT_AUTOMAKE([1.11.1 gnu dist-bzip2 no-dist-gzip -Wall no-define])
>>  
>> -AC_LIBTOOL_WIN32_DLL
>> -AC_PROG_LIBTOOL dnl ([1.4]) Don't remove!
>> +AM_SILENT_RULES([yes])
>>  
>> +# Check for programs
>>  AC_PROG_CC
>>  AM_PROG_CC_C_O
>>  AC_PROG_CXX
>>  
>> +# Initialize libtool
>> +LT_PREREQ([2.2])
>> +LT_INIT([win32-dll])
>> +
>>  AC_CHECK_FUNCS(mprotect sysconf getpagesize)
>>  AC_CHECK_HEADERS(unistd.h sys/mman.h)
>>  
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> HarfBuzz mailing list
>> HarfBuzz at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
> 
> 



More information about the HarfBuzz mailing list