summaryrefslogtreecommitdiff
path: root/autogen.sh
blob: a5f9af24f5c97b192371fa5aa31aac7d84c9b0eb (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
#!/bin/sh

#
# Helps generate autoconf stuff, when code is checked out from SCM.
#
# Copyright (C) 2006-2014 - Karel Zak <kzak@redhat.com>
#

srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.

THEDIR=`pwd`
cd $srcdir
DIE=0

test -f btrfs.c || {
	echo
	echo "You must run this script in the top-level btrfs-progs directory"
	echo
	DIE=1
}

(autoconf --version) < /dev/null > /dev/null 2>&1 || {
	echo
	echo "You must have autoconf installed to generate btrfs-progs build system."
	echo
	DIE=1
}
(autoheader --version) < /dev/null > /dev/null 2>&1 || {
	echo
	echo "You must have autoheader installed to generate btrfs-progs build system."
	echo "The autoheader command is part of the GNU autoconf package."
	echo
	DIE=1
}

(automake --version) < /dev/null > /dev/null 2>&1 || {
	echo
	echo "You must have automake installed to generate btrfs-progs build system."
	echo
	DIE=1
}

(pkg-config --version) < /dev/null > /dev/null 2>&1 || {
	echo
	echo "You must have pkg-config installed to use btrfs-progs build system."
	echo "The pkg-config utility was not found in the standard location, set"
	echo "the PKG_CONFIG/PKG_CONFIG_PATH/PKG_CONFIG_LIBDIR variables at the"
	echo "configure time."
	echo
}

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

echo
echo "Generate build-system by:"
echo "   aclocal:    $(aclocal --version | head -1)"
echo "   autoconf:   $(autoconf --version | head -1)"
echo "   autoheader: $(autoheader --version | head -1)"
echo "   automake:   $(automake --version | head -1)"

chmod +x version.sh
rm -rf autom4te.cache

aclocal $AL_OPTS &&
autoconf $AC_OPTS &&
autoheader $AH_OPTS ||
exit 1

# it's better to use helper files from automake installation than
# maintain copies in git tree
find_autofile() {
	if [ -f "$1" ]; then
		return
	fi
	for HELPER_DIR in $(automake --print-libdir 2>/dev/null) \
			/usr/share/libtool \
			/usr/share/automake-* ; do
		f="$HELPER_DIR/$1"
		if [ -f "$f" ]; then
			cp "$f" config/
			return
		fi
	done
	echo "Cannot find "$1" in known locations"
	exit 1
}

mkdir -p config/
find_autofile config.guess
find_autofile config.sub
find_autofile install-sh

cd "$THEDIR"

echo
echo "Now type '$srcdir/configure' and 'make' to compile."
echo