Document changes
[metaproxy-moved-to-github.git] / buildconf.sh
1 #!/bin/sh
2
3 automake=automake
4 aclocal=aclocal
5 autoconf=autoconf
6 libtoolize=libtoolize
7 autoheader=autoheader
8
9 test -d autom4te.cache && rm -r autom4te.cache
10 test -d config || mkdir config
11 if [ -d .git ]; then
12     git submodule init
13     git submodule update
14 fi
15 if [ "`uname -s`" = FreeBSD ]; then
16     # FreeBSD intalls the various auto* tools with version numbers
17     echo "Using special configuration for FreeBSD ..."
18     automake=automake
19     aclocal="aclocal -I /usr/local/share/aclocal"
20     autoconf=autoconf
21     libtoolize=libtoolize
22     autoheader=autoheader
23 fi
24
25 if [ "`uname -s`" = Darwin ]; then
26     echo "Using special configuration for Darwin/MacOS ..."
27     libtoolize=glibtoolize
28 fi
29
30 if $automake --version|head -1 |grep '1\.[4-7]'; then
31     echo "automake 1.4-1.7 is active. You should use automake 1.8 or later"
32     if [ -f /etc/debian_version ]; then
33         echo " sudo apt-get install automake1.9"
34         echo " sudo update-alternatives --config automake"
35     fi
36     exit 1
37 fi
38
39 set -x
40 $aclocal -I m4
41 if grep AC_CONFIG_HEADERS configure.ac >/dev/null; then
42     $autoheader
43 fi
44 $libtoolize --automake --force 
45 $automake --add-missing 
46 $autoconf
47 set -
48 if [ -f config.cache ]; then
49         rm config.cache
50 fi
51
52 enable_configure=false
53 enable_help=true
54 sh_flags=""
55 conf_flags=""
56 case $1 in
57     -d)
58         sh_cflags="-g -Wall -Wdeclaration-after-statement -Wstrict-prototypes"
59         sh_cxxflags="-g -Wall"
60         enable_configure=true
61         enable_help=false
62         shift
63         ;;
64     -c)
65         sh_cflags=""
66         sh_cxxflags=""
67         enable_configure=true
68         enable_help=false
69         shift
70         ;;
71 esac
72
73 if $enable_configure; then
74     if [ -n "$sh_cflags" ]; then
75         CFLAGS="$sh_cflags" CXXFLAGS="$sh_cxxflags" ./configure \
76                 --disable-shared --enable-static --with-pic $*
77     else
78         ./configure $*
79     fi
80 fi
81 if $enable_help; then
82     cat <<EOF
83
84 Build the Makefiles with the configure command.
85   ./configure [--someoption=somevalue ...]
86
87 For help on options or configuring run
88   ./configure --help
89
90 Build and install binaries with the usual
91   make
92   make check
93   make install
94
95 Build distribution tarball with
96   make dist
97
98 Verify distribution tarball with
99   make distcheck
100
101 EOF
102     if [ -f /etc/debian_version ]; then
103         cat <<EOF
104 Or just build the Debian packages without configuring
105   dpkg-buildpackage -rfakeroot
106
107 When building from Git, you need these Debian packages:
108   autoconf automake libtool g++
109   xsltproc docbook docbook-xml docbook-xsl inkscape
110   libxslt1-dev libgnutls-dev libreadline5-dev libicu-dev
111   libboost-dev libboost-thread-dev libboost-test-dev
112   libboost-regex-dev
113
114 And if you want to make a Debian package: dpkg-dev fakeroot debhelper
115 (Then run "dpkg-buildpackage -rfakeroot" in this directory.)
116
117 EOF
118     fi
119     if [ "`uname -s`" = FreeBSD ]; then
120         cat <<EOF
121   pkg_add -r autoconf262 automake110 libtool bison tcl84 \\
122              docbook-xsl libxml2 libxslt boost-all
123   pkg_add -r icu4
124 EOF
125     fi
126 fi