Blame m4/ax_config_dir.m4

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