#!/bin/sh
-# $Id: buildconf.sh,v 1.42 2006-08-24 14:29:58 heikki Exp $
automake=automake
aclocal=aclocal
autoconf=autoconf
libtoolize=libtoolize
+autoheader=autoheader
+test -d config || mkdir config
+if [ -d .git ]; then
+ git submodule init
+ git submodule update
+fi
if [ "`uname -s`" = FreeBSD ]; then
# FreeBSD intalls the various auto* tools with version numbers
- echo "Using special configuation for FreeBSD ..."
+ echo "Using special configuration for FreeBSD ..."
automake=automake19
aclocal="aclocal19 -I /usr/local/share/aclocal"
autoconf=autoconf259
libtoolize=libtoolize15
+ autoheader=autoheader259
+fi
+
+if [ "`uname -s`" = Darwin ]; then
+ echo "Using special configuration for Darwin/MacOS ..."
+ libtoolize=glibtoolize
fi
if $automake --version|head -1 |grep '1\.[4-7]'; then
echo "automake 1.4-1.7 is active. You should use automake 1.8 or later"
- if test -f /etc/debian_version; then
+ if [ -f /etc/debian_version ]; then
echo " sudo apt-get install automake1.9"
echo " sudo update-alternatives --config automake"
fi
fi
set -x
-# I am tired of underquoted warnings for Tcl macros
$aclocal -I m4
+if grep AC_CONFIG_HEADERS configure.ac >/dev/null; then
+ $autoheader
+fi
+if grep AM_PROG_LIBTOOL configure.ac >/dev/null; then
+ has_libtool=true
+else
+ has_libtool=false
+fi
+
$libtoolize --automake --force
$automake --add-missing
$autoconf
conf_flags=""
case $1 in
-d)
- #sh_flags="-g -Wall -Wdeclaration-after-statement -Werror"
- sh_flags="-g -Wall -Wdeclaration-after-statement "
+ sh_cflags="-g -Wall -Wdeclaration-after-statement -Wstrict-prototypes"
+ sh_cxxflags="-g -Wall"
enable_configure=true
enable_help=false
shift
;;
-c)
- sh_flags=""
+ sh_cflags=""
+ sh_cxxflags=""
enable_configure=true
enable_help=false
shift
esac
if $enable_configure; then
- if test -n "$sh_flags"; then
- CFLAGS="$sh_flags" ./configure --disable-shared --enable-static $*
+ if [ -n "$sh_cflags" ]; then
+ if $has_libtool; then
+ CFLAGS="$sh_cflags" CXXFLAGS="$sh_cxxflags" ./configure --disable-shared --enable-static $*
+ else
+ CFLAGS="$sh_cflags" CXXFLAGS="$sh_cxxflags" ./configure $*
+ fi
else
./configure $*
fi
Or just build the Debian packages without configuring
dpkg-buildpackage -rfakeroot
-When building from a CVS checkout, you need these Debian packages:
+When building from Git, you need these Debian packages:
autoconf, automake, libtool, gcc, bison, any tcl,
xsltproc, docbook, docbook-xml, docbook-xsl,
- libxslt1-dev, libssl-dev, libreadline5-dev, libwrap0-dev
+ libxslt1-dev, libssl-dev, libreadline5-dev, libwrap0-dev,
+ libpcap0.8-dev, pkg-config
+
+Also perhaps: libgnutls-dev libicu-dev
+
+And if you want to make a Debian package: dpkg-dev fakeroot debhelper
+(Then run "dpkg-buildpackage -rfakeroot" in this directory.)
+
EOF
fi
if [ "`uname -s`" = FreeBSD ]; then
cat <<EOF
-When building from a CVS checkout, you need these FreeBSD Ports:
+When building from a Git, you need these FreeBSD Ports:
autoconf259, automake19, libtool15, bison, tcl84,
docbook-xsl, libxml2, libxslt, g++-4.0, make
EOF