Blame m4/ax_config_dir.m4

Packit 79f644
dnl Copied from Audacity 1.3.10 which itself is licensed under the GPL v2 or
Packit 79f644
dnl any later version
Packit 79f644
Packit 79f644
dnl Function to configure a sub-library now, because we need to know the result
Packit 79f644
dnl of the configuration now in order to take decisions.
Packit 79f644
dnl We don't worry about whether the configuration worked or not - it is
Packit 79f644
dnl assumed that the next thing after this will be a package-specific check to
Packit 79f644
dnl see if the package is actually available. (Hint: use pkg-config and
Packit 79f644
dnl -uninstalled.pc files if available).
Packit 79f644
dnl code based on a simplification of _AC_OUTPUT_SUBDIRS in 
Packit 79f644
dnl /usr/share/autoconf/autoconf/status.m4 which implements part of 
Packit 79f644
dnl AC_CONFIG_SUBDIRS
Packit 79f644
Packit 79f644
AC_DEFUN([AX_CONFIG_DIR],
Packit 79f644
[AC_REQUIRE([AC_DISABLE_OPTION_CHECKING])]
Packit 79f644
[m4_append([_AC_LIST_SUBDIRS], [$1], [])]
Packit 79f644
[
Packit 79f644
  # Remove --cache-file and --srcdir arguments so they do not pile up.
Packit 79f644
  ax_sub_configure_args=
Packit 79f644
  ax_prev=
Packit 79f644
  eval "set x $ac_configure_args"
Packit 79f644
  shift
Packit 79f644
  for ax_arg
Packit 79f644
  do
Packit 79f644
    if test -n "$ax_prev"; then
Packit 79f644
      ax_prev=
Packit 79f644
      continue
Packit 79f644
    fi
Packit 79f644
    case $ax_arg in
Packit 79f644
    -cache-file | --cache-file | --cache-fil | --cache-fi \
Packit 79f644
    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
Packit 79f644
      ax_prev=cache_file ;;
Packit 79f644
    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
Packit 79f644
    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
Packit 79f644
    | --c=*)
Packit 79f644
      ;;
Packit 79f644
    --config-cache | -C)
Packit 79f644
      ;;
Packit 79f644
    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
Packit 79f644
      ax_prev=srcdir ;;
Packit 79f644
    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
Packit 79f644
      ;;
Packit 79f644
    -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
Packit 79f644
      ax_prev=prefix ;;
Packit 79f644
    -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
Packit 79f644
      ;;
Packit 79f644
    *)
Packit 79f644
      case $ax_arg in
Packit 79f644
      *\'*) ax_arg=`echo "$ax_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
Packit 79f644
      esac
Packit 79f644
      ax_sub_configure_args="$ax_sub_configure_args '$ax_arg'" ;;
Packit 79f644
    esac
Packit 79f644
  done
Packit 79f644
Packit 79f644
  # Always prepend --prefix to ensure using the same prefix
Packit 79f644
  # in subdir configurations.
Packit 79f644
  ax_arg="--prefix=$prefix"
Packit 79f644
  case $ax_arg in
Packit 79f644
  *\'*) ax_arg=`echo "$ax_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
Packit 79f644
  esac
Packit 79f644
  ax_sub_configure_args="'$ax_arg' $ax_sub_configure_args"
Packit 79f644
Packit 79f644
  # Pass --silent
Packit 79f644
  if test "$silent" = yes; then
Packit 79f644
    ax_sub_configure_args="--silent $ax_sub_configure_args"
Packit 79f644
  fi
Packit 79f644
Packit 79f644
  ax_popdir=`pwd`
Packit 79f644
  AC_MSG_NOTICE([Configuring sources in $1])
Packit 79f644
  dnl for out-of-place builds srcdir and builddir will be different, and
Packit 79f644
  dnl builddir may not exist, so we must create it
Packit 79f644
  AS_MKDIR_P(["$1"])
Packit 79f644
  dnl and also set the variables. As this isn't autoconf, the following may be
Packit 79f644
  dnl risky:
Packit 79f644
  _AC_SRCDIRS(["$1"])
Packit 79f644
  cd "$1"
Packit 79f644
Packit 79f644
  # Check for guested configure; otherwise get Cygnus style configure.
Packit 79f644
  if test -f "configure.gnu"; then
Packit 79f644
    ax_sub_configure=$ac_srcdir/configure.gnu
Packit 79f644
  elif test -f "$ac_srcdir/configure"; then
Packit 79f644
    ax_sub_configure=$ac_srcdir/configure
Packit 79f644
  elif test -f "$ac_srcdir/configure.in"; then
Packit 79f644
    # This should be Cygnus configure.
Packit 79f644
	ax_sub_configure=$ac_aux_dir/configure
Packit 79f644
  else
Packit 79f644
    AC_MSG_WARN([no configuration information is in $1])
Packit 79f644
    ax_sub_configure=
Packit 79f644
  fi
Packit 79f644
Packit 79f644
  # The recursion is here.
Packit 79f644
  if test -n "$ax_sub_configure"; then
Packit 79f644
    # Make the cache file name correct relative to the subdirectory.
Packit 79f644
    case $cache_file in
Packit 79f644
    [[\\/]]* | ?:[[\\/]]* ) ax_sub_cache_file=$cache_file ;;
Packit 79f644
    *) # Relative name.
Packit 79f644
	ax_sub_cache_file=$ac_top_build_prefix$cache_file ;;
Packit 79f644
    esac
Packit 79f644
Packit 79f644
    AC_MSG_NOTICE([running $SHELL $ax_sub_configure $ax_sub_configure_args --cache-file=$ax_sub_cache_file --srcdir=$ac_srcdir])
Packit 79f644
    # The eval makes quoting arguments work.
Packit 79f644
    eval "\$SHELL \"\$ax_sub_configure\" $ax_sub_configure_args \
Packit 79f644
	   --cache-file=\"\$ax_sub_cache_file\" --srcdir=\"\$ax_srcdir\""
Packit 79f644
  fi
Packit 79f644
Packit 79f644
  cd "$ax_popdir"
Packit 79f644
  AC_MSG_NOTICE([Done configuring in $1])
Packit 79f644
])
Packit 79f644