autogen.sh 5.37 KB
Newer Older
Keith Packard's avatar
Keith Packard committed
1
#!/bin/sh
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
# fontconfig/autogen.sh
#
# Copyright © 2000 Keith Packard
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of the author(s) not be used in
# advertising or publicity pertaining to distribution of the software without
# specific, written prior permission.  The authors make no
# representations about the suitability of this software for any purpose.  It
# is provided "as is" without express or implied warranty.
#
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

Keith Packard's avatar
Keith Packard committed
24 25
# Run this to generate all the initial makefiles, etc.

26 27
set -e

Keith Packard's avatar
Keith Packard committed
28 29 30
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.

31 32 33 34 35 36 37
case "$1" in
--noconf*) 
    	AUTOGEN_SUBDIR_MODE="true"
	shift
	;;
esac

Keith Packard's avatar
Keith Packard committed
38 39 40 41 42
ORIGDIR=`pwd`
cd $srcdir
PROJECT=Fontconfig
TEST_TYPE=-f
FILE=fontconfig/fontconfig.h
43
ACLOCAL=${ACLOCAL-aclocal}
44
ACLOCAL_FLAGS="-I m4"
45 46 47 48
LIBTOOLIZE=${LIBTOOLIZE-libtoolize}
AUTOMAKE=${AUTOMAKE-automake}
AUTOHEADER=${AUTOHEADER-autoheader}
AUTOCONF=${AUTOCONF-autoconf}
49
GPERF=${GPERF-gperf}
50
PYTHON=${PYTHON-python}
51
LIBTOOLIZE_FLAGS="--copy --force"
52
GETTEXTIZE=${GETTEXTIZE-gettextize}
53
GETTEXTIZE_FLAGS="--force --no-changelog"
Keith Packard's avatar
Keith Packard committed
54 55 56

DIE=0

57 58 59 60 61 62 63 64
($GPERF --version) < /dev/null > /dev/null 2>&1 || {
	echo
	echo "You must have gperf installed to compile $PROJECT."
	echo "Install the appropriate package for your distribution."
	echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
	DIE=1
}

65 66 67 68 69 70 71 72
($PYTHON --version) < /dev/null > /dev/null 2>&1 || {
	echo
	echo "You must have python installed to compile $PROJECT."
	echo "Install the appropriate package for your distribution."
	echo "or get the source tarball at https://www.python.org/downloads/source/"
	DIE=1
}

Keith Packard's avatar
Keith Packard committed
73
have_libtool=false
74
if $LIBTOOLIZE --version < /dev/null > /dev/null 2>&1 ; then
75
	libtool_version=`$LIBTOOLIZE --version | sed 's/^.* \([0-9][.][0-9.]*\)[^ ]*$/\1/'`
Keith Packard's avatar
Keith Packard committed
76
	case $libtool_version in
77
	    1.4*|1.5*|1.6*|1.7*|2*)
Keith Packard's avatar
Keith Packard committed
78 79 80 81 82 83 84 85 86 87 88
		have_libtool=true
		;;
	esac
fi
if $have_libtool ; then : ; else
	echo
	echo "You must have libtool 1.4 installed to compile $PROJECT."
	echo "Install the appropriate package for your distribution,"
	echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
	DIE=1
fi
89 90 91 92 93 94 95
($GETTEXTIZE --version) < /dev/null > /dev/null 2>&1 || {
	echo
	echo "You must have gettext installed to compile $PROJECT."
	echo "Install the appropriate package for your distribution,"
	echo "or get the source tarball at  ftp://ftp.gnu.org/pub/gnu/"
	DIE=1
}
96
($AUTOCONF --version) < /dev/null > /dev/null 2>&1 || {
Keith Packard's avatar
Keith Packard committed
97 98 99 100 101 102 103 104
	echo
	echo "You must have autoconf installed to compile $PROJECT."
	echo "libtool the appropriate package for your distribution,"
	echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
	DIE=1
}

have_automake=false
105 106 107
need_libtoolize=true
if $AUTOMAKE --version < /dev/null > /dev/null 2>&1 ; then
	automake_version=`$AUTOMAKE --version | grep 'automake (GNU automake)' | sed 's/^[^0-9]*\(.*\)/\1/'`
Keith Packard's avatar
Keith Packard committed
108 109 110
	case $automake_version in
	   1.2*|1.3*|1.4) 
		;;
111 112 113 114
	   1.4*)
	   	have_automake=true
	        need_libtoolize=false
		;;
Keith Packard's avatar
Keith Packard committed
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
	   *)
		have_automake=true
		;;
	esac
fi
if $have_automake ; then : ; else
	echo
	echo "You must have automake 1.4-p1 installed to compile $PROJECT."
	echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.4-p1.tar.gz"
	echo "(or a newer version if it is available)"
	DIE=1
fi

if test "$DIE" -eq 1; then
	exit 1
fi

test $TEST_TYPE $FILE || {
	echo "You must run this script in the top-level $PROJECT directory"
	exit 1
}

Behdad Esfahbod's avatar
Behdad Esfahbod committed
137
if test -z "$AUTOGEN_SUBDIR_MODE" -a -z "$NOCONFIGURE"; then
Keith Packard's avatar
Keith Packard committed
138 139 140 141 142 143
        if test -z "$*"; then
                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."
        fi
fi

144
[ -f configure.ac~ ] && rm configure.ac~
145
[ -f Makefile.am~ ] && rm Makefile.am~
146 147
echo Running $GETTEXTIZE $GETTEXTIZE_FLAGS
$GETTEXTIZE $GETTEXTIZE_FLAGS
148 149
# revert changes from gettextize for workaround...
[ -f configure.ac~ ] && mv configure.ac~ configure.ac
150
[ -f Makefile.am~ ] && mv Makefile.am~ Makefile.am
151 152 153
echo Running $GETTEXTIZE $GETTEXTIZE_FLAGS --po-dir=po-conf
$GETTEXTIZE $GETTEXTIZE_FLAGS --po-dir=po-conf
[ -f configure.ac~ ] && mv configure.ac~ configure.ac
154
[ -f Makefile.am~ ] && mv Makefile.am~ Makefile.am
155

156 157
echo Running $ACLOCAL $ACLOCAL_FLAGS
$ACLOCAL $ACLOCAL_FLAGS
Keith Packard's avatar
Keith Packard committed
158 159

# optionally run autoheader
160 161 162 163 164 165 166 167 168 169 170
if $AUTOHEADER --version  < /dev/null > /dev/null 2>&1; then
	echo Running $AUTOHEADER
	$AUTOHEADER
fi

case $need_libtoolize in
   true)
   	echo Running $LIBTOOLIZE $LIBTOOLIZE_FLAGS
   	$LIBTOOLIZE $LIBTOOLIZE_FLAGS
	;;
esac
Keith Packard's avatar
Keith Packard committed
171

172 173 174 175
echo Running $AUTOMAKE -a $am_opt
$AUTOMAKE -a $am_opt
echo Running $AUTOCONF
$AUTOCONF
Keith Packard's avatar
Keith Packard committed
176 177
cd $ORIGDIR

Behdad Esfahbod's avatar
Behdad Esfahbod committed
178
if test -z "$AUTOGEN_SUBDIR_MODE" -a -z "$NOCONFIGURE"; then
179 180
	echo Running $srcdir/configure "$@"
        $srcdir/configure "$@"
Keith Packard's avatar
Keith Packard committed
181 182 183 184

        echo 
        echo "Now type 'make' to compile $PROJECT."
fi