#!/bin/sh

# Default place to look for apr source.  Can be overridden with 
#   --with-apr=[directory]
apr_src_dir=../apr

while test $# -gt 0 
do
  # Normalize
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  case "$1" in
  --with-apr=*)
  apr_src_dir=$optarg
  ;;
  esac

  shift
done

if test -d "$apr_src_dir"
then
  echo ""
  echo "Looking for apr source in $apr_src_dir"
else
  echo ""
  echo "Problem finding apr source in $apr_src_dir."
  echo "Use:"
  echo "  --with-apr=[directory]" 
  exit 1
fi

# Remove some files, then copy them from apr source tree
rm -f build/apr_common.m4 build/find_apr.m4 build/install.sh \
      build/config.guess build/config.sub
cp $apr_src_dir/build/apr_common.m4 $apr_src_dir/build/find_apr.m4 \
   $apr_src_dir/build/install.sh $apr_src_dir/build/config.guess  \
   $apr_src_dir/build/config.sub build

# Remove aclocal.m4 as it'll break some builds...
rm -rf aclocal.m4 autom4te*.cache

#
# Generate the autoconf header (include/apu_config.h) and ./configure
#
echo "Creating include/private/apu_config.h ..."
${AUTOHEADER:-autoheader}

echo "Creating configure ..."
### do some work to toss config.cache?
if ${AUTOCONF:-autoconf}; then
  :
else
  echo "autoconf failed"
  exit 1
fi

#
# If Expat has been bundled, then go and configure the thing
#
if test -d xml/expat; then
  echo "Invoking xml/expat/buildconf.sh ..."
  (cd xml/expat; ./buildconf.sh)
fi

# Remove autoconf cache
rm -rf autom4te*.cache

# Create RPM Spec file
if [ -f `which cut` ]; then
  echo rebuilding rpm spec file
  REVISION=`build/get-version.sh all include/apu_version.h APU`
  VERSION=`echo $REVISION | cut -d- -s -f1`
  RELEASE=`echo $REVISION | cut -d- -s -f2`
  if [ "x$VERSION" = "x" ]; then
      VERSION=$REVISION
      RELEASE=1
  fi
  sed -e "s/APU_VERSION/$VERSION/" -e "s/APU_RELEASE/$RELEASE/" \
    ./build/rpm/apr-util.spec.in > apr-util.spec
fi

