dnl target.m4,v 1.9 2002/01/06 20:12:13 joel Exp
|
dnl target.m4,v 1.9 2002/01/06 20:12:13 joel Exp
|
|
|
## HACK: Work-around to structural issue with RTEMS
|
## HACK: Work-around to structural issue with RTEMS
|
## The macros below violate most autoconf and canonicalization standards
|
## The macros below violate most autoconf and canonicalization standards
|
AC_DEFUN(RTEMS_CONFIG_BUILD_SUBDIRS,
|
AC_DEFUN(RTEMS_CONFIG_BUILD_SUBDIRS,
|
[AC_REQUIRE([_RTEMS_OUTPUT_BUILD_SUBDIRS])
|
[AC_REQUIRE([_RTEMS_OUTPUT_BUILD_SUBDIRS])
|
RTEMS_BUILD_SUBDIRS="$RTEMS_BUILD_SUBDIRS [$1]"
|
RTEMS_BUILD_SUBDIRS="$RTEMS_BUILD_SUBDIRS [$1]"
|
])
|
])
|
|
|
dnl Derived from automake-1.4's AC_OUTPUT_SUBDIRS
|
dnl Derived from automake-1.4's AC_OUTPUT_SUBDIRS
|
AC_DEFUN([_RTEMS_OUTPUT_BUILD_SUBDIRS],
|
AC_DEFUN([_RTEMS_OUTPUT_BUILD_SUBDIRS],
|
[AC_CONFIG_COMMANDS([bsp-tools],
|
[AC_CONFIG_COMMANDS([bsp-tools],
|
[
|
[
|
# HACK: This is a blantant hack and breaks Canadian crosses
|
# HACK: This is a blantant hack and breaks Canadian crosses
|
build_alias="$build_alias"
|
build_alias="$build_alias"
|
host_alias="$build_alias"
|
host_alias="$build_alias"
|
if test "$no_recursion" != yes; then
|
if test "$no_recursion" != yes; then
|
if test x"$build_alias" != x"$host_alias"; then
|
if test x"$build_alias" != x"$host_alias"; then
|
target_subdir="$host_alias"
|
target_subdir="$host_alias"
|
else
|
else
|
target_subdir="."
|
target_subdir="."
|
fi
|
fi
|
# Remove --cache-file and --srcdir arguments so they do not pile up.
|
# Remove --cache-file and --srcdir arguments so they do not pile up.
|
ac_sub_configure_args=
|
ac_sub_configure_args=
|
rtems_prev=
|
rtems_prev=
|
for rtems_arg in $rtems_configure_args; do
|
for rtems_arg in $rtems_configure_args; do
|
if test -n "$rtems_prev"; then
|
if test -n "$rtems_prev"; then
|
rtems_prev=
|
rtems_prev=
|
continue
|
continue
|
fi
|
fi
|
case "$rtems_arg" in
|
case "$rtems_arg" in
|
-cache-file | --cache-file | --cache-fil | --cache-fi \
|
-cache-file | --cache-file | --cache-fil | --cache-fi \
|
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
|
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
|
rtems_prev=cache_file ;;
|
rtems_prev=cache_file ;;
|
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
|
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
|
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
|
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
|
;;
|
;;
|
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
|
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
|
rtems_prev=srcdir ;;
|
rtems_prev=srcdir ;;
|
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
|
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
|
;;
|
;;
|
--target*) ;;
|
--target*) ;;
|
--build*) ;;
|
--build*) ;;
|
--host*) ;;
|
--host*) ;;
|
*_alias* ) ;; # HACK: Workaround to autoconf passing *_alias
|
*_alias* ) ;; # HACK: Workaround to autoconf passing *_alias
|
*) ac_sub_configure_args="$ac_sub_configure_args $rtems_arg" ;;
|
*) ac_sub_configure_args="$ac_sub_configure_args $rtems_arg" ;;
|
esac
|
esac
|
done
|
done
|
|
|
for rtems_config_dir in $RTEMS_BUILD_SUBDIRS; do
|
for rtems_config_dir in $RTEMS_BUILD_SUBDIRS; do
|
# Do not complain, so a configure script can configure whichever
|
# Do not complain, so a configure script can configure whichever
|
# parts of a large source tree are present.
|
# parts of a large source tree are present.
|
if test ! -d $srcdir/$rtems_config_dir; then
|
if test ! -d $srcdir/$rtems_config_dir; then
|
continue
|
continue
|
fi
|
fi
|
|
|
_RTEMS_PUSH_BUILDDIR([$rtems_config_dir])
|
_RTEMS_PUSH_BUILDDIR([$rtems_config_dir])
|
|
|
_RTEMS_SUB_SRCDIR([$rtems_config_dir])
|
_RTEMS_SUB_SRCDIR([$rtems_config_dir])
|
|
|
# The recursion is here.
|
# The recursion is here.
|
if test -n "$ac_sub_configure"; then
|
if test -n "$ac_sub_configure"; then
|
# ac_sub_cache_file=./config.cache
|
# ac_sub_cache_file=./config.cache
|
ac_sub_cache_file=/dev/null
|
ac_sub_cache_file=/dev/null
|
_RTEMS_GIVEN_INSTALL
|
_RTEMS_GIVEN_INSTALL
|
|
|
echo "[running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file] --srcdir=$ac_sub_srcdir"
|
echo "[running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file] --srcdir=$ac_sub_srcdir"
|
# The eval makes quoting arguments work.
|
# The eval makes quoting arguments work.
|
if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure \
|
if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure \
|
$ac_sub_configure_args \
|
$ac_sub_configure_args \
|
--srcdir=$ac_sub_srcdir \
|
--srcdir=$ac_sub_srcdir \
|
--with-target-subdir=$target_subdir \
|
--with-target-subdir=$target_subdir \
|
--cache-file=$ac_sub_cache_file
|
--cache-file=$ac_sub_cache_file
|
then :
|
then :
|
else
|
else
|
AC_MSG_ERROR([$ac_sub_configure failed for $rtems_config_dir])
|
AC_MSG_ERROR([$ac_sub_configure failed for $rtems_config_dir])
|
fi
|
fi
|
fi
|
fi
|
|
|
_RTEMS_POP_BUILDDIR
|
_RTEMS_POP_BUILDDIR
|
done
|
done
|
fi],
|
fi],
|
[
|
[
|
RTEMS_BUILD_SUBDIRS="$RTEMS_BUILD_SUBDIRS"
|
RTEMS_BUILD_SUBDIRS="$RTEMS_BUILD_SUBDIRS"
|
rtems_configure_args="$ac_configure_args"
|
rtems_configure_args="$ac_configure_args"
|
])
|
])
|
])
|
])
|
|
|
## FIXME: This is obsolete. Only kept for backward compatibility
|
## FIXME: This is obsolete. Only kept for backward compatibility
|
AU_DEFUN([RTEMS_OUTPUT_BUILD_SUBDIRS],[])
|
AU_DEFUN([RTEMS_OUTPUT_BUILD_SUBDIRS],[])
|
|
|
|
|
dnl
|
dnl
|
dnl Misc utility macros for subdir handling to work around missing abilities
|
dnl Misc utility macros for subdir handling to work around missing abilities
|
dnl in autoconf, automake and structural issues with RTEMS
|
dnl in autoconf, automake and structural issues with RTEMS
|
dnl
|
dnl
|
dnl Contains parts derived from autoconf-2.13 AC_OUTPUT_SUBDIRS and Cygnus'
|
dnl Contains parts derived from autoconf-2.13 AC_OUTPUT_SUBDIRS and Cygnus'
|
dnl configure.in.
|
dnl configure.in.
|
dnl
|
dnl
|
|
|
dnl
|
dnl
|
dnl _RTEMS_PUSH_BUILDDIR(SUBDIR)
|
dnl _RTEMS_PUSH_BUILDDIR(SUBDIR)
|
dnl
|
dnl
|
AC_DEFUN(_RTEMS_PUSH_BUILDDIR,
|
AC_DEFUN(_RTEMS_PUSH_BUILDDIR,
|
[
|
[
|
# _RTEMS_PUSH_BUILDDIR
|
# _RTEMS_PUSH_BUILDDIR
|
echo configuring in $1
|
echo configuring in $1
|
case "$srcdir" in
|
case "$srcdir" in
|
.) ;;
|
.) ;;
|
*) AS_MKDIR_P([$1])
|
*) AS_MKDIR_P([$1])
|
;;
|
;;
|
esac
|
esac
|
|
|
ac_popdir=`pwd`
|
ac_popdir=`pwd`
|
cd $1
|
cd $1
|
])
|
])
|
|
|
dnl
|
dnl
|
dnl _RTEMS_POP_BUILDDIR
|
dnl _RTEMS_POP_BUILDDIR
|
dnl
|
dnl
|
AC_DEFUN(_RTEMS_POP_BUILDDIR,
|
AC_DEFUN(_RTEMS_POP_BUILDDIR,
|
[
|
[
|
cd $ac_popdir
|
cd $ac_popdir
|
])
|
])
|
|
|
dnl
|
dnl
|
dnl _RTEMS_GIVEN_INSTALL
|
dnl _RTEMS_GIVEN_INSTALL
|
dnl
|
dnl
|
AC_DEFUN(_RTEMS_GIVEN_INSTALL,
|
AC_DEFUN(_RTEMS_GIVEN_INSTALL,
|
[
|
[
|
ifdef([AC_PROVIDE_AC_PROG_INSTALL],[
|
ifdef([AC_PROVIDE_AC_PROG_INSTALL],[
|
case "$ac_given_INSTALL" in
|
case "$ac_given_INSTALL" in
|
[[\\/]]* | ?:[[\\/]]*) INSTALL="$ac_given_INSTALL" ;;
|
[[\\/]]* | ?:[[\\/]]*) INSTALL="$ac_given_INSTALL" ;;
|
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
|
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
|
esac
|
esac
|
])dnl
|
])dnl
|
])
|
])
|
|
|
dnl
|
dnl
|
dnl _RTEMS_SUB_SRCDIR(AC_CONFIG_DIR[,TARGET_SUBDIR])
|
dnl _RTEMS_SUB_SRCDIR(AC_CONFIG_DIR[,TARGET_SUBDIR])
|
dnl
|
dnl
|
AC_DEFUN(_RTEMS_SUB_SRCDIR,[
|
AC_DEFUN(_RTEMS_SUB_SRCDIR,[
|
# _RTEMS_SUB_SRCDIR
|
# _RTEMS_SUB_SRCDIR
|
_RTEMS_ADJUST_SRCDIR(ac_sub_srcdir,$1,$2)
|
_RTEMS_ADJUST_SRCDIR(ac_sub_srcdir,$1,$2)
|
|
|
# Check for configure
|
# Check for configure
|
if test -f $ac_sub_srcdir/configure; then
|
if test -f $ac_sub_srcdir/configure; then
|
ac_sub_configure=$ac_sub_srcdir/configure
|
ac_sub_configure=$ac_sub_srcdir/configure
|
else
|
else
|
AC_MSG_WARN([no configuration information is in $1])
|
AC_MSG_WARN([no configuration information is in $1])
|
ac_sub_configure=
|
ac_sub_configure=
|
fi
|
fi
|
])
|
])
|
|
|