Index: c/src/ChangeLog
===================================================================
--- c/src/ChangeLog	(revision c483a4e2214c0df9b99cc95a33c7a16335d7fe98)
+++ c/src/ChangeLog	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -1,2 +1,51 @@
+2003-08-18	Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+	* aclocal/bsp-alias.m4: New (Copied from ../../aclocal).
+	* aclocal/bsp-arg-enable.m4: New (Copied from ../../aclocal).
+	* aclocal/bsp-configure.m4: New (Copied from ../../aclocal).
+	* aclocal/bspopts.m4: New (Copied from ../../aclocal).
+	* aclocal/canonical-host.m4: New (Copied from ../../aclocal).
+	* aclocal/canonicalize-tools.m4: New (Copied from ../../aclocal).
+	* aclocal/canonical-target-name.m4: New (Copied from ../../aclocal).
+	* aclocal/check-cpu.m4: New (Copied from ../../aclocal).
+	* aclocal/check-custom-bsp.m4: New (Copied from ../../aclocal).
+	* aclocal/check-cxx.m4: New (Copied from ../../aclocal).
+	* aclocal/check-itron.m4: New (Copied from ../../aclocal).
+	* aclocal/check-multiprocessing.m4: New (Copied from ../../aclocal).
+	* aclocal/check-networking.m4: New (Copied from ../../aclocal).
+	* aclocal/check-posix.m4: New (Copied from ../../aclocal).
+	* aclocal/check-rdbg.m4: New (Copied from ../../aclocal).
+	* aclocal/check-tool.m4: New (Copied from ../../aclocal).
+	* aclocal/config-subdirs.m4: New (Copied from ../../aclocal).
+	* aclocal/enable-bare.m4: New (Copied from ../../aclocal).
+	* aclocal/enable-cxx.m4: New (Copied from ../../aclocal).
+	* aclocal/enable-inlines.m4: New (Copied from ../../aclocal).
+	* aclocal/enable-itron.m4: New (Copied from ../../aclocal).
+	* aclocal/enable-multiprocessing.m4: New (Copied from ../../aclocal).
+	* aclocal/enable-networking.m4: New (Copied from ../../aclocal).
+	* aclocal/enable-posix.m4: New (Copied from ../../aclocal).
+	* aclocal/enable-rdbg.m4: New (Copied from ../../aclocal).
+	* aclocal/enable-rtemsbsp.m4: New (Copied from ../../aclocal).
+	* aclocal/env-rtemsbsp.m4: New (Copied from ../../aclocal).
+	* aclocal/gcc-isystem.m4: New (Copied from ../../aclocal).
+	* aclocal/gcc-pipe.m4: New (Copied from ../../aclocal).
+	* aclocal/gcc-specs.m4: New (Copied from ../../aclocal).
+	* aclocal/i386-gas-code16.m4: New (Copied from ../../aclocal).
+	* aclocal/multilib.m4: New (Copied from ../../aclocal).
+	* aclocal/path-ksh.m4: New (Copied from ../../aclocal).
+	* aclocal/path-perl.m4: New (Copied from ../../aclocal).
+	* aclocal/ppc.m4: New (Copied from ../../aclocal).
+	* aclocal/prog-ccas.m4: New (Copied from ../../aclocal).
+	* aclocal/prog-cc.m4: New (Copied from ../../aclocal).
+	* aclocal/prog-cxx.m4: New (Copied from ../../aclocal).
+	* aclocal/project-root.m4: New (Copied from ../../aclocal).
+	* aclocal/quoting.m4: New (Copied from ../../aclocal).
+	* aclocal/rtems-cpu-subdirs.m4: New (Copied from ../../aclocal).
+	* aclocal/rtems-flags.m4: New (Copied from ../../aclocal).
+	* aclocal/rtems-top.m4: New (Copied from ../../aclocal).
+	* aclocal/target.m4: New (Copied from ../../aclocal).
+	* aclocal/tool-paths.m4: New (Copied from ../../aclocal).
+	* aclocal/version.m4: New (Copied from ../../aclocal).
+
 2003-08-17	Ralf Corsepius <corsepiu@faw.uni-ulm.de>
 
Index: c/src/aclocal/bsp-alias.m4
===================================================================
--- c/src/aclocal/bsp-alias.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/bsp-alias.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,40 @@
+dnl
+dnl  $Id$
+dnl 
+
+dnl _RTEMS_BSP_ALIAS(BSP_ALIAS,RTEMS_BSP_FAMILY)
+dnl Internal subroutine to RTEMS_BSP_ALIAS
+AC_DEFUN(_RTEMS_BSP_ALIAS,
+[# account for "aliased" bsps which share source code
+  case $1 in
+    simcpu32)     $2=sim68000         ;; # BSVC CPU32 variant
+    c3xsim)       $2=c4xsim           ;; # TI C3x Simulator in gdb
+    mcp750)       $2=motorola_powerpc ;; # Motorola PPC board variant
+    mvme2307)     $2=motorola_powerpc ;; # Motorola PPC board variant
+    mtx603e)      $2=motorola_powerpc ;; # Motorola PPC board variant
+    mvme162lx)    $2=mvme162          ;; # m68k - mvme162 board variant
+    gen68360_040) $2=gen68360         ;; # m68k - 68360 in companion mode
+    p4600)        $2=p4000            ;; # mips64orion - p4000 board w/IDT 4600
+    p4650)        $2=p4000            ;; # mips64orion - p4000 board w/IDT 4650
+    mbx8*)        $2=mbx8xx           ;; # MBX821/MBX860 board
+    pc386dx)      $2=pc386            ;; # i386 - PC w/o FPU
+    pc486)        $2=pc386            ;; # i386 - PC with i486DX
+    pc586)        $2=pc386            ;; # i386 - PC with Pentium
+    pc686)        $2=pc386            ;; # i386 - PC with PentiumPro
+    pck6)         $2=pc386            ;; # i386 - PC with K6
+    bare*)        $2=bare             ;; # EXP: bare-aliases
+    erc32nfp)     $2=erc32            ;; # erc32 without fpu
+    leon1)     	  $2=leon             ;; # leon without fpu
+    leon2)     	  $2=leon             ;; # leon with fpu
+    simsh7032)    $2=shsim            ;; # SH7032 simulator
+    simsh7045)    $2=shsim            ;; # SH7045 simulator
+    *)            $2=$1;;
+  esac]
+)
+
+dnl RTEMS_BSP_ALIAS(BSP_ALIAS,RTEMS_BSP_FAMILY)
+dnl convert a bsp alias $1 into its bsp directory RTEMS_BSP_FAMILY
+AC_DEFUN(RTEMS_BSP_ALIAS,
+[_RTEMS_BSP_ALIAS(m4_if([$1],,[$RTEMS_BSP],[$1]),
+  m4_if([$2],,[RTEMS_BSP_FAMILY],[$2]))]
+)
Index: c/src/aclocal/bsp-arg-enable.m4
===================================================================
--- c/src/aclocal/bsp-arg-enable.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/bsp-arg-enable.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,18 @@
+dnl $Id$
+dnl
+dnl RTEMS_BSP_ARG_ENABLE(FEATURE, HELP-STRING, ACTION-IF-TRUE [, ACTION-IF-FALSE])
+dnl 
+dnl Accept --enable-FEATURE=<RTEMS_BSP>:<bsp-value> and 
+dnl --enable-FEATURE=<value> in BSP-configure scripts.
+dnl
+dnl Configure scripts will receive <bsp-value> if <RTEMS_BSP> matches the 
+dnl actual value of the shell variable RTEMS_BSP (cf. RTEMS_ENV_RTEMSBSP), 
+dnl and the raw value passed to --enable-FEATURE otherwise.
+dnl
+AC_DEFUN(RTEMS_BSP_ARG_ENABLE,
+[AC_REQUIRE([RTEMS_ENV_RTEMSBSP])
+AC_ARG_ENABLE([$1],[$2],
+[enableval=`echo "[$enable_]patsubst([$1], -, _)" | sed -e "s%^${RTEMS_BSP}:%%"`
+  eval "[enable_]patsubst([$1], -, _)='$enableval'"
+$3],[$4])
+])
Index: c/src/aclocal/bsp-configure.m4
===================================================================
--- c/src/aclocal/bsp-configure.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/bsp-configure.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,35 @@
+dnl $Id$
+
+dnl RTEMS_BSP_CONFIGURE
+dnl Common macro to be included by all bsp-configure.acs
+AC_DEFUN([RTEMS_BSP_CONFIGURE],
+[
+  AC_PREREQ([2.52])
+  AM_MAINTAINER_MODE
+  RTEMS_ENV_RTEMSBSP
+
+  RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
+
+  RTEMS_CANONICAL_HOST
+  AM_CONFIG_HEADER([include/bspopts.tmp:include/bspopts.h.in],[
+echo "/* BSP dependent options file */"         >$tmp/config.h
+echo "/* automatically generated -- DO NOT EDIT!! */" >>$tmp/config.h
+echo                                                  >>$tmp/config.h
+echo "#ifndef __BSP_OPTIONS_h"                        >>$tmp/config.h
+echo "#define __BSP_OPTIONS_h"                        >>$tmp/config.h
+echo                                                  >>$tmp/config.h
+sed -e '/.*PACKAGE.*/d' include/bspopts.tmp >> $tmp/config.h
+echo                                                  >>$tmp/config.h
+echo "#endif"                                         >>$tmp/config.h
+  AS_IF([cmp -s include/bspopts.h $tmp/config.h 2>/dev/null],[
+    AC_MSG_NOTICE([include/bspopts.h is unchanged])
+    rm -f $tmp/config.h],[
+    AC_MSG_NOTICE([creating include/bspopts.h])
+    rm -f include/bspopts.h
+    mv $tmp/config.h include/bspopts.h
+  ])
+])
+  RTEMS_PROJECT_ROOT
+
+  RTEMS_CHECK_MULTIPROCESSING
+])
Index: c/src/aclocal/bspopts.m4
===================================================================
--- c/src/aclocal/bspopts.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/bspopts.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,66 @@
+dnl $Id$
+dnl
+
+dnl RTEMS_BSPOPTS_* - some autoconf voodoo to handle default values and
+dnl help-strings for per-BSP-environment variables.
+
+dnl To be used in bsp-configure scripts
+
+
+dnl Example:
+dnl
+dnl RTEMS_BSPOPTS_SET([foo],[bar],[0])
+dnl RTEMS_BSPOPTS_SET([foo],[baz*],[hello])
+dnl RTEMS_BSPOPTS_SET([foo],[*],[])
+dnl RTEMS_BSPOPTS_HELP([foo],[env. variable foo])
+dnl -> Add "0" as default value of variable "foo" for BSP "bar"
+dnl -> Add "hello" as default value of variable "foo" for all BSPs starting
+dnl with "baz" in their name.
+dnl -> Undefine foo as default clause for all BSP's.
+dnl
+dnl All this basically expands to a /bin/shell "case"-statement with
+dnl accompanying autoconf magic to propagate VAR to bspopts.h.
+
+
+dnl RTEMS_BSPOPTS_HELP(VAR,HELP-STRING)
+dnl Set up printing the HELP-STRING for bspopts.h's variable VAR and add
+dnl appropriate /bin/sh-magic to "configure" to have VAR set up.
+
+AC_DEFUN([RTEMS_BSPOPTS_HELP],[
+RTEMS_ARG_VAR([$1],[$2])
+m4_ifdef([_$1],[
+case ${RTEMS_BSP} in
+_$1[]dnl
+esac],[])
+if test -n "[$]{$1}"; then[]dnl
+AC_DEFINE_UNQUOTED([$1],
+  [[$]$1],
+  [$2])dnl
+fi
+])
+
+dnl RTEMS_BSPOPTS_SET(VAR,BSP,DEFAULT)
+dnl Set up a value DEFAULT to be used as default value for variable VAR for
+dnl BSP in RTEMS_BSPOPTS_HELP.
+
+dnl MUST be use in front of exactly _one_ corresponding RTEMS_BSPOPTS_HELP
+
+AC_DEFUN([RTEMS_BSPOPTS_SET],[dnl
+m4_append([_$1],
+[$2 )
+  $1=[$]{$1-$3} ;;
+])
+])
+
+
+dnl RTEMS_ARG_VAR(VAR,HELP-STRING)
+dnl An internal macros to have RTEMS_BSPOPTS_HELP's help string pretty
+dnl printed with configure --help.
+dnl Stripped down version of autoconf-2.52's AC_ARG_VAR.
+
+AC_DEFUN([RTEMS_ARG_VAR],
+[
+m4_expand_once([m4_divert_once([HELP_VAR],
+[AC_HELP_STRING([$1], [$2], [              ])])],
+      [$0($1)])dnl
+])
Index: c/src/aclocal/canonical-host.m4
===================================================================
--- c/src/aclocal/canonical-host.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/canonical-host.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,25 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_CANONICAL_HOST,
+[dnl
+AC_REQUIRE([AC_CANONICAL_HOST])
+RTEMS_HOST=$host_os
+case "${target}" in
+  # hpux unix port should go here
+  i[[34567]]86-*linux*)          # unix "simulator" port
+        RTEMS_HOST=Linux
+	;;
+  i[[34567]]86-*freebsd*)         # unix "simulator" port
+        RTEMS_HOST=FreeBSD
+	;;
+  i[[34567]]86-pc-cygwin*) 	# Cygwin is just enough unix like :)
+        RTEMS_HOST=Cygwin
+	;;
+  sparc-sun-solaris*)           # unix "simulator" port
+        RTEMS_HOST=Solaris
+	;;
+  *) 
+	;;
+esac
+AC_SUBST(RTEMS_HOST)
+])dnl
Index: c/src/aclocal/canonical-target-name.m4
===================================================================
--- c/src/aclocal/canonical-target-name.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/canonical-target-name.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,41 @@
+dnl
+dnl $Id$
+dnl
+
+dnl canonicalize target cpu
+dnl NOTE: Most rtems targets do not fullfil autoconf's
+dnl target naming conventions "processor-vendor-os"
+dnl Therefore autoconf's AC_CANONICAL_TARGET will fail for them
+dnl and we have to fix it for rtems ourselves 
+
+AC_DEFUN(RTEMS_CANONICAL_TARGET_CPU,
+[
+AC_CANONICAL_TARGET
+AC_MSG_CHECKING(rtems target cpu)
+case "${target}" in
+  # hpux unix port should go here
+  i[[34567]]86-*linux*)		# unix "simulator" port
+	RTEMS_CPU=unix
+	;;
+  i[[34567]]86-*freebsd*) 	# unix "simulator" port
+	RTEMS_CPU=unix
+	;;
+  i[[34567]]86-pc-cygwin*) 	# Cygwin is just enough unix like :)
+	RTEMS_CPU=unix
+	;;
+  no_cpu-*rtems*)
+        RTEMS_CPU=no_cpu
+	;;
+  sparc-sun-solaris*)           # unix "simulator" port
+	RTEMS_CPU=unix
+	;;
+  tic4x-*rtems*)          	# gcc changed the name
+	RTEMS_CPU=c4x
+	;;
+  *) 
+	RTEMS_CPU=`echo $target | sed 's%^\([[^-]]*\)-\(.*\)$%\1%'`
+	;;
+esac
+AC_SUBST(RTEMS_CPU)
+AC_MSG_RESULT($RTEMS_CPU)
+])
Index: c/src/aclocal/canonicalize-tools.m4
===================================================================
--- c/src/aclocal/canonicalize-tools.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/canonicalize-tools.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,23 @@
+dnl
+dnl $Id$
+dnl
+dnl Set target tools
+dnl
+
+AC_DEFUN(RTEMS_CANONICALIZE_TOOLS,
+[AC_REQUIRE([RTEMS_PROG_CC])dnl
+
+dnl FIXME: What shall be done if these tools are not available?
+  RTEMS_CHECK_TOOL(AR,ar,no)
+  RTEMS_CHECK_TOOL(AS,as,no)
+  RTEMS_CHECK_TOOL(LD,ld,no)
+  RTEMS_CHECK_TOOL(NM,nm,no)
+
+dnl special treatment of ranlib
+  RTEMS_CHECK_TOOL(RANLIB,ranlib,:)
+
+dnl NOTE: These may not be available if not using gnutools
+  RTEMS_CHECK_TOOL(OBJCOPY,objcopy,no)
+  RTEMS_CHECK_TOOL(SIZE,size,no)
+  RTEMS_CHECK_TOOL(STRIP,strip,:)
+])
Index: c/src/aclocal/check-cpu.m4
===================================================================
--- c/src/aclocal/check-cpu.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/check-cpu.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,18 @@
+dnl $Id$
+
+dnl check if RTEMS support a cpu
+AC_DEFUN(RTEMS_CHECK_CPU,
+[dnl
+AC_REQUIRE([RTEMS_TOP])
+AC_REQUIRE([RTEMS_CANONICAL_TARGET_CPU])
+
+# Is this a supported CPU?
+AC_MSG_CHECKING([if cpu $RTEMS_CPU is supported])
+# FIXME: Temporary hack
+if test -d "$srcdir/$RTEMS_TOPdir/cpukit/score/cpu/$RTEMS_CPU"; then
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_ERROR(no)
+fi
+])dnl
+
Index: c/src/aclocal/check-custom-bsp.m4
===================================================================
--- c/src/aclocal/check-custom-bsp.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/check-custom-bsp.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,10 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_CHECK_CUSTOM_BSP,[
+AC_REQUIRE([RTEMS_TOP])
+
+AC_MSG_CHECKING([for make/custom/[$]$1.cfg])
+AS_IF([test -r "$srcdir/$RTEMS_TOPdir/make/custom/[$]$1.cfg"],
+  [AC_MSG_RESULT([yes])],
+  [AC_MSG_ERROR([no])])
+])
Index: c/src/aclocal/check-cxx.m4
===================================================================
--- c/src/aclocal/check-cxx.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/check-cxx.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,26 @@
+dnl $Id$
+dnl
+AC_DEFUN(RTEMS_CHECK_CXX,
+[dnl
+AC_REQUIRE([RTEMS_CHECK_CPU])dnl
+AC_REQUIRE([RTEMS_PROG_CC_FOR_TARGET])dnl
+AC_REQUIRE([RTEMS_PROG_CXX_FOR_TARGET])dnl
+AC_CACHE_CHECK([whether to build rtems++],
+  rtems_cv_HAS_CPLUSPLUS,
+  [ if test "$RTEMS_HAS_CPLUSPLUS" = "yes"; then
+      if test -n "$CXX"; then
+        rtems_cv_HAS_CPLUSPLUS="yes"
+      else
+        rtems_cv_HAS_CPLUSPLUS="no"
+      fi
+    else
+      rtems_cv_HAS_CPLUSPLUS="no"
+    fi])
+HAS_CPLUSPLUS="$rtems_cv_HAS_CPLUSPLUS";
+AC_SUBST(HAS_CPLUSPLUS)dnl
+
+if test "$HAS_CPLUSPLUS" = "yes"; then
+CPLUS_LD_LIBS='$(PROJECT_RELEASE)/lib/librtems++$(LIB_VARIANT).a'
+fi
+AC_SUBST(CPLUS_LD_LIBS)
+])
Index: c/src/aclocal/check-itron.m4
===================================================================
--- c/src/aclocal/check-itron.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/check-itron.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,37 @@
+dnl $Id$
+dnl
+AC_DEFUN(RTEMS_CHECK_ITRON_API,
+[dnl
+AC_REQUIRE([RTEMS_CHECK_CPU])dnl
+AC_REQUIRE([RTEMS_ENABLE_ITRON])dnl
+
+AC_CACHE_CHECK([whether CPU supports libitron],
+  rtems_cv_HAS_ITRON_API,
+  [dnl
+    case "$RTEMS_CPU" in
+    unix*)
+      rtems_cv_HAS_ITRON_API="no"
+      ;;
+    *)
+      if test "${RTEMS_HAS_ITRON_API}" = "yes"; then
+        rtems_cv_HAS_ITRON_API="yes";
+      else
+        rtems_cv_HAS_ITRON_API="disabled";
+      fi
+      ;;
+    esac])
+if test "$rtems_cv_HAS_ITRON_API" = "yes"; then
+  HAS_ITRON_API="yes";
+else
+  HAS_ITRON_API="no";
+fi
+AC_SUBST(HAS_ITRON_API)dnl
+])
+
+AC_DEFUN(RTEMS_DEFINE_ITRON_API,
+[AC_REQUIRE([RTEMS_CHECK_ITRON_API])dnl
+if test x"${HAS_ITRON_API}" = x"yes";
+then
+  AC_DEFINE_UNQUOTED(RTEMS_ITRON_API,1,[if itron api is supported])
+fi
+])
Index: c/src/aclocal/check-multiprocessing.m4
===================================================================
--- c/src/aclocal/check-multiprocessing.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/check-multiprocessing.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,42 @@
+dnl
+dnl $Id$
+dnl
+
+AC_DEFUN(RTEMS_CHECK_MULTIPROCESSING,
+[dnl
+AC_REQUIRE([RTEMS_ENABLE_MULTILIB])dnl
+AC_REQUIRE([RTEMS_ENV_RTEMSBSP])dnl
+AC_REQUIRE([RTEMS_TOP])dnl
+AC_REQUIRE([RTEMS_CHECK_CPU])dnl
+AC_REQUIRE([RTEMS_ENABLE_MULTIPROCESSING])dnl
+AC_REQUIRE([RTEMS_BSP_ALIAS])dnl
+
+AC_CACHE_CHECK([if wanting multiprocessing],
+  [rtems_cv_want_multiprocessing],
+  [
+    AS_IF([test x"$multilib" = x"no"],
+      [# no cpukit
+       rtems_cv_want_multiprocessing="$enable_multiprocessing"
+      ],[
+#HACK: Should check for RTEMS_MULTIPROCESSING in cpuopts.h, instead
+       rtems_cv_want_multiprocessing="$enable_multiprocessing"
+      ])
+  ])
+
+AS_IF([test "$rtems_cv_want_multiprocessing" = "yes"],
+[
+  AC_CACHE_CHECK([whether BSP supports multiprocessing],
+  [rtems_cv_HAS_MP],[
+    if test -d "$srcdir/${RTEMS_TOPdir}/c/src/lib/libbsp/${RTEMS_CPU}/${RTEMS_BSP_FAMILY}/shmsupp"; then
+        rtems_cv_HAS_MP="yes" ;
+    else
+        rtems_cv_HAS_MP="no";
+    fi
+  ])
+if test $rtems_cv_HAS_MP = "no"; then
+AC_MSG_ERROR([multiprocessing requested but not supported])
+fi
+],[rtems_cv_HAS_MP="no";])
+
+AC_SUBST(HAS_MP,[$rtems_cv_HAS_MP])
+])
Index: c/src/aclocal/check-networking.m4
===================================================================
--- c/src/aclocal/check-networking.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/check-networking.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,29 @@
+dnl $Id$
+dnl
+AC_DEFUN(RTEMS_CHECK_NETWORKING,
+[dnl
+AC_REQUIRE([RTEMS_CHECK_CPU])dnl
+AC_REQUIRE([RTEMS_ENABLE_NETWORKING])dnl
+
+AC_CACHE_CHECK([whether BSP supports networking],
+  rtems_cv_HAS_NETWORKING,
+  [dnl
+    case "$RTEMS_CPU" in
+    unix*)
+      rtems_cv_HAS_NETWORKING="no"
+      ;;
+    *)
+      if test "${RTEMS_HAS_NETWORKING}" = "yes"; then
+        rtems_cv_HAS_NETWORKING="yes";
+      else
+        rtems_cv_HAS_NETWORKING="disabled";
+      fi
+      ;;
+    esac])
+if test "$rtems_cv_HAS_NETWORKING" = "yes"; then
+  HAS_NETWORKING="yes";
+else
+  HAS_NETWORKING="no";
+fi
+AC_SUBST(HAS_NETWORKING)dnl
+])
Index: c/src/aclocal/check-posix.m4
===================================================================
--- c/src/aclocal/check-posix.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/check-posix.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,36 @@
+dnl $Id$
+dnl
+AC_DEFUN(RTEMS_CHECK_POSIX_API,
+[dnl
+AC_REQUIRE([RTEMS_CHECK_CPU])dnl
+AC_REQUIRE([RTEMS_ENABLE_POSIX])dnl
+
+AC_CACHE_CHECK([whether CPU supports libposix],
+  rtems_cv_HAS_POSIX_API,
+  [dnl
+    case "$RTEMS_CPU" in
+    unix*)
+      rtems_cv_HAS_POSIX_API="no"
+      ;;
+    *)
+      if test "${RTEMS_HAS_POSIX_API}" = "yes"; then
+        rtems_cv_HAS_POSIX_API="yes";
+      else
+        rtems_cv_HAS_POSIX_API="disabled";
+      fi
+      ;;
+    esac])
+if test "$rtems_cv_HAS_POSIX_API" = "yes"; then
+  HAS_POSIX_API="yes";
+else
+  HAS_POSIX_API="no";
+fi
+AC_SUBST(HAS_POSIX_API)dnl
+])
+
+AC_DEFUN(RTEMS_DEFINE_POSIX_API,
+[AC_REQUIRE([RTEMS_CHECK_POSIX_API])dnl
+AS_IF(
+  [test x"${HAS_POSIX_API}" = x"yes"],
+  [AC_DEFINE_UNQUOTED(RTEMS_POSIX_API,1,[if posix api is supported])])
+])
Index: c/src/aclocal/check-rdbg.m4
===================================================================
--- c/src/aclocal/check-rdbg.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/check-rdbg.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,41 @@
+dnl $Id$
+dnl
+AC_DEFUN(RTEMS_CHECK_RDBG,
+[dnl
+AC_REQUIRE([RTEMS_TOP])dnl
+AC_REQUIRE([RTEMS_CHECK_CPU])dnl
+AC_REQUIRE([RTEMS_CHECK_NETWORKING])dnl
+AC_REQUIRE([RTEMS_ENABLE_RDBG])dnl
+AC_CACHE_CHECK([whether BSP supports librdbg],
+  rtems_cv_HAS_RDBG,
+  [
+    if test -d "$srcdir/${RTEMS_TOPdir}/c/src/librdbg/src/${RTEMS_CPU}/${$1}";
+    then
+      rtems_cv_HAS_RDBG="yes" ;
+    elif test -d "$srcdir/${RTEMS_TOPdir}/c/src/librdbg/src/${RTEMS_CPU}/any"; 
+    then
+      rtems_cv_HAS_RDBG="yes" ;
+    elif test "${RTEMS_CPU}" = "powerpc"; 
+    then
+	A=`grep -l RTEMS_PPC_EXCEPTION_PROCESSING_MODEL $srcdir/${RTEMS_TOPdir}/make/custom/* 2>/dev/null`;
+	C=""
+	for i in ${A} ;
+	do
+	   B=`basename ${i} .cfg`;
+	   C="${C} ${B}";
+	done
+	rtems_cv_HAS_RDBG="no";
+	for j in ${C} ;
+	do
+		if test "${$1}" = "${j}" ;
+		then
+			rtems_cv_HAS_RDBG="yes";
+		fi
+	done
+    else
+      rtems_cv_HAS_RDBG="no";
+    fi
+  ])
+HAS_RDBG="$rtems_cv_HAS_RDBG"
+AC_SUBST(HAS_RDBG)
+])
Index: c/src/aclocal/check-tool.m4
===================================================================
--- c/src/aclocal/check-tool.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/check-tool.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,11 @@
+dnl $Id$
+
+## Check for a cross tool, similar to AC_CHECK_TOOL, but do not fall back to
+## the un-prefixed version of PROG-TO-CHECK-FOR.
+dnl RTEMS_CHECK_TOOL(VARIABLE, PROG-TO-CHECK-FOR[, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN(RTEMS_CHECK_TOOL,
+[
+  AS_IF([test "x$build_alias" != "x$host_alias"],
+    [rtems_tool_prefix=${ac_tool_prefix}])
+  AC_CHECK_PROG($1, ${rtems_tool_prefix}$2, ${rtems_tool_prefix}$2, $3, $4)
+])
Index: c/src/aclocal/config-subdirs.m4
===================================================================
--- c/src/aclocal/config-subdirs.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/config-subdirs.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,34 @@
+dnl $Id$
+
+dnl
+dnl Misc utility macros for subdir handling to work around missing abilities
+dnl in autoconf, automake and structural issues with RTEMS
+dnl
+dnl Contains parts derived from autoconf-2.13 AC_OUTPUT_SUBDIRS and Cygnus'
+dnl configure.in.
+dnl
+
+dnl
+dnl _AC_DOTS(PATH)
+dnl
+AC_DEFUN(_AC_DOTS,[
+# A "../" for each directory in $1.
+    ac_dots=`echo $1 | \
+             sed -e 's%^\./%%' -e 's%[[^/]]$%&/%' -e 's%[[^/]]*/%../%g'`
+])
+
+dnl
+dnl _RTEMS_ADJUST_SRCDIR(REVAR,CONFIG_DIR[,TARGET_SUBDIR])
+dnl
+AC_DEFUN(_RTEMS_ADJUST_SRCDIR,[
+    _AC_DOTS(ifelse([$3], ,[$2],[$3/$2]))
+
+    case "$srcdir" in
+    .) # No --srcdir option.  We are building in place.
+      $1=$srcdir ;;
+    [[\\/]]* | ?:[[\\/]]*) # Absolute path.
+      $1=$srcdir/$2 ;;
+    *) # Relative path.
+      $1=$ac_dots$srcdir/$2 ;;
+    esac
+])
Index: c/src/aclocal/enable-bare.m4
===================================================================
--- c/src/aclocal/enable-bare.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/enable-bare.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,21 @@
+AC_DEFUN(RTEMS_ENABLE_BARE,
+[
+AC_ARG_ENABLE(bare-cpu-cflags,
+[AC_HELP_STRING([--enable-bare-cpu-cflags],
+[specify a particular cpu cflag (bare bsp specific)])],
+[case "${enableval}" in
+  no) BARE_CPU_CFLAGS="" ;;
+  *)    BARE_CPU_CFLAGS="${enableval}" ;;
+esac],
+[BARE_CPU_CFLAGS=""])
+
+AC_ARG_ENABLE(bare-cpu-model,
+[AC_HELP_STRING([--enable-bare-cpu-model],
+[specify a particular cpu model (bare bsp specific)])],
+[case "${enableval}" in
+  no)   BARE_CPU_MODEL="" ;;
+  *)    BARE_CPU_MODEL="${enableval}" ;;
+esac],
+[BARE_CPU_MODEL=""])
+])
+
Index: c/src/aclocal/enable-cxx.m4
===================================================================
--- c/src/aclocal/enable-cxx.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/enable-cxx.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,13 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_CXX,
+[
+AC_ARG_ENABLE(cxx,
+[AC_HELP_STRING([--enable-cxx],
+[enable C++ support and build the rtems++ library])],
+[case "${enable_cxx}" in
+  yes) RTEMS_HAS_CPLUSPLUS=yes ;;
+  no) RTEMS_HAS_CPLUSPLUS=no   ;;
+  *)  AC_MSG_ERROR(bad value ${enableval} for enable-cxx option) ;;
+esac], [RTEMS_HAS_CPLUSPLUS=no])
+])
Index: c/src/aclocal/enable-inlines.m4
===================================================================
--- c/src/aclocal/enable-inlines.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/enable-inlines.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,17 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_INLINES,
+[AC_ARG_ENABLE(rtems-inlines,
+[AC_HELP_STRING([--enable-rtems-inlines],
+[enable RTEMS inline functions (default:enabled, disable to use macros)])],
+[case "${enableval}" in
+  yes) RTEMS_USE_MACROS=no ;;
+  no) RTEMS_USE_MACROS=yes ;;
+  *)  AC_MSG_ERROR(bad value ${enableval} for disable-rtems-inlines option) ;;
+esac],[RTEMS_USE_MACROS=no])
+AC_SUBST(RTEMS_USE_MACROS)dnl
+
+AS_IF([test x"${RTEMS_USE_MACROS}" = x"yes"],
+  [AC_DEFINE_UNQUOTED(USE_MACROS,1,[if using macros])],
+  [AC_DEFINE_UNQUOTED(USE_INLINES,1,[if using inlines])])
+])
Index: c/src/aclocal/enable-itron.m4
===================================================================
--- c/src/aclocal/enable-itron.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/enable-itron.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,33 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_ITRON,
+[
+## AC_BEFORE([$0], [RTEMS_CHECK_ITRON_API])dnl
+
+AC_ARG_ENABLE(itron,
+[AC_HELP_STRING([--enable-itron],[enable itron interface])],
+[case "${enableval}" in 
+  yes) RTEMS_HAS_ITRON_API=yes ;;
+  no) RTEMS_HAS_ITRON_API=no ;;
+  *)  AC_MSG_ERROR(bad value ${enableval} for enable-itron option) ;;
+esac],[RTEMS_HAS_ITRON_API=yes]) 
+
+case "${host}" in
+  # hpux unix port should go here
+  i[[34567]]86-pc-linux*)         # unix "simulator" port
+	RTEMS_HAS_ITRON_API=no
+	;;
+  i[[34567]]86-*freebsd*) # unix "simulator" port
+	RTEMS_HAS_ITRON_API=no
+	;;
+  no_cpu-*rtems*)
+	RTEMS_HAS_ITRON_API=no
+	;;
+  sparc-sun-solaris*)             # unix "simulator" port
+	RTEMS_HAS_ITRON_API=no
+	;;
+  *) 
+	;;
+esac
+AC_SUBST(RTEMS_HAS_ITRON_API)
+])
Index: c/src/aclocal/enable-multiprocessing.m4
===================================================================
--- c/src/aclocal/enable-multiprocessing.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/enable-multiprocessing.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,13 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_MULTIPROCESSING,
+[
+AC_ARG_ENABLE(multiprocessing,
+[AC_HELP_STRING([--enable-multiprocessing],
+[enable multiprocessing interface])],
+[case "${enable_multiprocessing}" in 
+  yes) ;;
+  no) ;;
+  *)  AC_MSG_ERROR(bad value ${enableval} for enable-multiprocessing option) ;;
+esac],[enable_multiprocessing=no])
+])
Index: c/src/aclocal/enable-networking.m4
===================================================================
--- c/src/aclocal/enable-networking.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/enable-networking.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,15 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_NETWORKING,
+[
+## AC_BEFORE([$0], [RTEMS_CHECK_NETWORKING])dnl
+
+AC_ARG_ENABLE(networking,
+[AC_HELP_STRING([--enable-networking],[enable TCP/IP stack])],
+[case "${enableval}" in
+  yes) RTEMS_HAS_NETWORKING=yes ;;
+  no) RTEMS_HAS_NETWORKING=no ;;
+  *)  AC_MSG_ERROR(bad value ${enableval} for enable-networking option) ;;
+esac],[RTEMS_HAS_NETWORKING=yes])
+AC_SUBST(RTEMS_HAS_NETWORKING)dnl
+])
Index: c/src/aclocal/enable-posix.m4
===================================================================
--- c/src/aclocal/enable-posix.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/enable-posix.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,33 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_POSIX,
+[
+## AC_BEFORE([$0], [RTEMS_CHECK_POSIX_API])dnl
+
+AC_ARG_ENABLE(posix,
+[AC_HELP_STRING([--enable-posix],[enable posix interface])],
+[case "${enableval}" in 
+  yes) RTEMS_HAS_POSIX_API=yes ;;
+  no) RTEMS_HAS_POSIX_API=no ;;
+  *)  AC_MSG_ERROR(bad value ${enableval} for enable-posix option) ;;
+esac],[RTEMS_HAS_POSIX_API=yes]) 
+
+case "${host}" in
+  # hpux unix port should go here
+  i[[34567]]86-pc-linux*)         # unix "simulator" port
+	RTEMS_HAS_POSIX_API=no
+	;;
+  i[[34567]]86-*freebsd*) # unix "simulator" port
+	RTEMS_HAS_POSIX_API=no
+	;;
+  no_cpu-*rtems*)
+	RTEMS_HAS_POSIX_API=no
+	;;
+  sparc-sun-solaris*)             # unix "simulator" port
+	RTEMS_HAS_POSIX_API=no
+	;;
+  *) 
+	;;
+esac
+AC_SUBST(RTEMS_HAS_POSIX_API)
+])
Index: c/src/aclocal/enable-rdbg.m4
===================================================================
--- c/src/aclocal/enable-rdbg.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/enable-rdbg.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,15 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_RDBG,
+[
+AC_BEFORE([$0], [RTEMS_CHECK_RDBG])dnl
+
+AC_ARG_ENABLE(rdbg,
+[AC_HELP_STRING([--enable-rdbg],[enable remote debugger])],
+[case "${enableval}" in
+  yes) RTEMS_HAS_RDBG=yes ;;
+  no) RTEMS_HAS_RDBG=no ;;
+  *)  AC_MSG_ERROR(bad value ${enableval} for enable-rdbg option) ;;
+esac],[RTEMS_HAS_RDBG=no])
+AC_SUBST(RTEMS_HAS_RDBG)dnl
+])
Index: c/src/aclocal/enable-rtemsbsp.m4
===================================================================
--- c/src/aclocal/enable-rtemsbsp.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/enable-rtemsbsp.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,16 @@
+dnl $Id$
+
+dnl Override the set of BSPs to be built.
+dnl used by the toplevel configure script
+dnl RTEMS_ENABLE_RTEMSBSP(rtems_bsp_list)
+AC_DEFUN(RTEMS_ENABLE_RTEMSBSP,
+[
+AC_BEFORE([$0], [RTEMS_ENV_RTEMSBSP])
+AC_ARG_ENABLE(rtemsbsp,
+[AC_HELP_STRING([--enable-rtemsbsp="bsp1 bsp2 .."],
+[BSPs to include in build])],
+[case "${enableval}" in
+  yes|no) AC_MSG_ERROR([missing argument to --enable-rtemsbsp="bsp1 bsp2"]);;
+  *) $1=$enableval;;
+esac],[$1=""])
+])
Index: c/src/aclocal/env-rtemsbsp.m4
===================================================================
--- c/src/aclocal/env-rtemsbsp.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/env-rtemsbsp.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,56 @@
+dnl $Id$
+
+dnl Pass a single BSP via an environment variable
+dnl used by per BSP configure scripts
+AC_DEFUN(RTEMS_ENV_RTEMSBSP,
+[dnl
+AC_BEFORE([$0], [RTEMS_ENABLE_RTEMSBSP])dnl
+AC_BEFORE([$0], [RTEMS_PROJECT_ROOT])dnl
+AC_BEFORE([$0], [RTEMS_CHECK_CUSTOM_BSP])dnl
+
+AC_ARG_VAR([CPU_CFLAGS],[CFLAGS specifying CPU-dependent features])
+AC_ARG_VAR([CFLAGS_OPTIMIZE_V],[CFLAGS for building the OPTIMIZE variant])
+AC_ARG_VAR([CFLAGS_DEBUG_V],[CFLAGS for building the DEBUG variant])
+AC_ARG_VAR([RTEMS_BSP_FAMILY],[RTEMS's BSP directory])
+AC_ARG_VAR([RTEMS_CPU_MODEL],[RTEMS's cpu model])
+
+AC_ARG_VAR([RTEMS_BSP],[RTEMS_BSP to build])
+AC_MSG_CHECKING([for RTEMS_BSP])
+AC_CACHE_VAL(rtems_cv_RTEMS_BSP,
+[dnl
+  test -n "${RTEMS_BSP}" && rtems_cv_RTEMS_BSP="$RTEMS_BSP";
+])dnl
+if test -z "$rtems_cv_RTEMS_BSP"; then
+  AC_MSG_ERROR([Missing RTEMS_BSP])
+fi
+RTEMS_BSP="$rtems_cv_RTEMS_BSP"
+AC_MSG_RESULT(${RTEMS_BSP})
+AC_SUBST(RTEMS_BSP)
+
+RTEMS_BSP_SPECS="-specs bsp_specs -qrtems"
+AC_SUBST(RTEMS_BSP_SPECS)
+
+GCC_SPECS="-B\$(PROJECT_ROOT)/lib/ -B\$(PROJECT_ROOT)/$RTEMS_BSP/lib/"
+AC_SUBST(GCC_SPECS)
+
+PROJECT_INCLUDE="\$(PROJECT_ROOT)/$RTEMS_BSP/lib/include"
+AC_SUBST(PROJECT_INCLUDE)
+
+PROJECT_RELEASE="\$(PROJECT_ROOT)/$RTEMS_BSP"   
+AC_SUBST(PROJECT_RELEASE)
+
+RTEMS_ROOT="\$(PROJECT_ROOT)/c/$RTEMS_BSP"
+AC_SUBST(RTEMS_ROOT)
+
+RTEMS_ENABLE_BARE
+AC_SUBST(BARE_CPU_MODEL)
+AC_SUBST(BARE_CPU_CFLAGS)
+
+AM_CONDITIONAL([MULTILIB],[false])
+
+includedir="\${exec_prefix}/${RTEMS_BSP}/lib/include"
+libdir="\${exec_prefix}/${RTEMS_BSP}/lib"
+
+bsplibdir="\${exec_prefix}/${RTEMS_BSP}/lib"
+AC_SUBST(bsplibdir)
+])
Index: c/src/aclocal/gcc-isystem.m4
===================================================================
--- c/src/aclocal/gcc-isystem.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/gcc-isystem.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,25 @@
+dnl
+dnl $Id$
+dnl
+dnl Check whether the gcc accepts -isystem
+dnl
+
+AC_DEFUN(RTEMS_GCC_ISYSTEM,
+[AC_REQUIRE([RTEMS_PROG_CC])
+AC_CACHE_CHECK(whether $CC accepts -isystem,rtems_cv_gcc_isystem,
+[
+rtems_cv_gcc_isystem=no
+if test x"$GCC" = x"yes"; then
+cat << EOF > conftest.h
+int conftest123();
+EOF
+cat << EOF > conftest.c
+#include <conftest.h>
+int conftest123() {}
+EOF
+  if test -z "`${CC} -isystem./ -c conftest.c 2>&1`";then
+    rtems_cv_gcc_isystem=yes
+  fi
+fi
+rm -f conftest*
+])])
Index: c/src/aclocal/gcc-pipe.m4
===================================================================
--- c/src/aclocal/gcc-pipe.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/gcc-pipe.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,21 @@
+dnl
+dnl $Id$
+dnl
+dnl Check whether the target compiler accepts -pipe
+dnl
+
+AC_DEFUN(RTEMS_GCC_PIPE,
+[AC_REQUIRE([RTEMS_PROG_CC]) 
+AC_REQUIRE([AC_CANONICAL_HOST])
+AC_CACHE_CHECK(whether $CC accepts --pipe,rtems_cv_gcc_pipe,
+[
+rtems_cv_gcc_pipe=no
+if test x"$GCC" = x"yes"; then
+    echo 'void f(){}' >conftest.c
+    if test -z "`${CC} --pipe -c conftest.c 2>&1`";then
+      rtems_cv_gcc_pipe=yes
+    fi
+    rm -f conftest*
+fi
+])
+])
Index: c/src/aclocal/gcc-specs.m4
===================================================================
--- c/src/aclocal/gcc-specs.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/gcc-specs.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,20 @@
+dnl
+dnl $Id$
+dnl
+dnl Check whether the target compiler accepts -specs
+dnl
+
+AC_DEFUN(RTEMS_GCC_SPECS,
+[AC_REQUIRE([RTEMS_PROG_CC])
+AC_CACHE_CHECK(whether $CC accepts -specs,rtems_cv_gcc_specs,
+[
+rtems_cv_gcc_specs=no
+if test x"$GCC" = x"yes"; then
+  touch confspec
+  echo 'void f(){}' >conftest.c
+  if test -z "`${CC} -specs confspec -c conftest.c 2>&1`";then
+    rtems_cv_gcc_specs=yes
+  fi
+fi
+rm -f confspec conftest*
+])])
Index: c/src/aclocal/i386-gas-code16.m4
===================================================================
--- c/src/aclocal/i386-gas-code16.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/i386-gas-code16.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,31 @@
+dnl
+dnl  $Id$
+dnl 
+
+dnl check for i386 gas supporting 16 bit mode
+dnl     - binutils 2.9.1.0.7 and higher
+
+AC_DEFUN(RTEMS_I386_GAS_CODE16,
+[ if test "${host_cpu}" = "i386"; then
+    AC_CACHE_CHECK([for 16 bit mode assembler support],
+      rtems_cv_prog_gas_code16,
+      [cat > conftest.s << EOF
+         .code16
+         data32
+         addr32
+         lgdt 0
+EOF
+      if AC_TRY_COMMAND($AS -o conftest.o conftest.s); then
+        rtems_cv_prog_gas_code16=yes
+      else
+        rtems_cv_prog_gas_code16=no
+      fi])
+    RTEMS_GAS_CODE16="$rtems_cv_prog_gas_code16"
+  fi
+  AC_SUBST(RTEMS_GAS_CODE16)
+  if test x"${RTEMS_GAS_CODE16}" = x"yes";
+  then
+    AC_DEFINE_UNQUOTED(NEW_GAS,1,[if using 16 bit mode assembler support])
+  fi
+])
+
Index: c/src/aclocal/multilib.m4
===================================================================
--- c/src/aclocal/multilib.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/multilib.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,17 @@
+dnl This provides configure definitions used for multilib support
+
+dnl parts of these macros are derived from newlib-1.8.2's multilib support
+
+AC_DEFUN(RTEMS_ENABLE_MULTILIB,
+[
+AC_ARG_ENABLE(multilib,
+AC_HELP_STRING([--enable-multilib],
+[build many library versions (default=no)]),
+[case "${enableval}" in
+  yes) multilib=yes ;;
+  no)  multilib=no ;;
+  *)   AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=no])dnl
+
+AM_CONDITIONAL(MULTILIB,test x"${multilib}" = x"yes")
+])
Index: c/src/aclocal/path-ksh.m4
===================================================================
--- c/src/aclocal/path-ksh.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/path-ksh.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,14 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_PATH_KSH,
+[
+dnl NOTE: prefer bash over ksh over sh
+AC_PATH_PROGS(KSH,bash ksh sh)
+if test -z "$KSH"; then
+dnl NOTE: This cannot happen -- /bin/sh must always exist
+AC_MSG_ERROR(
+[***]
+[    Cannot determine a usable shell bash/ksh/sh]
+[    Please contact your system administrator] );
+fi
+])
Index: c/src/aclocal/path-perl.m4
===================================================================
--- c/src/aclocal/path-perl.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/path-perl.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,12 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_PATH_PERL,
+[
+AC_PATH_PROG(PERL,perl)
+if test -z "$PERL" ; then
+AC_MSG_WARN(
+[***]
+[   perl was not found]
+[   Note: Some tools will not be built.])
+fi
+])
Index: c/src/aclocal/ppc.m4
===================================================================
--- c/src/aclocal/ppc.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/ppc.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -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
+])
+])
Index: c/src/aclocal/prog-cc.m4
===================================================================
--- c/src/aclocal/prog-cc.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/prog-cc.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,48 @@
+dnl
+dnl $Id$
+dnl 
+dnl Check for target gcc
+dnl
+
+AC_DEFUN(RTEMS_PROG_CC,
+[
+AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_BEFORE([$0], [AC_PROG_CC])dnl
+AC_BEFORE([$0], [RTEMS_CANONICALIZE_TOOLS])dnl
+
+_RTEMS_FLAGS([CFLAGS],
+  ["\$(CPU_CFLAGS) \$(RTEMS_CFLAGS_\$(VARIANT_V)_V) \$(CFLAGS_\$(VARIANT_V)_V) -g"])
+
+RTEMS_CHECK_TOOL(CC,gcc)
+test -z "$CC" && \
+  AC_MSG_ERROR([no acceptable cc found in \$PATH])
+AC_PROG_CC
+AC_PROG_CPP
+
+AM_CONDITIONAL(RTEMS_USE_GCC,test x"$GCC" = x"yes")
+])
+
+AC_DEFUN(RTEMS_PROG_CC_FOR_TARGET,
+[
+dnl check target cc
+RTEMS_PROG_CC
+dnl check if the compiler supports -isystem
+RTEMS_GCC_ISYSTEM
+dnl check if the target compiler may use --pipe
+RTEMS_GCC_PIPE
+test "$rtems_cv_gcc_pipe" = "yes" && CC="$CC --pipe"
+
+dnl check if the compiler supports --specs
+RTEMS_GCC_SPECS
+
+if test "$GCC" = yes; then
+RTEMS_CFLAGS="$RTEMS_CFLAGS -Wall"
+m4_if([$1],,[],[RTEMS_CFLAGS="$RTEMS_CFLAGS $1"])
+fi
+
+AS_IF([test x"$rtems_cv_gcc_isystem" = x"yes"],[
+  RTEMS_CPPFLAGS="-isystem \$(PROJECT_INCLUDE)"],[
+  RTEMS_CPPFLAGS="-I\$(PROJECT_INCLUDE)"
+])
+AC_SUBST(RTEMS_CPPFLAGS)
+])
Index: c/src/aclocal/prog-ccas.m4
===================================================================
--- c/src/aclocal/prog-ccas.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/prog-ccas.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,8 @@
+## $Id$
+
+AC_DEFUN([RTEMS_PROG_CCAS],
+[
+AC_REQUIRE([RTEMS_PROG_CC])
+AC_SUBST(CCAS,["$CC \$(GCCSPECS)"])
+AC_SUBST(CCASFLAGS,["-DASM \$(CFLAGS) \$(INCLUDES)"])
+])
Index: c/src/aclocal/prog-cxx.m4
===================================================================
--- c/src/aclocal/prog-cxx.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/prog-cxx.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,35 @@
+dnl
+dnl $Id$
+dnl 
+dnl Check for target g++
+dnl 
+
+AC_DEFUN(RTEMS_PROG_CXX_FOR_TARGET,
+[
+AC_BEFORE([$0], [RTEMS_CANONICALIZE_TOOLS])dnl
+AC_REQUIRE([RTEMS_ENABLE_CXX])
+RTEMS_CHECK_TOOL(CXX,g++)
+if test "$RTEMS_HAS_CPLUSPLUS" = "yes";
+then
+_RTEMS_FLAGS([CXXFLAGS],
+  ["\$(CPU_CFLAGS) \$(RTEMS_CFLAGS_\$(VARIANT_V)_V) \$(CFLAGS_\$(VARIANT_V)_V) -g"])
+
+dnl Only accept g++
+dnl NOTE: This might be too restrictive
+test -z "$CXX" \
+  && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
+AC_PROG_CXX
+
+  if test "$ac_cv_prog_cc_cross" != "$ac_cv_prog_cxx_cross"; then
+    AC_MSG_ERROR([***]
+     [Inconsistency in compiler configuration:]
+     [Target C compiler and target C++ compiler]
+     [must both either be cross compilers or native compilers]
+     [Hint: If building a posix bsp: LD_LIBRARY_PATH?] )
+  fi
+
+else
+## Work-around to a bug in automake
+AM_CONDITIONAL([am__fastdepCXX],[false])
+fi
+])
Index: c/src/aclocal/project-root.m4
===================================================================
--- c/src/aclocal/project-root.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/project-root.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,22 @@
+dnl
+dnl $Id$
+dnl 
+
+dnl
+dnl PROJECT_TOPdir     .. relative path to the top of the build-tree
+dnl PROJECT_ROOT       .. relative path to the top of the temporary
+dnl                       installation directory inside the build-tree
+dnl RTEMS_TOPdir       .. relative path of a subpackage's configure.in to the
+dnl                       toplevel configure.in of the source-tree
+dnl RTEMS_ROOT         .. path to the top of a bsp's build directory
+dnl                       [Applied by custom/*.cfg, depredicated otherwise]
+dnl
+
+AC_DEFUN(RTEMS_PROJECT_ROOT,
+[dnl
+AC_REQUIRE([RTEMS_TOP])
+
+PACKHEX="\$(PROJECT_TOPdir)/tools/build/packhex"
+AC_SUBST(PACKHEX)
+])
+
Index: c/src/aclocal/quoting.m4
===================================================================
--- c/src/aclocal/quoting.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/quoting.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,41 @@
+dnl RTEMS_CONFIGURE_ARGS_QUOTE(dnl RETURN_VAR, [ADDITIONAL_CASES], [VAR_TO_PROCESS]])
+dnl 
+AC_DEFUN([_RTEMS_CONFIGURE_ARGS_QUOTE],
+[
+$1_prune()
+{
+  # Remove --cache-file and --srcdir arguments so they do not pile up.
+  $1=
+  ac_prev=
+  for ac_arg
+  do
+    if test -n "$ac_prev"; then
+      ac_prev=
+      continue
+    fi
+    case $ac_arg in
+    -cache-file | --cache-file | --cache-fil | --cache-fi \
+    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+	  ac_prev=cache_file ;;
+    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
+    | --c=*)
+      ;;
+    --config-cache | -C)
+      ;;
+    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+	  ac_prev=srcdir ;;
+    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+      ;;
+    m4_if([$2],,,[$2])
+    *) $1="$$1 '$ac_arg'" ;;
+    esac
+  done
+  export $1
+}
+])
+
+AC_DEFUN([RTEMS_CONFIGURE_ARGS_QUOTE],[
+m4_expand_once([_RTEMS_CONFIGURE_ARGS_QUOTE([$1],[$2])])
+eval $1_prune m4_if([$3],,[$ac_configure_args],[[$]$3])
+])
Index: c/src/aclocal/rtems-cpu-subdirs.m4
===================================================================
--- c/src/aclocal/rtems-cpu-subdirs.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/rtems-cpu-subdirs.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,30 @@
+AC_DEFUN([_RTEMS_CPU_SUBDIR],
+[
+$1 )	if test -d ${srcdir}/ifelse([$2],,[$1],[$2/$1]) ; then
+  AC_CONFIG_SUBDIRS(ifelse([$2],,[$1],[$2/$1]))
+  fi
+])
+
+## RTEMS_CPU_SUBDIRS([PREFIX])
+AC_DEFUN([RTEMS_CPU_SUBDIRS],
+[
+## EDIT: If adding a new cpu to RTEMS, add it to the case block below.
+case $RTEMS_CPU in
+_RTEMS_CPU_SUBDIR([arm],[$1]);;
+_RTEMS_CPU_SUBDIR([c4x],[$1]);;
+_RTEMS_CPU_SUBDIR([h8300],[$1]);;
+_RTEMS_CPU_SUBDIR([hppa1.1],[$1]);;
+_RTEMS_CPU_SUBDIR([i386],[$1]);;
+_RTEMS_CPU_SUBDIR([i960],[$1]);;
+_RTEMS_CPU_SUBDIR([m68k],[$1]);;
+_RTEMS_CPU_SUBDIR([mips],[$1]);;
+_RTEMS_CPU_SUBDIR([mips64orion],[$1]);;
+_RTEMS_CPU_SUBDIR([no_cpu],[$1]);;
+_RTEMS_CPU_SUBDIR([or32],[$1]);;
+_RTEMS_CPU_SUBDIR([powerpc],[$1]);;
+_RTEMS_CPU_SUBDIR([sh],[$1]);;
+_RTEMS_CPU_SUBDIR([sparc],[$1]);;
+_RTEMS_CPU_SUBDIR([unix],[$1]);;
+*) AC_MSG_ERROR([Invalid RTEMS_CPU <[$]{RTEMS_CPU}>])
+esac
+])
Index: c/src/aclocal/rtems-flags.m4
===================================================================
--- c/src/aclocal/rtems-flags.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/rtems-flags.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,11 @@
+## $Id$
+## 
+## Some hacks to set up RTEMS_*FLAGS
+## Internal macro, not supposed to be explictly used in configure.ac's
+
+AC_DEFUN([_RTEMS_FLAGS],[
+AS_IF([test -n "[$]{$1}"],
+  [RTEMS_$1=[$]{$1}],
+  [RTEMS_$1=$2])
+AC_SUBST([RTEMS_$1])
+])
Index: c/src/aclocal/rtems-top.m4
===================================================================
--- c/src/aclocal/rtems-top.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/rtems-top.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,46 @@
+dnl $Id$
+
+dnl
+dnl RTEMS_TOP($1)
+dnl 
+dnl $1 .. relative path from this configure.in to the toplevel configure.in
+dnl
+AC_DEFUN(RTEMS_TOP,
+[dnl
+AC_REQUIRE([RTEMS_VERSIONING])
+AC_CONFIG_AUX_DIR([$1])
+AC_CHECK_PROGS(MAKE, gmake make)
+AC_BEFORE([$0], [AM_INIT_AUTOMAKE])dnl
+
+AC_PREFIX_DEFAULT([/opt/rtems])
+
+## HACK to allow gnu-make conditionals in automake-Makefiles.
+ENDIF=endif
+AC_SUBST(ENDIF)
+
+RTEMS_TOPdir="$1";
+AC_SUBST(RTEMS_TOPdir)
+
+## with_target_subdirs is handled implicitly by autoconf
+test -n "$with_target_subdir" || with_target_subdir="."
+
+if test "$with_target_subdir" = "." ; then
+# Native
+PROJECT_TOPdir=${RTEMS_TOPdir}/'$(top_builddir)'
+else
+# Cross
+dots=`echo $with_target_subdir|\
+sed -e 's%^\./%%' -e 's%[[^/]]$%&/%' -e 's%[[^/]]*/%../%g'`
+PROJECT_TOPdir=${dots}${RTEMS_TOPdir}/'$(top_builddir)'
+fi
+AC_SUBST(PROJECT_TOPdir)
+
+PROJECT_ROOT="${RTEMS_TOPdir}/\$(top_builddir)"
+AC_SUBST(PROJECT_ROOT)
+
+AC_MSG_CHECKING([for RTEMS Version])
+AS_IF([test -r "${srcdir}/${RTEMS_TOPdir}/aclocal/version.m4"],
+[],
+[AC_MSG_ERROR([Unable to find ${RTEMS_TOPdir}/aclocal/version.m4])])
+AC_MSG_RESULT([_RTEMS_VERSION])
+])dnl
Index: c/src/aclocal/target.m4
===================================================================
--- c/src/aclocal/target.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/target.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,138 @@
+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,
+[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_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 x"$build_alias" != x"$host_alias"; then 
+    target_subdir="$host_alias"
+  else
+    target_subdir="."
+  fi
+  RTEMS_CONFIGURE_ARGS_QUOTE([ac_sub_configure_args],
+    [
+    -host* | --host* ) ;;
+    --host ) ac_prev=host_alias;;
+    -target* | --target* ) ;;
+    -target ) ac_prev=target_alias ;;
+    -build* | --build* ) ;;
+    -build ) ac_prev_build_alias ;;
+    *_alias=* ) ;; # HACK: Workaround to autoconf passing *_alias
+    ],
+    [rtems_configure_args])
+
+  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/$rtems_config_dir; then
+      continue
+    fi
+
+    _RTEMS_PUSH_BUILDDIR([$rtems_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=/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"
+      # The eval makes quoting arguments work.
+      if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure \
+	$ac_sub_configure_args \
+	--srcdir=$ac_sub_srcdir \
+	--with-target-subdir=$target_subdir \
+        --cache-file=$ac_sub_cache_file 
+      then :
+      else
+        AC_MSG_ERROR([$ac_sub_configure failed for $rtems_config_dir])
+      fi
+    fi
+
+    _RTEMS_POP_BUILDDIR
+  done
+fi],
+[
+RTEMS_BUILD_SUBDIRS="$RTEMS_BUILD_SUBDIRS"
+rtems_configure_args="$ac_configure_args"
+])
+])
+
+## FIXME: This is obsolete. Only kept for backward compatibility
+AU_DEFUN([RTEMS_OUTPUT_BUILD_SUBDIRS],[])
+
+
+dnl
+dnl Misc utility macros for subdir handling to work around missing abilities
+dnl in autoconf, automake and structural issues with RTEMS
+dnl
+dnl Contains parts derived from autoconf-2.13 AC_OUTPUT_SUBDIRS and Cygnus'
+dnl configure.in.
+dnl
+
+dnl
+dnl _RTEMS_PUSH_BUILDDIR(SUBDIR)
+dnl
+AC_DEFUN(_RTEMS_PUSH_BUILDDIR,
+[
+# _RTEMS_PUSH_BUILDDIR
+    echo configuring in $1
+    case "$srcdir" in
+    .) ;;
+    *) AS_MKDIR_P([$1])
+      ;;
+    esac
+
+    ac_popdir=`pwd`
+    cd $1
+])
+
+dnl
+dnl _RTEMS_POP_BUILDDIR
+dnl
+AC_DEFUN(_RTEMS_POP_BUILDDIR,
+[
+  cd $ac_popdir
+])
+
+dnl
+dnl _RTEMS_GIVEN_INSTALL
+dnl
+AC_DEFUN(_RTEMS_GIVEN_INSTALL,
+[
+ifdef([AC_PROVIDE_AC_PROG_INSTALL],[  
+  case "$ac_given_INSTALL" in
+  [[\\/]]* | ?:[[\\/]]*) INSTALL="$ac_given_INSTALL" ;;
+  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+  esac
+])dnl
+])
+
+dnl
+dnl _RTEMS_SUB_SRCDIR(AC_CONFIG_DIR[,TARGET_SUBDIR])
+dnl
+AC_DEFUN(_RTEMS_SUB_SRCDIR,[
+# _RTEMS_SUB_SRCDIR
+    _RTEMS_ADJUST_SRCDIR(ac_sub_srcdir,$1,$2)
+
+    # Check for configure
+    if test -f $ac_sub_srcdir/configure; then
+      ac_sub_configure=$ac_sub_srcdir/configure
+    else
+      AC_MSG_WARN([no configuration information is in $1])
+      ac_sub_configure=
+    fi
+])
Index: c/src/aclocal/tool-paths.m4
===================================================================
--- c/src/aclocal/tool-paths.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/tool-paths.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,23 @@
+AC_DEFUN(RTEMS_TOOLPATHS,
+[
+# tooldir='$(exec_prefix)/'$target_alias
+# Temporary work-around until building in source tree is supported
+AC_REQUIRE([RTEMS_PROJECT_ROOT])
+
+tooldir='$(PROJECT_ROOT)'
+AC_SUBST(tooldir)
+
+project_includedir='$(tooldir)'/include
+AC_SUBST(project_includedir)
+
+project_libdir='$(tooldir)/lib$(MULTISUBDIR)'
+AC_SUBST(project_libdir)
+
+project_bindir='$(tooldir)/bin'
+AC_SUBST(project_bindir)
+
+rtems_bspdir='$(prefix)/${RTEMS_BSP}'
+AC_SUBST(rtems_bspdir)
+rtems_makedir='$(prefix)/make'
+AC_SUBST(rtems_makedir)
+])
Index: c/src/aclocal/version.m4
===================================================================
--- c/src/aclocal/version.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
+++ c/src/aclocal/version.m4	(revision 867ab080e00abc47c3c64ca46b6a6ad62eaeab3d)
@@ -0,0 +1,2 @@
+AC_DEFUN([RTEMS_VERSIONING],
+m4_define([_RTEMS_VERSION],[ss-20030703]))
