diff options
Diffstat (limited to 'aclocal/target.m4')
-rw-r--r-- | aclocal/target.m4 | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/aclocal/target.m4 b/aclocal/target.m4 index d72122d4d0..b79698439a 100644 --- a/aclocal/target.m4 +++ b/aclocal/target.m4 @@ -3,63 +3,65 @@ dnl $Id$ ## HACK: Work-around to structural issue with RTEMS ## The macros below violate most autoconf and canonicalization standards AC_DEFUN(RTEMS_CONFIG_BUILD_SUBDIRS, -[ -define([RTEMS_BUILD_SUBDIRS], -ifdef([RTEMS_BUILD_SUBDIRS], [RTEMS_BUILD_SUBDIRS ],)[$1])dnl -build_subdirs="RTEMS_BUILD_SUBDIRS" -AC_SUBST(build_subdirs) +[AC_REQUIRE([_RTEMS_OUTPUT_BUILD_SUBDIRS]) +RTEMS_BUILD_SUBDIRS="$RTEMS_BUILD_SUBDIRS [$1]" ]) 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], [ +# HACK: This is a blantant hack and breaks Canadian crosses +build_alias="$build_alias" +host_alias="$build_alias" if test "$no_recursion" != yes; then - if test $build_alias != $host_alias; then + if test x"$build_alias" != x"$host_alias"; then target_subdir="$host_alias" else target_subdir="." fi # Remove --cache-file and --srcdir arguments so they do not pile up. ac_sub_configure_args= - ac_prev= - for ac_arg in $ac_configure_args; do - if test -n "$ac_prev"; then - ac_prev= + rtems_prev= + for rtems_arg in $ac_configure_args; do + if test -n "$rtems_prev"; then + rtems_prev= continue fi - case "$ac_arg" in + case "$rtems_arg" in -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; + rtems_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; + rtems_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ;; --target*) ;; --build*) ;; --host*) ;; - *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;; + *_alias* ) ;; # HACK: Workaround to autoconf passing *_alias + *) ac_sub_configure_args="$ac_sub_configure_args $rtems_arg" ;; esac done - for ac_config_dir in $1; do - + for rtems_config_dir in $RTEMS_BUILD_SUBDIRS; do # Do not complain, so a configure script can configure whichever # parts of a large source tree are present. - if test ! -d $srcdir/$ac_config_dir; then + if test ! -d $srcdir/$rtems_config_dir; then continue fi - _RTEMS_PUSH_BUILDDIR([$ac_config_dir]) + _RTEMS_PUSH_BUILDDIR([$rtems_config_dir]) - _RTEMS_SUB_SRCDIR([$ac_config_dir]) + _RTEMS_SUB_SRCDIR([$rtems_config_dir]) # The recursion is here. 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 _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" @@ -71,11 +73,17 @@ if test "$no_recursion" != yes; then --cache-file=$ac_sub_cache_file then : else - AC_MSG_ERROR([$ac_sub_configure failed for $ac_config_dir]) + AC_MSG_ERROR([$ac_sub_configure failed for $rtems_config_dir]) fi fi _RTEMS_POP_BUILDDIR done -fi +fi], +[ +RTEMS_BUILD_SUBDIRS="$RTEMS_BUILD_SUBDIRS" ]) +]) + +## FIXME: This is obsolete. Only kept for backward compatibility +AU_DEFUN([RTEMS_OUTPUT_BUILD_SUBDIRS],[]) |