summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2003-08-18 05:40:53 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2003-08-18 05:40:53 +0000
commit3c69a77436f391ea95f15979cbb75a68ad85e83b (patch)
tree5a4d2e4f8833429ea5744716cda6e2d79cc51914
parentd22571602f6a7c4eac513bb1d76acfbb44d6fe54 (diff)
downloadrtems-3c69a77436f391ea95f15979cbb75a68ad85e83b.tar.bz2
2003-08-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* aclocal/bsp-alias.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-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-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-rtemsbsp.m4: New (Copied from ../../../aclocal). * aclocal/enable-tests.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/multilib.m4: New (Copied from ../../../aclocal). * aclocal/path-ksh.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-test-no-pause.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).
-rw-r--r--c/src/tests/ChangeLog41
-rw-r--r--c/src/tests/aclocal/bsp-alias.m440
-rw-r--r--c/src/tests/aclocal/canonical-host.m425
-rw-r--r--c/src/tests/aclocal/canonical-target-name.m441
-rw-r--r--c/src/tests/aclocal/canonicalize-tools.m423
-rw-r--r--c/src/tests/aclocal/check-cpu.m418
-rw-r--r--c/src/tests/aclocal/check-custom-bsp.m410
-rw-r--r--c/src/tests/aclocal/check-cxx.m426
-rw-r--r--c/src/tests/aclocal/check-itron.m437
-rw-r--r--c/src/tests/aclocal/check-multiprocessing.m442
-rw-r--r--c/src/tests/aclocal/check-networking.m429
-rw-r--r--c/src/tests/aclocal/check-posix.m436
-rw-r--r--c/src/tests/aclocal/check-tool.m411
-rw-r--r--c/src/tests/aclocal/config-subdirs.m434
-rw-r--r--c/src/tests/aclocal/enable-bare.m421
-rw-r--r--c/src/tests/aclocal/enable-cxx.m413
-rw-r--r--c/src/tests/aclocal/enable-itron.m433
-rw-r--r--c/src/tests/aclocal/enable-multiprocessing.m413
-rw-r--r--c/src/tests/aclocal/enable-networking.m413
-rw-r--r--c/src/tests/aclocal/enable-posix.m433
-rw-r--r--c/src/tests/aclocal/enable-rtemsbsp.m416
-rw-r--r--c/src/tests/aclocal/enable-tests.m415
-rw-r--r--c/src/tests/aclocal/env-rtemsbsp.m456
-rw-r--r--c/src/tests/aclocal/gcc-isystem.m425
-rw-r--r--c/src/tests/aclocal/gcc-pipe.m421
-rw-r--r--c/src/tests/aclocal/gcc-specs.m420
-rw-r--r--c/src/tests/aclocal/multilib.m417
-rw-r--r--c/src/tests/aclocal/path-ksh.m414
-rw-r--r--c/src/tests/aclocal/prog-cc.m448
-rw-r--r--c/src/tests/aclocal/prog-cxx.m435
-rw-r--r--c/src/tests/aclocal/project-root.m422
-rw-r--r--c/src/tests/aclocal/quoting.m441
-rw-r--r--c/src/tests/aclocal/rtems-cpu-subdirs.m430
-rw-r--r--c/src/tests/aclocal/rtems-flags.m411
-rw-r--r--c/src/tests/aclocal/rtems-test-no-pause.m418
-rw-r--r--c/src/tests/aclocal/rtems-top.m446
-rw-r--r--c/src/tests/aclocal/target.m4138
-rw-r--r--c/src/tests/aclocal/tool-paths.m423
-rw-r--r--c/src/tests/aclocal/version.m42
-rw-r--r--testsuites/ChangeLog41
-rw-r--r--testsuites/aclocal/canonical-target-name.m441
-rw-r--r--testsuites/aclocal/canonicalize-tools.m423
-rw-r--r--testsuites/aclocal/check-custom-bsp.m410
-rw-r--r--testsuites/aclocal/check-cxx.m426
-rw-r--r--testsuites/aclocal/check-itron.m437
-rw-r--r--testsuites/aclocal/check-multiprocessing.m442
-rw-r--r--testsuites/aclocal/check-networking.m429
-rw-r--r--testsuites/aclocal/check-posix.m436
-rw-r--r--testsuites/aclocal/check-tool.m411
-rw-r--r--testsuites/aclocal/config-subdirs.m434
-rw-r--r--testsuites/aclocal/enable-bare.m421
-rw-r--r--testsuites/aclocal/enable-cxx.m413
-rw-r--r--testsuites/aclocal/enable-itron.m433
-rw-r--r--testsuites/aclocal/enable-multiprocessing.m413
-rw-r--r--testsuites/aclocal/enable-networking.m413
-rw-r--r--testsuites/aclocal/enable-posix.m433
-rw-r--r--testsuites/aclocal/enable-rtemsbsp.m416
-rw-r--r--testsuites/aclocal/enable-tests.m415
-rw-r--r--testsuites/aclocal/env-rtemsbsp.m456
-rw-r--r--testsuites/aclocal/gcc-isystem.m425
-rw-r--r--testsuites/aclocal/gcc-pipe.m421
-rw-r--r--testsuites/aclocal/gcc-specs.m420
-rw-r--r--testsuites/aclocal/multilib.m417
-rw-r--r--testsuites/aclocal/path-ksh.m414
-rw-r--r--testsuites/aclocal/prog-cc.m448
-rw-r--r--testsuites/aclocal/prog-cxx.m435
-rw-r--r--testsuites/aclocal/project-root.m422
-rw-r--r--testsuites/aclocal/quoting.m441
-rw-r--r--testsuites/aclocal/rtems-cpu-subdirs.m430
-rw-r--r--testsuites/aclocal/rtems-flags.m411
-rw-r--r--testsuites/aclocal/rtems-test-no-pause.m418
-rw-r--r--testsuites/aclocal/rtems-top.m446
-rw-r--r--testsuites/aclocal/target.m4138
-rw-r--r--testsuites/aclocal/tool-paths.m423
-rw-r--r--testsuites/aclocal/version.m42
75 files changed, 2191 insertions, 0 deletions
diff --git a/c/src/tests/ChangeLog b/c/src/tests/ChangeLog
index 7e143b42cb..b8bb6f79df 100644
--- a/c/src/tests/ChangeLog
+++ b/c/src/tests/ChangeLog
@@ -1,5 +1,46 @@
2003-08-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+ * aclocal/bsp-alias.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-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-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-rtemsbsp.m4: New (Copied from ../../../aclocal).
+ * aclocal/enable-tests.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/multilib.m4: New (Copied from ../../../aclocal).
+ * aclocal/path-ksh.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-test-no-pause.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>
+
* automake/local.am, automake/host.am: Remove "debug".
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
diff --git a/c/src/tests/aclocal/bsp-alias.m4 b/c/src/tests/aclocal/bsp-alias.m4
new file mode 100644
index 0000000000..85b5fbbef3
--- /dev/null
+++ b/c/src/tests/aclocal/bsp-alias.m4
@@ -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]))]
+)
diff --git a/c/src/tests/aclocal/canonical-host.m4 b/c/src/tests/aclocal/canonical-host.m4
new file mode 100644
index 0000000000..7077ab31c5
--- /dev/null
+++ b/c/src/tests/aclocal/canonical-host.m4
@@ -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
diff --git a/c/src/tests/aclocal/canonical-target-name.m4 b/c/src/tests/aclocal/canonical-target-name.m4
new file mode 100644
index 0000000000..ab710dc722
--- /dev/null
+++ b/c/src/tests/aclocal/canonical-target-name.m4
@@ -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)
+])
diff --git a/c/src/tests/aclocal/canonicalize-tools.m4 b/c/src/tests/aclocal/canonicalize-tools.m4
new file mode 100644
index 0000000000..4d37fa9c69
--- /dev/null
+++ b/c/src/tests/aclocal/canonicalize-tools.m4
@@ -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,:)
+])
diff --git a/c/src/tests/aclocal/check-cpu.m4 b/c/src/tests/aclocal/check-cpu.m4
new file mode 100644
index 0000000000..f3bc2141ae
--- /dev/null
+++ b/c/src/tests/aclocal/check-cpu.m4
@@ -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
+
diff --git a/c/src/tests/aclocal/check-custom-bsp.m4 b/c/src/tests/aclocal/check-custom-bsp.m4
new file mode 100644
index 0000000000..de9d61b79e
--- /dev/null
+++ b/c/src/tests/aclocal/check-custom-bsp.m4
@@ -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])])
+])
diff --git a/c/src/tests/aclocal/check-cxx.m4 b/c/src/tests/aclocal/check-cxx.m4
new file mode 100644
index 0000000000..a780c3a8de
--- /dev/null
+++ b/c/src/tests/aclocal/check-cxx.m4
@@ -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)
+])
diff --git a/c/src/tests/aclocal/check-itron.m4 b/c/src/tests/aclocal/check-itron.m4
new file mode 100644
index 0000000000..4c4dbf0042
--- /dev/null
+++ b/c/src/tests/aclocal/check-itron.m4
@@ -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
+])
diff --git a/c/src/tests/aclocal/check-multiprocessing.m4 b/c/src/tests/aclocal/check-multiprocessing.m4
new file mode 100644
index 0000000000..355635ce54
--- /dev/null
+++ b/c/src/tests/aclocal/check-multiprocessing.m4
@@ -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])
+])
diff --git a/c/src/tests/aclocal/check-networking.m4 b/c/src/tests/aclocal/check-networking.m4
new file mode 100644
index 0000000000..db3a0c60d3
--- /dev/null
+++ b/c/src/tests/aclocal/check-networking.m4
@@ -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
+])
diff --git a/c/src/tests/aclocal/check-posix.m4 b/c/src/tests/aclocal/check-posix.m4
new file mode 100644
index 0000000000..7512f663f5
--- /dev/null
+++ b/c/src/tests/aclocal/check-posix.m4
@@ -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])])
+])
diff --git a/c/src/tests/aclocal/check-tool.m4 b/c/src/tests/aclocal/check-tool.m4
new file mode 100644
index 0000000000..5a91490e74
--- /dev/null
+++ b/c/src/tests/aclocal/check-tool.m4
@@ -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)
+])
diff --git a/c/src/tests/aclocal/config-subdirs.m4 b/c/src/tests/aclocal/config-subdirs.m4
new file mode 100644
index 0000000000..6f9360bc80
--- /dev/null
+++ b/c/src/tests/aclocal/config-subdirs.m4
@@ -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
+])
diff --git a/c/src/tests/aclocal/enable-bare.m4 b/c/src/tests/aclocal/enable-bare.m4
new file mode 100644
index 0000000000..43219461f8
--- /dev/null
+++ b/c/src/tests/aclocal/enable-bare.m4
@@ -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=""])
+])
+
diff --git a/c/src/tests/aclocal/enable-cxx.m4 b/c/src/tests/aclocal/enable-cxx.m4
new file mode 100644
index 0000000000..cde862d39f
--- /dev/null
+++ b/c/src/tests/aclocal/enable-cxx.m4
@@ -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])
+])
diff --git a/c/src/tests/aclocal/enable-itron.m4 b/c/src/tests/aclocal/enable-itron.m4
new file mode 100644
index 0000000000..3157ce0641
--- /dev/null
+++ b/c/src/tests/aclocal/enable-itron.m4
@@ -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)
+])
diff --git a/c/src/tests/aclocal/enable-multiprocessing.m4 b/c/src/tests/aclocal/enable-multiprocessing.m4
new file mode 100644
index 0000000000..129de0a735
--- /dev/null
+++ b/c/src/tests/aclocal/enable-multiprocessing.m4
@@ -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])
+])
diff --git a/c/src/tests/aclocal/enable-networking.m4 b/c/src/tests/aclocal/enable-networking.m4
new file mode 100644
index 0000000000..9aa3643b5a
--- /dev/null
+++ b/c/src/tests/aclocal/enable-networking.m4
@@ -0,0 +1,13 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_NETWORKING,
+[
+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
+])
diff --git a/c/src/tests/aclocal/enable-posix.m4 b/c/src/tests/aclocal/enable-posix.m4
new file mode 100644
index 0000000000..13be1417dd
--- /dev/null
+++ b/c/src/tests/aclocal/enable-posix.m4
@@ -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)
+])
diff --git a/c/src/tests/aclocal/enable-rtemsbsp.m4 b/c/src/tests/aclocal/enable-rtemsbsp.m4
new file mode 100644
index 0000000000..10ffcf6827
--- /dev/null
+++ b/c/src/tests/aclocal/enable-rtemsbsp.m4
@@ -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=""])
+])
diff --git a/c/src/tests/aclocal/enable-tests.m4 b/c/src/tests/aclocal/enable-tests.m4
new file mode 100644
index 0000000000..027dc212c0
--- /dev/null
+++ b/c/src/tests/aclocal/enable-tests.m4
@@ -0,0 +1,15 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_TESTS,
+[
+# If the tests are enabled, then find all the test suite Makefiles
+AC_MSG_CHECKING([if the test suites are enabled? ])
+AC_ARG_ENABLE(tests,
+[AC_HELP_STRING([--enable-tests],[enable tests (default:disabled)])],
+ [case "${enableval}" in
+ yes) tests_enabled=yes ;;
+ no) tests_enabled=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for tests option) ;;
+ esac], [tests_enabled=no])
+AC_MSG_RESULT([$tests_enabled])
+])
diff --git a/c/src/tests/aclocal/env-rtemsbsp.m4 b/c/src/tests/aclocal/env-rtemsbsp.m4
new file mode 100644
index 0000000000..705df4d4dc
--- /dev/null
+++ b/c/src/tests/aclocal/env-rtemsbsp.m4
@@ -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)
+])
diff --git a/c/src/tests/aclocal/gcc-isystem.m4 b/c/src/tests/aclocal/gcc-isystem.m4
new file mode 100644
index 0000000000..c230508208
--- /dev/null
+++ b/c/src/tests/aclocal/gcc-isystem.m4
@@ -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*
+])])
diff --git a/c/src/tests/aclocal/gcc-pipe.m4 b/c/src/tests/aclocal/gcc-pipe.m4
new file mode 100644
index 0000000000..093ea2edf4
--- /dev/null
+++ b/c/src/tests/aclocal/gcc-pipe.m4
@@ -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
+])
+])
diff --git a/c/src/tests/aclocal/gcc-specs.m4 b/c/src/tests/aclocal/gcc-specs.m4
new file mode 100644
index 0000000000..ca0271424f
--- /dev/null
+++ b/c/src/tests/aclocal/gcc-specs.m4
@@ -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*
+])])
diff --git a/c/src/tests/aclocal/multilib.m4 b/c/src/tests/aclocal/multilib.m4
new file mode 100644
index 0000000000..66896f9ce5
--- /dev/null
+++ b/c/src/tests/aclocal/multilib.m4
@@ -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")
+])
diff --git a/c/src/tests/aclocal/path-ksh.m4 b/c/src/tests/aclocal/path-ksh.m4
new file mode 100644
index 0000000000..881dd0c9ec
--- /dev/null
+++ b/c/src/tests/aclocal/path-ksh.m4
@@ -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
+])
diff --git a/c/src/tests/aclocal/prog-cc.m4 b/c/src/tests/aclocal/prog-cc.m4
new file mode 100644
index 0000000000..24a9d842a1
--- /dev/null
+++ b/c/src/tests/aclocal/prog-cc.m4
@@ -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)
+])
diff --git a/c/src/tests/aclocal/prog-cxx.m4 b/c/src/tests/aclocal/prog-cxx.m4
new file mode 100644
index 0000000000..8db69bf804
--- /dev/null
+++ b/c/src/tests/aclocal/prog-cxx.m4
@@ -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
+])
diff --git a/c/src/tests/aclocal/project-root.m4 b/c/src/tests/aclocal/project-root.m4
new file mode 100644
index 0000000000..b520b94b5a
--- /dev/null
+++ b/c/src/tests/aclocal/project-root.m4
@@ -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)
+])
+
diff --git a/c/src/tests/aclocal/quoting.m4 b/c/src/tests/aclocal/quoting.m4
new file mode 100644
index 0000000000..0a95ae3e9b
--- /dev/null
+++ b/c/src/tests/aclocal/quoting.m4
@@ -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])
+])
diff --git a/c/src/tests/aclocal/rtems-cpu-subdirs.m4 b/c/src/tests/aclocal/rtems-cpu-subdirs.m4
new file mode 100644
index 0000000000..19d880a14a
--- /dev/null
+++ b/c/src/tests/aclocal/rtems-cpu-subdirs.m4
@@ -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
+])
diff --git a/c/src/tests/aclocal/rtems-flags.m4 b/c/src/tests/aclocal/rtems-flags.m4
new file mode 100644
index 0000000000..8e034e52c2
--- /dev/null
+++ b/c/src/tests/aclocal/rtems-flags.m4
@@ -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])
+])
diff --git a/c/src/tests/aclocal/rtems-test-no-pause.m4 b/c/src/tests/aclocal/rtems-test-no-pause.m4
new file mode 100644
index 0000000000..17d92e9a12
--- /dev/null
+++ b/c/src/tests/aclocal/rtems-test-no-pause.m4
@@ -0,0 +1,18 @@
+AC_DEFUN(RTEMS_ENABLE_RTEMS_TEST_NO_PAUSE,
+[AC_ARG_ENABLE(test-no-pause,
+AC_HELP_STRING([--disable-test-no-pause],[disable RTEMS_TEST_NO_PAUSE]),
+[case "${enableval}" in
+ yes) RTEMS_TEST_NO_PAUSE=yes ;;
+ no) RTEMS_TEST_NO_PAUSE=no ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for RTEMS_TEST_NO_PAUSE]) ;;
+esac],[RTEMS_TEST_NO_PAUSE=yes])
+])
+
+AC_DEFUN(RTEMS_CHECK_RTEMS_TEST_NO_PAUSE,
+[AC_REQUIRE([RTEMS_ENABLE_RTEMS_TEST_NO_PAUSE])
+if test x"${RTEMS_TEST_NO_PAUSE}" = x"yes";
+then
+ AC_DEFINE_UNQUOTED(RTEMS_TEST_NO_PAUSE,1,[if RTEMS_TEST_NO_PAUSE is enabled])
+fi
+])
+
diff --git a/c/src/tests/aclocal/rtems-top.m4 b/c/src/tests/aclocal/rtems-top.m4
new file mode 100644
index 0000000000..bdb79ed5e6
--- /dev/null
+++ b/c/src/tests/aclocal/rtems-top.m4
@@ -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
diff --git a/c/src/tests/aclocal/target.m4 b/c/src/tests/aclocal/target.m4
new file mode 100644
index 0000000000..d6c2de9fd2
--- /dev/null
+++ b/c/src/tests/aclocal/target.m4
@@ -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
+])
diff --git a/c/src/tests/aclocal/tool-paths.m4 b/c/src/tests/aclocal/tool-paths.m4
new file mode 100644
index 0000000000..cb61747afd
--- /dev/null
+++ b/c/src/tests/aclocal/tool-paths.m4
@@ -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)
+])
diff --git a/c/src/tests/aclocal/version.m4 b/c/src/tests/aclocal/version.m4
new file mode 100644
index 0000000000..7ac778c2de
--- /dev/null
+++ b/c/src/tests/aclocal/version.m4
@@ -0,0 +1,2 @@
+AC_DEFUN([RTEMS_VERSIONING],
+m4_define([_RTEMS_VERSION],[ss-20030703]))
diff --git a/testsuites/ChangeLog b/testsuites/ChangeLog
index 7e143b42cb..b8bb6f79df 100644
--- a/testsuites/ChangeLog
+++ b/testsuites/ChangeLog
@@ -1,5 +1,46 @@
2003-08-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+ * aclocal/bsp-alias.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-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-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-rtemsbsp.m4: New (Copied from ../../../aclocal).
+ * aclocal/enable-tests.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/multilib.m4: New (Copied from ../../../aclocal).
+ * aclocal/path-ksh.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-test-no-pause.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>
+
* automake/local.am, automake/host.am: Remove "debug".
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
diff --git a/testsuites/aclocal/canonical-target-name.m4 b/testsuites/aclocal/canonical-target-name.m4
new file mode 100644
index 0000000000..ab710dc722
--- /dev/null
+++ b/testsuites/aclocal/canonical-target-name.m4
@@ -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)
+])
diff --git a/testsuites/aclocal/canonicalize-tools.m4 b/testsuites/aclocal/canonicalize-tools.m4
new file mode 100644
index 0000000000..4d37fa9c69
--- /dev/null
+++ b/testsuites/aclocal/canonicalize-tools.m4
@@ -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,:)
+])
diff --git a/testsuites/aclocal/check-custom-bsp.m4 b/testsuites/aclocal/check-custom-bsp.m4
new file mode 100644
index 0000000000..de9d61b79e
--- /dev/null
+++ b/testsuites/aclocal/check-custom-bsp.m4
@@ -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])])
+])
diff --git a/testsuites/aclocal/check-cxx.m4 b/testsuites/aclocal/check-cxx.m4
new file mode 100644
index 0000000000..a780c3a8de
--- /dev/null
+++ b/testsuites/aclocal/check-cxx.m4
@@ -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)
+])
diff --git a/testsuites/aclocal/check-itron.m4 b/testsuites/aclocal/check-itron.m4
new file mode 100644
index 0000000000..4c4dbf0042
--- /dev/null
+++ b/testsuites/aclocal/check-itron.m4
@@ -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
+])
diff --git a/testsuites/aclocal/check-multiprocessing.m4 b/testsuites/aclocal/check-multiprocessing.m4
new file mode 100644
index 0000000000..355635ce54
--- /dev/null
+++ b/testsuites/aclocal/check-multiprocessing.m4
@@ -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])
+])
diff --git a/testsuites/aclocal/check-networking.m4 b/testsuites/aclocal/check-networking.m4
new file mode 100644
index 0000000000..db3a0c60d3
--- /dev/null
+++ b/testsuites/aclocal/check-networking.m4
@@ -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
+])
diff --git a/testsuites/aclocal/check-posix.m4 b/testsuites/aclocal/check-posix.m4
new file mode 100644
index 0000000000..7512f663f5
--- /dev/null
+++ b/testsuites/aclocal/check-posix.m4
@@ -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])])
+])
diff --git a/testsuites/aclocal/check-tool.m4 b/testsuites/aclocal/check-tool.m4
new file mode 100644
index 0000000000..5a91490e74
--- /dev/null
+++ b/testsuites/aclocal/check-tool.m4
@@ -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)
+])
diff --git a/testsuites/aclocal/config-subdirs.m4 b/testsuites/aclocal/config-subdirs.m4
new file mode 100644
index 0000000000..6f9360bc80
--- /dev/null
+++ b/testsuites/aclocal/config-subdirs.m4
@@ -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
+])
diff --git a/testsuites/aclocal/enable-bare.m4 b/testsuites/aclocal/enable-bare.m4
new file mode 100644
index 0000000000..43219461f8
--- /dev/null
+++ b/testsuites/aclocal/enable-bare.m4
@@ -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=""])
+])
+
diff --git a/testsuites/aclocal/enable-cxx.m4 b/testsuites/aclocal/enable-cxx.m4
new file mode 100644
index 0000000000..cde862d39f
--- /dev/null
+++ b/testsuites/aclocal/enable-cxx.m4
@@ -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])
+])
diff --git a/testsuites/aclocal/enable-itron.m4 b/testsuites/aclocal/enable-itron.m4
new file mode 100644
index 0000000000..3157ce0641
--- /dev/null
+++ b/testsuites/aclocal/enable-itron.m4
@@ -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)
+])
diff --git a/testsuites/aclocal/enable-multiprocessing.m4 b/testsuites/aclocal/enable-multiprocessing.m4
new file mode 100644
index 0000000000..129de0a735
--- /dev/null
+++ b/testsuites/aclocal/enable-multiprocessing.m4
@@ -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])
+])
diff --git a/testsuites/aclocal/enable-networking.m4 b/testsuites/aclocal/enable-networking.m4
new file mode 100644
index 0000000000..9aa3643b5a
--- /dev/null
+++ b/testsuites/aclocal/enable-networking.m4
@@ -0,0 +1,13 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_NETWORKING,
+[
+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
+])
diff --git a/testsuites/aclocal/enable-posix.m4 b/testsuites/aclocal/enable-posix.m4
new file mode 100644
index 0000000000..13be1417dd
--- /dev/null
+++ b/testsuites/aclocal/enable-posix.m4
@@ -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)
+])
diff --git a/testsuites/aclocal/enable-rtemsbsp.m4 b/testsuites/aclocal/enable-rtemsbsp.m4
new file mode 100644
index 0000000000..10ffcf6827
--- /dev/null
+++ b/testsuites/aclocal/enable-rtemsbsp.m4
@@ -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=""])
+])
diff --git a/testsuites/aclocal/enable-tests.m4 b/testsuites/aclocal/enable-tests.m4
new file mode 100644
index 0000000000..027dc212c0
--- /dev/null
+++ b/testsuites/aclocal/enable-tests.m4
@@ -0,0 +1,15 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENABLE_TESTS,
+[
+# If the tests are enabled, then find all the test suite Makefiles
+AC_MSG_CHECKING([if the test suites are enabled? ])
+AC_ARG_ENABLE(tests,
+[AC_HELP_STRING([--enable-tests],[enable tests (default:disabled)])],
+ [case "${enableval}" in
+ yes) tests_enabled=yes ;;
+ no) tests_enabled=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for tests option) ;;
+ esac], [tests_enabled=no])
+AC_MSG_RESULT([$tests_enabled])
+])
diff --git a/testsuites/aclocal/env-rtemsbsp.m4 b/testsuites/aclocal/env-rtemsbsp.m4
new file mode 100644
index 0000000000..705df4d4dc
--- /dev/null
+++ b/testsuites/aclocal/env-rtemsbsp.m4
@@ -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)
+])
diff --git a/testsuites/aclocal/gcc-isystem.m4 b/testsuites/aclocal/gcc-isystem.m4
new file mode 100644
index 0000000000..c230508208
--- /dev/null
+++ b/testsuites/aclocal/gcc-isystem.m4
@@ -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*
+])])
diff --git a/testsuites/aclocal/gcc-pipe.m4 b/testsuites/aclocal/gcc-pipe.m4
new file mode 100644
index 0000000000..093ea2edf4
--- /dev/null
+++ b/testsuites/aclocal/gcc-pipe.m4
@@ -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
+])
+])
diff --git a/testsuites/aclocal/gcc-specs.m4 b/testsuites/aclocal/gcc-specs.m4
new file mode 100644
index 0000000000..ca0271424f
--- /dev/null
+++ b/testsuites/aclocal/gcc-specs.m4
@@ -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*
+])])
diff --git a/testsuites/aclocal/multilib.m4 b/testsuites/aclocal/multilib.m4
new file mode 100644
index 0000000000..66896f9ce5
--- /dev/null
+++ b/testsuites/aclocal/multilib.m4
@@ -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")
+])
diff --git a/testsuites/aclocal/path-ksh.m4 b/testsuites/aclocal/path-ksh.m4
new file mode 100644
index 0000000000..881dd0c9ec
--- /dev/null
+++ b/testsuites/aclocal/path-ksh.m4
@@ -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
+])
diff --git a/testsuites/aclocal/prog-cc.m4 b/testsuites/aclocal/prog-cc.m4
new file mode 100644
index 0000000000..24a9d842a1
--- /dev/null
+++ b/testsuites/aclocal/prog-cc.m4
@@ -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)
+])
diff --git a/testsuites/aclocal/prog-cxx.m4 b/testsuites/aclocal/prog-cxx.m4
new file mode 100644
index 0000000000..8db69bf804
--- /dev/null
+++ b/testsuites/aclocal/prog-cxx.m4
@@ -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
+])
diff --git a/testsuites/aclocal/project-root.m4 b/testsuites/aclocal/project-root.m4
new file mode 100644
index 0000000000..b520b94b5a
--- /dev/null
+++ b/testsuites/aclocal/project-root.m4
@@ -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)
+])
+
diff --git a/testsuites/aclocal/quoting.m4 b/testsuites/aclocal/quoting.m4
new file mode 100644
index 0000000000..0a95ae3e9b
--- /dev/null
+++ b/testsuites/aclocal/quoting.m4
@@ -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])
+])
diff --git a/testsuites/aclocal/rtems-cpu-subdirs.m4 b/testsuites/aclocal/rtems-cpu-subdirs.m4
new file mode 100644
index 0000000000..19d880a14a
--- /dev/null
+++ b/testsuites/aclocal/rtems-cpu-subdirs.m4
@@ -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
+])
diff --git a/testsuites/aclocal/rtems-flags.m4 b/testsuites/aclocal/rtems-flags.m4
new file mode 100644
index 0000000000..8e034e52c2
--- /dev/null
+++ b/testsuites/aclocal/rtems-flags.m4
@@ -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])
+])
diff --git a/testsuites/aclocal/rtems-test-no-pause.m4 b/testsuites/aclocal/rtems-test-no-pause.m4
new file mode 100644
index 0000000000..17d92e9a12
--- /dev/null
+++ b/testsuites/aclocal/rtems-test-no-pause.m4
@@ -0,0 +1,18 @@
+AC_DEFUN(RTEMS_ENABLE_RTEMS_TEST_NO_PAUSE,
+[AC_ARG_ENABLE(test-no-pause,
+AC_HELP_STRING([--disable-test-no-pause],[disable RTEMS_TEST_NO_PAUSE]),
+[case "${enableval}" in
+ yes) RTEMS_TEST_NO_PAUSE=yes ;;
+ no) RTEMS_TEST_NO_PAUSE=no ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for RTEMS_TEST_NO_PAUSE]) ;;
+esac],[RTEMS_TEST_NO_PAUSE=yes])
+])
+
+AC_DEFUN(RTEMS_CHECK_RTEMS_TEST_NO_PAUSE,
+[AC_REQUIRE([RTEMS_ENABLE_RTEMS_TEST_NO_PAUSE])
+if test x"${RTEMS_TEST_NO_PAUSE}" = x"yes";
+then
+ AC_DEFINE_UNQUOTED(RTEMS_TEST_NO_PAUSE,1,[if RTEMS_TEST_NO_PAUSE is enabled])
+fi
+])
+
diff --git a/testsuites/aclocal/rtems-top.m4 b/testsuites/aclocal/rtems-top.m4
new file mode 100644
index 0000000000..bdb79ed5e6
--- /dev/null
+++ b/testsuites/aclocal/rtems-top.m4
@@ -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
diff --git a/testsuites/aclocal/target.m4 b/testsuites/aclocal/target.m4
new file mode 100644
index 0000000000..d6c2de9fd2
--- /dev/null
+++ b/testsuites/aclocal/target.m4
@@ -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
+])
diff --git a/testsuites/aclocal/tool-paths.m4 b/testsuites/aclocal/tool-paths.m4
new file mode 100644
index 0000000000..cb61747afd
--- /dev/null
+++ b/testsuites/aclocal/tool-paths.m4
@@ -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)
+])
diff --git a/testsuites/aclocal/version.m4 b/testsuites/aclocal/version.m4
new file mode 100644
index 0000000000..7ac778c2de
--- /dev/null
+++ b/testsuites/aclocal/version.m4
@@ -0,0 +1,2 @@
+AC_DEFUN([RTEMS_VERSIONING],
+m4_define([_RTEMS_VERSION],[ss-20030703]))