Index: cpukit/ChangeLog
===================================================================
--- cpukit/ChangeLog	(revision c50e97811a4d1999699bfac4b50355ec26f02601)
+++ cpukit/ChangeLog	(revision 894b7f9712b59384d25da2adaf9093ae4328b8a1)
@@ -1,2 +1,12 @@
+2004-03-29	Ralf Corsepius <ralf_corsepius@rtems.org>
+
+	* aclocal/rtems-top.m4: Add MULTISUBDIR. Add MULTIBUILDTOP.
+	Add rtems_updir. Remove version.m4 check. 
+	Add PROJECT_ROOT/with_project_root processing.
+	Add PROJECT_INCLUDE. Add PROJECT_LIB.
+	* aclocal/env-rtemscpu.a4: Remove cpukit_topdir.
+	Remove with_project_root processing. Remove PROJECT_INCLUDE,
+	PROJECT_LIB.
+
 2004-03-26	Ralf Corsepius <ralf_corsepius@rtems.org>
 
Index: cpukit/aclocal/env-rtemscpu.m4
===================================================================
--- cpukit/aclocal/env-rtemscpu.m4	(revision c50e97811a4d1999699bfac4b50355ec26f02601)
+++ cpukit/aclocal/env-rtemscpu.m4	(revision 894b7f9712b59384d25da2adaf9093ae4328b8a1)
@@ -7,8 +7,4 @@
 [
   AC_REQUIRE([RTEMS_ENABLE_MULTILIB])
-
-  # RTEMS_TOPdir points to the top of RTEMS source tree
-  # cpukit_topdir points to the top of the cpukit source tree
-  cpukit_topdir="/${RTEMS_TOPdir}/"
 
   AS_IF([test -n "$enable_rtemsbsp"],
@@ -30,47 +26,9 @@
     AC_MSG_RESULT(${RTEMS_BSP})
 
-    test x"${with_project_root}" = x && with_project_root=".";
-    case x${with_project_root} in
-    x[[\\/]]* | x?:[[\\/]]* ) # absolute dir
-      PROJECT_ROOT="${with_project_root}"
-      ;;
-    x* ) # relative dir
-      PROJECT_ROOT="\$(top_builddir)${cpukit_topdir}${with_project_root}"
-      ;;
-    esac
-
-    PROJECT_ROOT="${PROJECT_ROOT}/$RTEMS_BSP"
-    AC_SUBST([PROJECT_INCLUDE],["${PROJECT_ROOT}/lib/include"])
-    AC_SUBST([PROJECT_LIB],["${PROJECT_ROOT}/lib"])
-
     includedir="\${exec_prefix}/${RTEMS_BSP}/lib/include"
     libdir="\${exec_prefix}/${RTEMS_BSP}/lib"
   ],[
-    AS_IF([test x"$multilib" = x"yes"],
-    [
-      AS_IF([test -n "$with_multisubdir"],
-        [MULTIBUILDTOP=`echo "/$with_multisubdir" | sed 's,/[[^\\/]]*,../,g'`])
-      AC_SUBST(MULTIBUILDTOP)
- 
-      AS_IF([test -n "$with_multisubdir"],
-        [MULTISUBDIR="/$with_multisubdir"])
-      AC_SUBST(MULTISUBDIR)
-
-      PROJECT_ROOT="\$(top_builddir)${cpukit_topdir}../\$(MULTIBUILDTOP)"
-
-      AC_SUBST([PROJECT_INCLUDE],["${PROJECT_ROOT}lib/include"])
-      AC_SUBST([PROJECT_LIB],["${PROJECT_ROOT}lib\$(MULTISUBDIR)"])
-
-      includedir="\${exec_prefix}/include"
-      libdir="${libdir}\$(MULTISUBDIR)"
-    ],[
-      PROJECT_ROOT="\$(top_builddir)${cpukit_topdir}"
-
-      AC_SUBST([PROJECT_INCLUDE],["${PROJECT_ROOT}lib/include"])
-      AC_SUBST([PROJECT_LIB],["${PROJECT_ROOT}lib\$(MULTISUBDIR)"])
-
-      includedir="\${exec_prefix}/include"
-      libdir="${libdir}\$(MULTISUBDIR)"
-    ])
+    includedir="\${exec_prefix}/include"
+    libdir="${libdir}\$(MULTISUBDIR)"
   ])
 
@@ -78,6 +36,4 @@
   AC_SUBST([project_includedir],["\$(includedir)"])
 
-  AC_SUBST(PROJECT_ROOT)
-
   AM_CONDITIONAL([MULTILIB],[test x"$multilib" = x"yes"])
 ])
Index: cpukit/aclocal/rtems-top.m4
===================================================================
--- cpukit/aclocal/rtems-top.m4	(revision c50e97811a4d1999699bfac4b50355ec26f02601)
+++ cpukit/aclocal/rtems-top.m4	(revision 894b7f9712b59384d25da2adaf9093ae4328b8a1)
@@ -12,5 +12,5 @@
 AC_REQUIRE([RTEMS_VERSIONING])
 AC_REQUIRE([AM_SET_LEADING_DOT])
-AC_CONFIG_AUX_DIR([../$1])
+AC_CONFIG_AUX_DIR([$1])
 AC_CHECK_PROGS(MAKE, gmake make)
 AC_BEFORE([$0], [AM_INIT_AUTOMAKE])dnl
@@ -18,12 +18,48 @@
 AC_PREFIX_DEFAULT([/opt/rtems-][RTEMS_API])
 
-RTEMS_TOPdir="$1";
-AC_SUBST(RTEMS_TOPdir)
+AC_SUBST([RTEMS_TOPdir],["$1"])
 
-## with_target_subdirs is handled implicitly by autoconf
-test -n "$with_target_subdir" || with_target_subdir="."
+# HACK: The sed pattern below strips of "../", corresponding to "cpukit/"
+rtems_updir="/"m4_if([$2],[],[`echo "$1/" | sed s,^\.\.\/,,`],[$2/])
 
-AC_MSG_CHECKING([for RTEMS Version])
-AC_MSG_RESULT([_RTEMS_VERSION])
+AS_IF([test -n "$with_multisubdir"],
+  [MULTIBUILDTOP=`echo "/$with_multisubdir" | sed 's,/[[^\\/]]*,../,g'`])
+AC_SUBST(MULTIBUILDTOP)
+ 
+AS_IF([test -n "$with_multisubdir"],
+  [MULTISUBDIR="/$with_multisubdir"])
+AC_SUBST(MULTISUBDIR)
+
+AC_ARG_WITH([project-root],[
+AS_HELP_STRING(--with-project-root,directory to pre-install files into)],[
+## Make sure to have a terminating '/'
+case "${with_project_root}" in
+*/) ;;
+*) with_project_root="${with_project_root}/" ;;
+esac
+
+case "${with_project_root}" in
+  [[\\/$]]* | ?:[[\\/]]* ) # absolute directory
+   PROJECT_ROOT=${with_project_root}
+   ;;
+  *) # relative directory
+   sav0dir=`pwd` && cd ./${rtems_updir}
+   sav1dir=`pwd` && cd ../${MULTIBUILDTOP}
+   sav2dir=`pwd` && cd $sav0dir
+   mydir=`echo $sav1dir | sed s,^$sav2dir${MULTISUBDIR}/,,`
+   PROJECT_ROOT='$(top_builddir)'${rtems_updir}'../$(MULTIBUILDTOP)'${mydir}/${with_project_root}
+   ;;
+esac],[
+## Defaults: Note: Two different defaults!
+## ../ for multilib
+## '.' for non-multilib
+AS_IF([test "$enable_multilib" = "yes"],[ 
+  PROJECT_ROOT='$(top_builddir)'${rtems_updir}'../$(MULTIBUILDTOP)'],[
+  PROJECT_ROOT='$(top_builddir)'${rtems_updir}])
+])
+AC_SUBST([PROJECT_ROOT])
+
+AC_SUBST([PROJECT_INCLUDE],["${PROJECT_ROOT}lib/include"])
+AC_SUBST([PROJECT_LIB],["${PROJECT_ROOT}lib\$(MULTISUBDIR)"])
 
 AC_SUBST([dirstamp],[\${am__leading_dot}dirstamp])
