daemon: new scheme for graceful termination
[yaz-moved-to-github.git] / buildconf.sh
index dff3467..bc1f6e2 100755 (executable)
@@ -4,19 +4,22 @@ automake=automake
 aclocal=aclocal
 autoconf=autoconf
 libtoolize=libtoolize
+autoheader=autoheader
 
+test -d autom4te.cache && rm -r autom4te.cache
 test -d config || mkdir config
-if test .git; then
+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 configuration for FreeBSD ..."
-    automake=automake19
-    aclocal="aclocal19 -I /usr/local/share/aclocal"
-    autoconf=autoconf259
-    libtoolize=libtoolize15
+    automake=automake
+    aclocal="aclocal -I /usr/local/share/aclocal"
+    autoconf=autoconf
+    libtoolize=libtoolize
+    autoheader=autoheader
 fi
 
 if [ "`uname -s`" = Darwin ]; then
@@ -26,7 +29,7 @@ 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
@@ -34,8 +37,16 @@ if $automake --version|head -1 |grep '1\.[4-7]'; then
 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
@@ -66,8 +77,13 @@ case $1 in
 esac
 
 if $enable_configure; then
-    if test -n "$sh_cflags"; then
-       CFLAGS="$sh_cflags" CXXFLAGS="$sh_cxxflags" ./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 --with-pic $*
+        else
+           CFLAGS="$sh_cflags" CXXFLAGS="$sh_cxxflags" ./configure $*
+        fi
     else
        ./configure $*
     fi
@@ -98,13 +114,11 @@ EOF
 Or just build the Debian packages without configuring
   dpkg-buildpackage -rfakeroot
 
-When building from a CVS checkout, 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,
-  libpcap0.8-dev
-
-Also perhaps: libgnutls-dev libicu-dev
+When building from Git, you need these Debian packages:
+  autoconf automake libtool gcc bison tcl8.4
+  xsltproc docbook docbook-xml docbook-xsl
+  libxslt1-dev libgnutls-dev libreadline5-dev libwrap0-dev
+  pkg-config libicu-dev 
 
 And if you want to make a Debian package: dpkg-dev fakeroot debhelper
 (Then run "dpkg-buildpackage -rfakeroot" in this directory.)
@@ -113,9 +127,10 @@ EOF
     fi
     if [ "`uname -s`" = FreeBSD ]; then
         cat <<EOF
-When building from a CVS checkout, you need these FreeBSD Ports:
-  autoconf259, automake19, libtool15, bison, tcl84,
-  docbook-xsl, libxml2, libxslt, g++-4.0, make
+When building from a Git, you need these FreeBSD Ports:
+  pkg_add -r autoconf268 automake111 libtool bison tcl84 \\
+             docbook-xsl libxml2 libxslt
+  pkg_add -r icu4
 EOF
     fi
 fi