packaging: Enable LTO and set visibility to hidden
[platform/upstream/btrfs-progs.git] / autogen.sh
1 #!/bin/sh
2
3 #
4 # Helps generate autoconf stuff, when code is checked out from SCM.
5 #
6 # Copyright (C) 2006-2014 - Karel Zak <kzak@redhat.com>
7 #
8
9 srcdir=`dirname $0`
10 test -z "$srcdir" && srcdir=.
11
12 THEDIR=`pwd`
13 cd $srcdir
14 DIE=0
15
16 test -f btrfs.c || {
17         echo
18         echo "You must run this script in the top-level btrfs-progs directory"
19         echo
20         DIE=1
21 }
22
23 (autoconf --version) < /dev/null > /dev/null 2>&1 || {
24         echo
25         echo "You must have autoconf installed to generate btrfs-progs build system."
26         echo
27         DIE=1
28 }
29 (autoheader --version) < /dev/null > /dev/null 2>&1 || {
30         echo
31         echo "You must have autoheader installed to generate btrfs-progs build system."
32         echo "The autoheader command is part of the GNU autoconf package."
33         echo
34         DIE=1
35 }
36
37 (automake --version) < /dev/null > /dev/null 2>&1 || {
38         echo
39         echo "You must have automake installed to generate btrfs-progs build system."
40         echo
41         DIE=1
42 }
43
44 (pkg-config --version) < /dev/null > /dev/null 2>&1 || {
45         echo
46         echo "You must have pkg-config installed to use btrfs-progs build system."
47         echo "The pkg-config utility was not found in the standard location, set"
48         echo "the PKG_CONFIG/PKG_CONFIG_PATH/PKG_CONFIG_LIBDIR variables at the"
49         echo "configure time."
50         echo
51 }
52
53 if test "$DIE" -eq 1; then
54         exit 1
55 fi
56
57 echo
58 echo "Generate build-system by:"
59 echo "   aclocal:    $(aclocal --version | head -1)"
60 echo "   autoconf:   $(autoconf --version | head -1)"
61 echo "   autoheader: $(autoheader --version | head -1)"
62 echo "   automake:   $(automake --version | head -1)"
63
64 rm -rf autom4te.cache
65
66 aclocal -I m4 $AL_OPTS &&
67 autoconf -I m4 $AC_OPTS &&
68 autoheader -I m4 $AH_OPTS ||
69 exit 1
70
71 # it's better to use helper files from automake installation than
72 # maintain copies in git tree
73 find_autofile() {
74         if [ -f "$1" ]; then
75                 return
76         fi
77         for HELPER_DIR in $(automake --print-libdir 2>/dev/null) \
78                         /usr/share/libtool \
79                         /usr/share/automake-* ; do
80                 f="$HELPER_DIR/$1"
81                 if [ -f "$f" ]; then
82                         cp "$f" config/
83                         return
84                 fi
85         done
86         echo "Cannot find "$1" in known locations"
87         exit 1
88 }
89
90 mkdir -p config/
91 find_autofile config.guess
92 find_autofile config.sub
93 find_autofile install-sh
94
95 cd "$THEDIR"
96
97 echo
98 echo "Now type '$srcdir/configure' and 'make' to compile."
99 echo