X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=buildconf.sh;h=96715929c6ced752d67261d0c76b6f106b20e994;hp=8f58349c005843c578b1093564412a65131633f1;hb=1aac63eecd76d5d060da84037a355c153d747ca7;hpb=212ecdc7daf9764e6fdd0951281f61b9c1a94c2d diff --git a/buildconf.sh b/buildconf.sh index 8f58349..9671592 100755 --- a/buildconf.sh +++ b/buildconf.sh @@ -1,19 +1,16 @@ #!/bin/sh -# $Id: buildconf.sh,v 1.46 2007-02-20 09:53:01 adam Exp $ automake=automake aclocal=aclocal autoconf=autoconf libtoolize=libtoolize +autoheader=autoheader test -d config || mkdir config -if test -d m4/.git -a -d doc/common/.git; then - : -else +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 ..." @@ -21,11 +18,17 @@ if [ "`uname -s`" = FreeBSD ]; then 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 @@ -33,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 +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 @@ -49,14 +60,15 @@ sh_flags="" conf_flags="" case $1 in -d) - #sh_flags="-g -Wall -Wdeclaration-after-statement -Werror -Wstrict-prototypes" - sh_flags="-g -Wall -Wdeclaration-after-statement -Wstrict-prototypes" + 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 @@ -64,8 +76,12 @@ case $1 in 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 @@ -96,16 +112,22 @@ EOF 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, - libpcap0.8-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 <