summaryrefslogtreecommitdiffstats
path: root/c/src/aclocal/ppc.m4
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/aclocal/ppc.m4')
-rw-r--r--c/src/aclocal/ppc.m487
1 files changed, 87 insertions, 0 deletions
diff --git a/c/src/aclocal/ppc.m4 b/c/src/aclocal/ppc.m4
new file mode 100644
index 0000000000..3626e5c42c
--- /dev/null
+++ b/c/src/aclocal/ppc.m4
@@ -0,0 +1,87 @@
+# $Id$
+#
+# Some hacks for handling powerpc-exception subdirectories
+#
+# Note: Consider this file a temporary band-aid until a better, more general
+# subdirectory handling solution is introduced to RTEMS.
+
+AC_DEFUN([RTEMS_PPC_EXCEPTIONS],
+[
+exceptions="$1_exception_processing"
+AC_SUBST(exceptions)
+
+AC_CONFIG_COMMANDS_POST(
+[
+ exceptions_subdirs="$1_exception_processing"
+ updir=/../support
+
+if test "$no_recursion" != yes; then
+
+ RTEMS_CONFIGURE_ARGS_QUOTE([ac_sub_configure_args])
+
+ for ac_subdir in : $exceptions_subdirs; do test "x$ac_subdir" = x: && continue
+
+ # Do not complain, so a configure script can configure whichever
+ # parts of a large source tree are present.
+ test -d $srcdir${updir}/$ac_subdir || continue
+
+ AC_MSG_NOTICE([configuring in $ac_subdir])
+ case $srcdir in
+ .) ;;
+ *) AS_MKDIR_P(["./$ac_subdir"])
+ if test -d ./$ac_subdir; then :;
+ else
+ AC_MSG_ERROR([cannot create `pwd`/$ac_subdir])
+ fi
+ ;;
+ esac
+
+ ac_popdir=`pwd`
+ cd $ac_subdir
+
+ # A "../" for each directory in /$ac_subdir.
+ ac_dots=`echo $ac_subdir |
+ sed 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g'`
+
+ case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_sub_srcdir=$srcdir${updir} ;;
+ [[\\/]]* | ?:[[\\/]]* ) # Absolute path.
+ ac_sub_srcdir=$srcdir${updir}/$ac_subdir ;;
+ *) # Relative path.
+ ac_sub_srcdir=$ac_dots$srcdir${updir}/$ac_subdir ;;
+ esac
+
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_sub_srcdir/configure.gnu; then
+ ac_sub_configure="$SHELL '$ac_sub_srcdir/configure.gnu'"
+ elif test -f $ac_sub_srcdir/configure; then
+ ac_sub_configure="$SHELL '$ac_sub_srcdir/configure'"
+ elif test -f $ac_sub_srcdir/configure.in; then
+ ac_sub_configure=$ac_configure
+ else
+ AC_MSG_WARN([no configuration information is in $ac_subdir])
+ ac_sub_configure=
+ fi
+
+ # The recursion is here.
+ if test -n "$ac_sub_configure"; then
+ # Make the cache file name correct relative to the subdirectory.
+ case $cache_file in
+ [[\\/]]* | ?:[[\\/]]* ) ac_sub_cache_file=$cache_file ;;
+ *) # Relative path.
+ ac_sub_cache_file=$ac_dots$cache_file ;;
+ esac
+
+ AC_MSG_NOTICE([running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir])
+ # The eval makes quoting arguments work.
+ eval $ac_sub_configure $ac_sub_configure_args \
+ --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir ||
+ AC_MSG_ERROR([$ac_sub_configure failed for $ac_subdir])
+ fi
+
+ cd $ac_popdir
+ done
+fi
+])
+])