about summary refs log tree commit diff
path: root/autogen.sh
blob: 5e55ee1b1c689e9b052f6c5a97c092c7fca8d5db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/bin/sh
#
# ngIRCd -- The Next Generation IRC Daemon
# Copyright (c)2001-2004 Alexander Barton <alex@barton.de>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# Please read the file COPYING, README and AUTHORS for more information.
#
# $Id: autogen.sh,v 1.8 2004/03/11 22:21:20 alex Exp $
#

Search()
{
	[ $# -eq 2 ] || exit 1

	name="$1"
	major="$2"
	minor=99

	type "${name}" >/dev/null 2>&1
	if [ $? -eq 0 ]; then
		echo "${name}"
		return 0
	fi

	while [ $minor -ge 0 ]; do
		type "${name}${major}${minor}" >/dev/null 2>&1
		if [ $? -eq 0 ]; then
			echo "${name}${major}${minor}"
			return 0
		fi
		type "${name}-${major}.${minor}" >/dev/null 2>&1
		if [ $? -eq 0 ]; then
			echo "${name}-${major}.${minor}" >/dev/null 2>&1
		fi
		minor=`expr $minor - 1`
	done
	return 1
}

Notfound()
{
	echo "Error: $* not found!"
	echo "Please install recent versions of GNU autoconf and GNU automake."
	exit 1
}

# Reset locale settings to suppress warning messages of Perl
unset LC_ALL
unset LANG

# We want to use GNU automake 1.7, if available (WANT_AUTOMAKE is used by
# the wrapper scripts of Gentoo Linux):
WANT_AUTOMAKE=1.7
export WANT_AUTOMAKE

# Try to detect the needed tools when no environment variable already
# spezifies one:
echo "Searching tools ..."
[ -z "$ACLOCAL" ] && ACLOCAL=`Search aclocal 1`
[ -z "$AUTOHEADER" ] && AUTOHEADER=`Search autoheader 2`
[ -z "$AUTOMAKE" ] && AUTOMAKE=`Search automake 1`
[ -z "$AUTOCONF" ] && AUTOCONF=`Search autoconf 2`

# Some debugging output ...
if [ -n "$DEBUG" ]; then
	echo "ACLOCAL=$ACLOCAL"
	echo "AUTOHEADER=$AUTOHEADER"
	echo "AUTOMAKE=$AUTOMAKE"
	echo "AUTOCONF=$AUTOCONF"
fi

# Verify that all tools have been found
[ -z "$AUTOCONF" ] && Notfounf autoconf
[ -z "$AUTOHEADER" ] && Notfound autoheader
[ -z "$AUTOMAKE" ] && Notfound automake
[ -z "$AUTOCONF" ] && Notfound autoconf

export AUTOCONF AUTOHEADER AUTOMAKE AUTOCONF

# Generate files
echo "Generating files ..."
$ACLOCAL && \
	$AUTOHEADER && \
	$AUTOMAKE --add-missing && \
	$AUTOCONF

if [ $? -eq 0 ]; then
	# Success: if we got some parameters we call ./configure and pass
	# all of them to it.
	if [ -n "$*" -a -x ./configure ]; then
		echo "Calling generated \"configure\" script ..."
		./configure $*
		exit $?
	else
		echo "Okay, autogen.sh done; now run the \"configure\" script."
		exit 0
	fi
else
	# Failure!?
	echo "Error! Check your installation of GNU automake and autoconf!"
	exit 1
fi

# -eof-