forked from syslog-ng/syslog-ng
-
Notifications
You must be signed in to change notification settings - Fork 0
/
autogen.sh
executable file
·116 lines (100 loc) · 3.16 KB
/
autogen.sh
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
109
110
111
112
113
114
115
116
#!/bin/sh
#############################################################################
# Copyright (c) 2007-2016 Balabit
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# As an additional exemption you are allowed to compile & link against the
# OpenSSL libraries as published by the OpenSSL project. See the file
# COPYING for details.
#
#############################################################################
#
# This script is needed to setup build environment from checked out
# source tree.
#
SUBMODULES="lib/ivykis lib/jsonc"
GIT=`which git`
# bootstrap syslog-ng itself
case `uname -s` in
"SunOS") SED="gsed" ;;
*) SED="sed" ;;
esac
include_automake_from_dir_if_exists()
{
dir=$1
if [ -f "$1/Makefile.am" ];
then
grep "include $dir/Makefile.am" Makefile.am
if [ "$?" -eq "1" ];
then
last_include=$(grep ^include Makefile.am|grep Makefile.am|tail -n 1)
$SED -i s@"$last_include"@"$last_include\ninclude $dir/Makefile.am"@g Makefile.am
fi
fi
}
autogen_submodules()
{
origdir=`pwd`
submod_initialized=1
for submod in $SUBMODULES; do
if [ ! -f $submod/configure.gnu ]; then
submod_initialized=0
fi
done
if [ -n "$GIT" ] && [ -f .gitmodules ] && [ -d .git ] && [ $submod_initialized = 0 ]; then
# only clone submodules if none of them present
git submodule update --init --recursive
fi
for submod in $SUBMODULES; do
echo "Running autogen in '$submod'..."
cd "$submod"
if [ -x autogen.sh ]; then
./autogen.sh
elif [ -f configure.in ] || [ -f configure.ac ]; then
autoreconf -i
else
echo "Don't know how to bootstrap submodule '$submod'" >&2
exit 1
fi
CONFIGURE_OPTS="--disable-shared --enable-static --with-pic"
$SED -e "s/@__CONFIGURE_OPTS__@/${CONFIGURE_OPTS}/g" ${origdir}/sub-configure.sh >configure.gnu
cd "$origdir"
done
}
if [ -z "$skip_submodules" ]; then
autogen_submodules
fi
# bootstrap syslog-ng itself
case `uname -s` in
"Darwin") LIBTOOLIZE="glibtoolize" ;;
*) LIBTOOLIZE="libtoolize" ;;
esac
$LIBTOOLIZE --force --copy
aclocal -I m4 --install
$SED -i -e 's/PKG_PROG_PKG_CONFIG(\[0\.16\])/PKG_PROG_PKG_CONFIG([0.14])/g' aclocal.m4
include_automake_from_dir_if_exists debian
include_automake_from_dir_if_exists tgz2build
autoheader
automake --foreign --add-missing --copy
autoconf
if grep AX_PREFIX_CONFIG_H configure > /dev/null; then
cat <<EOF
You need autoconf-archive http://savannah.gnu.org/projects/autoconf-archive/
installed in order to generate the configure script, e.g:
apt-get install autoconf-archive
EOF
exit 1
fi