head 1.6; access; symbols RELEASE_1_8_6:1.6 RELEASE_1_8_4:1.6 RELEASE_1_8_2:1.6 RELEASE_1_8_0:1.6 RELEASE_1_6_4:1.6 RELEASE_1_4_12:1.6 RELEASE_1_4_0:1.5 RELEASE_1_2_6:1.5 RELEASE_1_2_2:1.5 RELEASE_1_2_0:1.5 RELEASE_1_1_6:1.5 RELEASE_1_0_2:1.4 RELEASE_1_0_0:1.4 SNAPSHOT_0_9_0:1.4 SNAPSHOT_0_6_0:1.4 SNAPSHOT_0_5_1:1.4 SNAPSHOT_0_5_5:1.4 SNAPSHOT_0_4_0:1.3 SNAPSHOT_0_1_4:1.2; locks; strict; comment @# @; 1.6 date 2007.04.06.08.38.44; author stevech1097; state Exp; branches; next 1.5; 1.5 date 2006.05.29.03.54.09; author stevech1097; state Exp; branches; next 1.4; 1.4 date 2005.05.16.01.04.34; author stevech1097; state Exp; branches; next 1.3; commitid 668d4287f19d4567; 1.3 date 2005.02.16.23.16.33; author cworth; state Exp; branches; next 1.2; 1.2 date 2004.11.01.16.29.45; author cworth; state Exp; branches; next 1.1; 1.1 date 2003.09.17.14.59.34; author james; state Exp; branches; next ; desc @@ 1.6 log @'SC' @ text @#!/bin/sh # Run this to generate all the initial makefiles, etc. set -e ARGV0=$0 # 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` cd $srcdir PACKAGE=Pycairo LIBTOOLIZE=${LIBTOOLIZE-libtoolize} LIBTOOLIZE_FLAGS="--copy --force" AUTOHEADER=${AUTOHEADER-autoheader} AUTOMAKE_FLAGS="--add-missing --foreign" AUTOCONF=${AUTOCONF-autoconf} CONFIGURE_IN= test -f configure.in && CONFIGURE_IN=configure.in test -f configure.ac && CONFIGURE_IN=configure.ac if test "X$CONFIGURE_IN" = X; then echo "$ARGV0: ERROR: No $srcdir/configure.in or $srcdir/configure.ac found." exit 1 fi extract_version() { # modified from cairo/autogen.sh grep "^ *$1" $CONFIGURE_IN | 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`" normal="`tput sgr0 2>/dev/null`" 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 $libtoolize_min_vers \ "http://ftp.gnu.org/pub/gnu/libtool/libtool-${libtool_min_vers}.tar.gz" || DIE=1 if test -z "$ACLOCAL_FLAGS"; then acdir=`$ACLOCAL --print-ac-dir` if [ ! -f $acdir/pkg.m4 ]; then echo "$ARGV0: Error: Could not find pkg-config macros." echo " (Looked in $acdir/pkg.m4)" echo " If pkg.m4 is available in /another/directory, please set" echo " ACLOCAL_FLAGS=\"-I /another/directory\"" echo " Otherwise, please install pkg-config." echo "" echo "pkg-config is available from:" echo "http://www.freedesktop.org/software/pkgconfig/" DIE=yes fi fi if test "X$DIE" != X; 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 do_cmd $AUTOMAKE $AUTOMAKE_FLAGS do_cmd $AUTOCONF cd $ORIGDIR || exit 1 # don't use 'do_cmd' since it prevents # './autogen.sh --prefix=/usr CFLAGS="$CFLAGS -Werror"' from working #do_cmd $srcdir/configure --enable-maintainer-mode ${1+"$@@"} && echo "Now type \`make' to compile" || exit 1 $srcdir/configure --enable-maintainer-mode ${1+"$@@"} && echo "Now type \`make' to compile" || exit 1 @ 1.5 log @'SC' @ text @d5 10 d23 17 a39 1 automake_min_vers=1.9 a40 2 autoconf_min_vers=2.59 libtoolize_min_vers=1.4 a41 4 # The awk-based string->number conversion we use needs a C locale to work # as expected. Setting LC_ALL overrides whether the user set LC_ALL, # LC_NUMERIC, or LANG. LC_ALL=C d43 20 a62 1 ARGV0=$0 a63 4 # 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=. d65 19 a83 1 ORIGDIR=`pwd` d85 16 a100 1 cd $srcdir d102 25 a126 8 if ($AUTOCONF --version) < /dev/null > /dev/null 2>&1 ; then if ($AUTOCONF --version | head -n 1 | awk 'NR==1 { if( $(NF) >= '$autoconf_min_vers') \ exit 1; exit 0; }'); then echo "$ARGV0: ERROR: \`$AUTOCONF' is too old." $AUTOCONF --version echo " (version $autoconf_min_vers or newer is required)" DIE="yes" d128 6 a133 7 else echo $AUTOCONF: command not found echo echo "$ARGV0: ERROR: You must have \`autoconf' installed to compile $PACKAGE." echo " (version $autoconf_min_vers or newer is required)" DIE="yes" fi d141 3 a143 12 if test x"$AUTOMAKE" = x || test x"$ACLOCAL" = x ; then am_ver="" for ver in "" "-1.9" ; do am="automake$ver" if ($am --version) < /dev/null > /dev/null 2>&1 ; then if ($am --version | head -n 1 | awk 'NR==1 { if( $(NF) >= '$automake_min_vers') \ exit 1; exit 0; }'); then : ; else am_ver=$ver break; fi fi done a144 40 AUTOMAKE=${AUTOMAKE-automake$am_ver} ACLOCAL=${ACLOCAL-aclocal$am_ver} fi # # Now repeat the tests with the copies we decided upon and error out if they # aren't sufficiently new. # if ($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 ; then if ($AUTOMAKE --version | head -n 1 | awk 'NR==1 { if( $(NF) >= '$automake_min_vers') \ exit 1; exit 0; }'); then echo "$ARGV0: ERROR: \`$AUTOMAKE' is too old." $AUTOMAKE --version echo " (version $automake_min_vers or newer is required)" DIE="yes" fi if ($ACLOCAL --version) < /dev/null > /dev/null 2>&1; then if ($ACLOCAL --version | head -n 1 | awk 'NR==1 { if( $(NF) >= '$aclocal_min_vers' ) \ exit 1; exit 0; }' ); then echo "$ARGV0: ERROR: \`$ACLOCAL' is too old." $ACLOCAL --version echo " (version $aclocal_min_vers or newer is required)" DIE="yes" fi else echo $ACLOCAL: command not found echo echo "$ARGV0: ERROR: Missing \`$ACLOCAL'" echo " The version of $AUTOMAKE installed doesn't appear recent enough." DIE="yes" fi else echo $AUTOMAKE: command not found echo echo "$ARGV0: ERROR: You must have \`automake' installed to compile $PACKAGE." echo " (version $automake_min_vers or newer is required)" DIE="yes" fi d146 2 a147 15 if ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 ; then if ($LIBTOOLIZE --version | awk 'NR==1 { if( $4 >= '$libtoolize_min_vers') \ exit 1; exit 0; }'); then echo "$ARGV0: ERROR: \`$LIBTOOLIZE' is too old." echo " (version $libtoolize_min_vers or newer is required)" DIE="yes" fi else echo $LIBTOOLIZE: command not found echo echo "$ARGV0: ERROR: You must have \`libtoolize' installed to compile $PACKAGE." echo " (version $libtoolize_min_vers or newer is required)" DIE="yes" fi @ 1.4 log @SC @ text @d3 1 d5 23 a27 1 srcdir=`dirname $0` d31 1 a32 18 PROJECT=Pycairo TEST_TYPE=-d FILE=cairo DIE=0 test -z "$AUTOCONF" && AUTOCONF=autoconf test -z "$AUTOHEADER" && AUTOHEADER=autoheader test -z "$LIBTOOL" && LIBTOOL=libtool test -z "$LIBTOOLIZE" && LIBTOOLIZE=libtoolize ($AUTOCONF --version) < /dev/null > /dev/null 2>&1 || { echo echo "You must have autoconf installed to compile $PROJECT." echo "Download the appropriate package for your distribution," echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" DIE=1 } d34 39 a72 7 ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || { echo echo "You must have libtool installed to compile $PROJECT." echo "Get ftp://ftp.gnu.org/gnu/libtool/libtool-1.4.tar.gz" echo "(or a newer version if it is available)" DIE=1 } d74 22 a95 4 if test -z "$AUTOMAKE"; then if automake --version < /dev/null > /dev/null 2>&1; then AUTOMAKE=automake ACLOCAL=aclocal d97 1 d99 3 a101 3 echo "You must have automake installed to compile $PROJECT." echo "See ftp://ftp.gnu.org/pub/gnu/automake/" DIE=1 d103 6 d111 33 a143 2 if test "$DIE" -eq 1; then exit 1 a145 4 test $TEST_TYPE $FILE || { echo "You must run this script in the top-level $PROJECT directory" exit 1 } d148 4 a151 2 echo "I am going to run ./configure with no arguments - if you wish " echo "to pass any to it, please specify them on the $0 command line." d154 6 a159 3 case $CC in *xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;; esac d161 3 a163 1 if test -z "$ACLOCAL_FLAGS"; then d165 1 a165 2 acdir=`$ACLOCAL --print-ac-dir` m4list="glib-2.0.m4 gtk-2.0.m4 gettext.m4" d167 1 a167 32 for file in $m4list do if [ ! -f "$acdir/$file" ]; then echo "WARNING: aclocal's directory is $acdir, but..." echo " no file $acdir/$file" echo " You may see fatal macro warnings below." echo " If these files are installed in /some/dir, set the ACLOCAL_FLAGS " echo " environment variable to \"-I /some/dir\", or install" echo " $acdir/$file." echo "" fi done fi #echo "Running gettextize... Ignore non-fatal messages." # Hmm, we specify --force here, since otherwise things dont' # get added reliably, but we don't want to overwrite intl # while making dist. #echo "no" | gettextize --copy --force $ACLOCAL $ACLOCAL_FLAGS # optionally feature autoheader ($AUTOHEADER --version) < /dev/null > /dev/null 2>&1 && $AUTOHEADER # run libtoolize ... $LIBTOOLIZE --force $AUTOMAKE -a $am_opt $AUTOHEADER $AUTOCONF cd $ORIGDIR d169 1 a169 1 $srcdir/configure --enable-maintainer-mode "$@@" d171 4 a174 2 echo echo "Now type 'make' to compile $PROJECT." @ 1.3 log @ * cairo/pycairo.h: Wrap include of cairo-xlib.h in CAIRO_HAS_XLIB_SURFACE. * autogen.sh: Call all autotool commands through environment variables. Thanks to Rui Lopes. @ text @d9 1 a9 1 PROJECT=PyCairo @ 1.2 log @ * cairo/Makefile.am (INCLUDES): Add CAIRO_CFLAGS so that things compile even without pygtk. * configure.ac: Don't re-do cairo pkg-config check when checking for gtk. * autogen.sh: If user has not set AUTOMAKE, then just use automake rather than automake-1.7. @ text @d17 2 d20 1 a20 1 (autoconf --version) < /dev/null > /dev/null 2>&1 || { d28 1 a28 1 (libtool --version) < /dev/null > /dev/null 2>&1 || { d97 1 a97 1 libtoolize --force @ 1.1 log @add autogen.sh @ text @d35 3 a37 3 if automake-1.7 --version < /dev/null > /dev/null 2>&1; then AUTOMAKE=automake-1.7 ACLOCAL=aclocal-1.7 d41 1 a41 2 echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.7.6.tar.gz" echo "(or a newer version if it is available)" @