document icu4 for FreeBSD
[yaz-moved-to-github.git] / buildconf.sh
index 167152b..c82194a 100755 (executable)
@@ -1,23 +1,34 @@
 #!/bin/sh
-# $Id: buildconf.sh,v 1.33 2006-05-23 14:07:49 adam 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 ..."
-    automake=automake19
-    aclocal="aclocal19 -I /usr/local/share/aclocal"
-    autoconf=autoconf259
-    libtoolize=libtoolize15
+    echo "Using special configuration for FreeBSD ..."
+    automake=automake
+    aclocal="aclocal -I /usr/local/share/aclocal"
+    autoconf=autoconf
+    libtoolize=libtoolize
+    autoheader=autoheader
+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
@@ -25,8 +36,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 2>&1 | grep -v "warning: underquoted definition"
+$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
@@ -41,13 +60,15 @@ sh_flags=""
 conf_flags=""
 case $1 in
     -d)
-       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
@@ -55,8 +76,13 @@ case $1 in
 esac
 
 if $enable_configure; then
-    if test -n "$sh_flags"; then
-       CFLAGS="$sh_flags" ./configure $*
+    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
@@ -87,17 +113,25 @@ EOF
 Or just build the Debian packages without configuring
   dpkg-buildpackage -rfakeroot
 
-When building from a CVS checkout, you need these Debian tools:
-  autoconf, automake, bison, gcc, libtool,
-  docbook-utils, docbook, docbook-xml, docbook-dsssl, jade, jadetex,
-  libxslt1-dev, libssl-dev, libreadline5-dev, libwrap0-dev, any tcl
+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,
+  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:
-   autoconf259, automake19, libtool15, bison, tcl84,
-   docbook-2-man (?), dsssl-docbook-modular, jadetex
+When building from a Git, you need these FreeBSD Ports:
+  pkg_add -r autoconf262 automake110 libtool bison tcl84 \\
+             docbook-xsl libxml2 libxslt
+  pkg_add -r icu4
 EOF
     fi
 fi