summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2002-06-17 08:52:47 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2002-06-17 08:52:47 +0000
commited8ec1cf119e0886f816697e3ee367476d90bea2 (patch)
tree0b3c7846d92f35bd6fe8038814d8e89ac667e761
parentdfa9b5fcfd6d16d9de459096acdf8701e460b53b (diff)
downloadrtems-ed8ec1cf119e0886f816697e3ee367476d90bea2.tar.bz2
2002-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* copied over from aclocal/.
-rw-r--r--c/src/exec/aclocal/bsp-alias.m439
-rw-r--r--c/src/exec/aclocal/canonical-host.m425
-rw-r--r--c/src/exec/aclocal/canonical-target-name.m438
-rw-r--r--c/src/exec/aclocal/canonicalize-tools.m428
-rw-r--r--c/src/exec/aclocal/check-bsp-cache.m417
-rw-r--r--c/src/exec/aclocal/check-bsps.m413
-rw-r--r--c/src/exec/aclocal/check-cpu.m417
-rw-r--r--c/src/exec/aclocal/check-itron.m437
-rw-r--r--c/src/exec/aclocal/check-multiprocessing.m446
-rw-r--r--c/src/exec/aclocal/check-networking.m429
-rw-r--r--c/src/exec/aclocal/check-newlib.m431
-rw-r--r--c/src/exec/aclocal/check-posix.m436
-rw-r--r--c/src/exec/aclocal/check-tool.m411
-rw-r--r--c/src/exec/aclocal/enable-bare.m419
-rw-r--r--c/src/exec/aclocal/enable-inlines.m421
-rw-r--r--c/src/exec/aclocal/enable-itron.m433
-rw-r--r--c/src/exec/aclocal/enable-multiprocessing.m413
-rw-r--r--c/src/exec/aclocal/enable-networking.m415
-rw-r--r--c/src/exec/aclocal/enable-posix.m433
-rw-r--r--c/src/exec/aclocal/enable-rtemsbsp.m416
-rw-r--r--c/src/exec/aclocal/env-rtemsbsp.m447
-rw-r--r--c/src/exec/aclocal/env-rtemscpu.m441
-rw-r--r--c/src/exec/aclocal/gcc-pipe.m421
-rw-r--r--c/src/exec/aclocal/gcc-specs.m420
-rw-r--r--c/src/exec/aclocal/multi.m453
-rw-r--r--c/src/exec/aclocal/multilib.m459
-rw-r--r--c/src/exec/aclocal/prog-cc.m450
-rw-r--r--c/src/exec/aclocal/project-root.m422
-rw-r--r--c/src/exec/aclocal/rtems-cpu-subdirs.m432
-rw-r--r--c/src/exec/aclocal/rtems-debug.m419
-rw-r--r--c/src/exec/aclocal/rtems-top.m452
-rw-r--r--c/src/exec/aclocal/subdirs.m4392
-rw-r--r--c/src/exec/aclocal/sysv-ipc.m4133
-rw-r--r--c/src/exec/aclocal/tool-paths.m423
-rw-r--r--c/src/exec/aclocal/version.m42
-rw-r--r--cpukit/aclocal/bsp-alias.m439
-rw-r--r--cpukit/aclocal/canonical-host.m425
-rw-r--r--cpukit/aclocal/canonical-target-name.m438
-rw-r--r--cpukit/aclocal/canonicalize-tools.m428
-rw-r--r--cpukit/aclocal/check-bsp-cache.m417
-rw-r--r--cpukit/aclocal/check-bsps.m413
-rw-r--r--cpukit/aclocal/check-cpu.m417
-rw-r--r--cpukit/aclocal/check-itron.m437
-rw-r--r--cpukit/aclocal/check-multiprocessing.m446
-rw-r--r--cpukit/aclocal/check-networking.m429
-rw-r--r--cpukit/aclocal/check-newlib.m431
-rw-r--r--cpukit/aclocal/check-posix.m436
-rw-r--r--cpukit/aclocal/check-tool.m411
-rw-r--r--cpukit/aclocal/enable-bare.m419
-rw-r--r--cpukit/aclocal/enable-inlines.m421
-rw-r--r--cpukit/aclocal/enable-itron.m433
-rw-r--r--cpukit/aclocal/enable-multiprocessing.m413
-rw-r--r--cpukit/aclocal/enable-networking.m415
-rw-r--r--cpukit/aclocal/enable-posix.m433
-rw-r--r--cpukit/aclocal/enable-rtemsbsp.m416
-rw-r--r--cpukit/aclocal/env-rtemsbsp.m447
-rw-r--r--cpukit/aclocal/env-rtemscpu.m441
-rw-r--r--cpukit/aclocal/gcc-pipe.m421
-rw-r--r--cpukit/aclocal/gcc-specs.m420
-rw-r--r--cpukit/aclocal/multi.m453
-rw-r--r--cpukit/aclocal/multilib.m459
-rw-r--r--cpukit/aclocal/prog-cc.m450
-rw-r--r--cpukit/aclocal/rtems-cpu-subdirs.m432
-rw-r--r--cpukit/aclocal/rtems-debug.m419
-rw-r--r--cpukit/aclocal/rtems-top.m452
-rw-r--r--cpukit/aclocal/sysv-ipc.m4133
-rw-r--r--cpukit/aclocal/tool-paths.m423
-rw-r--r--cpukit/aclocal/version.m42
68 files changed, 2552 insertions, 0 deletions
diff --git a/c/src/exec/aclocal/bsp-alias.m4 b/c/src/exec/aclocal/bsp-alias.m4
new file mode 100644
index 0000000000..3c1c835524
--- /dev/null
+++ b/c/src/exec/aclocal/bsp-alias.m4
@@ -0,0 +1,39 @@
+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
+ 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/exec/aclocal/canonical-host.m4 b/c/src/exec/aclocal/canonical-host.m4
new file mode 100644
index 0000000000..7077ab31c5
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/canonical-target-name.m4 b/c/src/exec/aclocal/canonical-target-name.m4
new file mode 100644
index 0000000000..1b491c0b15
--- /dev/null
+++ b/c/src/exec/aclocal/canonical-target-name.m4
@@ -0,0 +1,38 @@
+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
+ ;;
+ *)
+ RTEMS_CPU=`echo $target | sed 's%^\([[^-]]*\)-\(.*\)$%\1%'`
+ ;;
+esac
+AC_SUBST(RTEMS_CPU)
+AC_MSG_RESULT($RTEMS_CPU)
+])
diff --git a/c/src/exec/aclocal/canonicalize-tools.m4 b/c/src/exec/aclocal/canonicalize-tools.m4
new file mode 100644
index 0000000000..3868c76d71
--- /dev/null
+++ b/c/src/exec/aclocal/canonicalize-tools.m4
@@ -0,0 +1,28 @@
+dnl
+dnl $Id$
+dnl
+dnl Set target tools
+dnl
+
+AC_DEFUN(RTEMS_GCC_PRINT,
+[
+ $1=`$CC --print-prog-name=$2`
+])
+
+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/exec/aclocal/check-bsp-cache.m4 b/c/src/exec/aclocal/check-bsp-cache.m4
new file mode 100644
index 0000000000..289cbdcd43
--- /dev/null
+++ b/c/src/exec/aclocal/check-bsp-cache.m4
@@ -0,0 +1,17 @@
+dnl $Id$
+
+dnl RTEMS_CHECK_BSP_CACHE(RTEMS_BSP)
+AC_DEFUN(RTEMS_CHECK_BSP_CACHE,
+[
+AC_REQUIRE([RTEMS_CHECK_CPU])dnl sets RTEMS_CPU, target
+AC_REQUIRE([RTEMS_ENV_RTEMSBSP])dnl set RTEMS_BSP
+AC_REQUIRE([RTEMS_TOP])dnl sets RTEMS_TOPdir
+AC_CACHE_CHECK([for RTEMS_CPU_MODEL], rtems_cv_RTEMS_CPU_MODEL,
+. $RTEMS_TOPdir/c/[$]$1/make/[$]$1.cache)
+RTEMS_CPU_MODEL=$rtems_cv_RTEMS_CPU_MODEL
+AC_SUBST(RTEMS_CPU_MODEL)
+AC_CACHE_CHECK([for RTEMS_BSP_FAMILY], rtems_cv_RTEMS_BSP_FAMILY,
+. $RTEMS_TOPdir/c/[$]$1/make/[$]$1.cache)
+RTEMS_BSP_FAMILY=$rtems_cv_RTEMS_BSP_FAMILY
+AC_SUBST(RTEMS_BSP_FAMILY)
+])dnl
diff --git a/c/src/exec/aclocal/check-bsps.m4 b/c/src/exec/aclocal/check-bsps.m4
new file mode 100644
index 0000000000..7c450e783f
--- /dev/null
+++ b/c/src/exec/aclocal/check-bsps.m4
@@ -0,0 +1,13 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_CHECK_CUSTOM_BSP,
+[dnl
+AC_REQUIRE([RTEMS_TOP])
+
+AC_MSG_CHECKING([for make/custom/[$]$1.cfg])
+if test -r "$srcdir/$RTEMS_TOPdir/make/custom/[$]$1.cfg"; then
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_ERROR([no])
+fi
+])dnl
diff --git a/c/src/exec/aclocal/check-cpu.m4 b/c/src/exec/aclocal/check-cpu.m4
new file mode 100644
index 0000000000..b0b01117d1
--- /dev/null
+++ b/c/src/exec/aclocal/check-cpu.m4
@@ -0,0 +1,17 @@
+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])
+if test -d "$srcdir/$RTEMS_TOPdir/c/src/exec/score/cpu/$RTEMS_CPU"; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_ERROR(no)
+fi
+])dnl
+
diff --git a/c/src/exec/aclocal/check-itron.m4 b/c/src/exec/aclocal/check-itron.m4
new file mode 100644
index 0000000000..4c4dbf0042
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/check-multiprocessing.m4 b/c/src/exec/aclocal/check-multiprocessing.m4
new file mode 100644
index 0000000000..6e99a38afa
--- /dev/null
+++ b/c/src/exec/aclocal/check-multiprocessing.m4
@@ -0,0 +1,46 @@
+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([whether BSP supports multiprocessing],
+ rtems_cv_HAS_MP,
+ [dnl
+ if test x"$multilib" = x"yes"; then
+ # FIXME: Currently, multilibs and multiprocessing can not be
+ # build simultaneously
+ rtems_cv_HAS_MP="disabled"
+ else
+ if test -d "$srcdir/${RTEMS_TOPdir}/c/src/lib/libbsp/${RTEMS_CPU}/${RTEMS_BSP_FAMILY}/shmsupp"; then
+ if test "$RTEMS_HAS_MULTIPROCESSING" = "yes"; then
+ rtems_cv_HAS_MP="yes" ;
+ else
+ rtems_cv_HAS_MP="disabled";
+ fi
+ else
+ rtems_cv_HAS_MP="no";
+ fi
+ fi])
+if test "$rtems_cv_HAS_MP" = "yes"; then
+HAS_MP="yes"
+else
+HAS_MP="no"
+fi
+AC_SUBST(HAS_MP)
+])
+
+AC_DEFUN(RTEMS_DEFINE_MULTIPROCESSING,
+[AC_REQUIRE([RTEMS_CHECK_MULTIPROCESSING])dnl
+if test x"${HAS_MP}" = x"yes";
+then
+ AC_DEFINE_UNQUOTED(RTEMS_MULTIPROCESSING,1,[if multiprocessing is supported])
+fi
+])
diff --git a/c/src/exec/aclocal/check-networking.m4 b/c/src/exec/aclocal/check-networking.m4
new file mode 100644
index 0000000000..db3a0c60d3
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/check-newlib.m4 b/c/src/exec/aclocal/check-newlib.m4
new file mode 100644
index 0000000000..a26624702e
--- /dev/null
+++ b/c/src/exec/aclocal/check-newlib.m4
@@ -0,0 +1,31 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_CHECK_NEWLIB,
+[dnl
+AC_REQUIRE([RTEMS_PROG_CC_FOR_TARGET])dnl
+AC_REQUIRE([RTEMS_CANONICALIZE_TOOLS])dnl
+AC_CACHE_CHECK([for RTEMS newlib],
+ rtems_cv_use_newlib,
+ [
+dnl some versions of newlib provide not_required_by_rtems
+ AC_TRY_LINK(
+ [extern void not_required_by_rtems() ;],
+ [not_required_by_rtems()],
+ rtems_cv_use_newlib="yes")
+
+dnl some versions of newlib provide rtems_provides_crt0()
+ AS_IF([test -z "$rtems_cv_use_newlib"],
+ [AC_TRY_LINK(
+ [extern void rtems_provides_crt0() ;],
+ [rtems_provides_crt0()],
+ rtems_cv_use_newlib="yes",
+ rtems_cv_use_newlib="no")]
+ )
+ ])
+ RTEMS_USE_NEWLIB="$rtems_cv_use_newlib"
+ AC_SUBST(RTEMS_USE_NEWLIB)
+
+ AS_IF([test x"${RTEMS_USE_NEWLIB}" = x"yes"],
+ [ AC_DEFINE_UNQUOTED(RTEMS_NEWLIB,1,[if using newlib])]
+ )
+])
diff --git a/c/src/exec/aclocal/check-posix.m4 b/c/src/exec/aclocal/check-posix.m4
new file mode 100644
index 0000000000..7512f663f5
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/check-tool.m4 b/c/src/exec/aclocal/check-tool.m4
new file mode 100644
index 0000000000..5a91490e74
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/enable-bare.m4 b/c/src/exec/aclocal/enable-bare.m4
new file mode 100644
index 0000000000..9f739ad8c1
--- /dev/null
+++ b/c/src/exec/aclocal/enable-bare.m4
@@ -0,0 +1,19 @@
+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/exec/aclocal/enable-inlines.m4 b/c/src/exec/aclocal/enable-inlines.m4
new file mode 100644
index 0000000000..972f78b733
--- /dev/null
+++ b/c/src/exec/aclocal/enable-inlines.m4
@@ -0,0 +1,21 @@
+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
+
+if test x"${RTEMS_USE_MACROS}" = x"yes";
+then
+ AC_DEFINE_UNQUOTED(USE_MACROS,1,[if using macros])
+else
+ AC_DEFINE_UNQUOTED(USE_INLINES,1,[if using inlines])
+fi
+
+
+])
diff --git a/c/src/exec/aclocal/enable-itron.m4 b/c/src/exec/aclocal/enable-itron.m4
new file mode 100644
index 0000000000..e49fa68c9f
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/enable-multiprocessing.m4 b/c/src/exec/aclocal/enable-multiprocessing.m4
new file mode 100644
index 0000000000..6e9a87e04a
--- /dev/null
+++ b/c/src/exec/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 "${enableval}" in
+ yes) RTEMS_HAS_MULTIPROCESSING=yes ;;
+ no) RTEMS_HAS_MULTIPROCESSING=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for enable-multiprocessing option) ;;
+esac],[RTEMS_HAS_MULTIPROCESSING=no])
+AC_SUBST(RTEMS_HAS_MULTIPROCESSING)dnl
+])
diff --git a/c/src/exec/aclocal/enable-networking.m4 b/c/src/exec/aclocal/enable-networking.m4
new file mode 100644
index 0000000000..92ea0e0a7f
--- /dev/null
+++ b/c/src/exec/aclocal/enable-networking.m4
@@ -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
+])
diff --git a/c/src/exec/aclocal/enable-posix.m4 b/c/src/exec/aclocal/enable-posix.m4
new file mode 100644
index 0000000000..0e0ff92e6e
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/enable-rtemsbsp.m4 b/c/src/exec/aclocal/enable-rtemsbsp.m4
new file mode 100644
index 0000000000..a4c2114e59
--- /dev/null
+++ b/c/src/exec/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])dnl
+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/exec/aclocal/env-rtemsbsp.m4 b/c/src/exec/aclocal/env-rtemsbsp.m4
new file mode 100644
index 0000000000..6caec5a3d4
--- /dev/null
+++ b/c/src/exec/aclocal/env-rtemsbsp.m4
@@ -0,0 +1,47 @@
+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([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([RTEMS_CONFIG_PER_BSP],[true])
+AM_CONDITIONAL([MULTILIB],[false])
+
+includedir="\${exec_prefix}/${RTEMS_BSP}/lib/include"
+])
diff --git a/c/src/exec/aclocal/env-rtemscpu.m4 b/c/src/exec/aclocal/env-rtemscpu.m4
new file mode 100644
index 0000000000..e01efb12c0
--- /dev/null
+++ b/c/src/exec/aclocal/env-rtemscpu.m4
@@ -0,0 +1,41 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENV_RTEMSCPU,
+[AC_REQUIRE([RTEMS_ENABLE_MULTILIB])
+
+if test x"$multilib" = x"yes"; then
+## FIXME: There is no multilib BSP
+ RTEMS_BSP_SPECS=""
+ AC_SUBST(RTEMS_BSP_SPECS)
+
+ if test -n "$with_multisubdir"; then
+ MULTIBUILDTOP=`echo "/$with_multisubdir" | sed 's,/[[^\\/]]*,../,g'`
+ fi
+ AC_SUBST(MULTIBUILDTOP)
+
+ if test -n "$with_multisubdir"; then
+ MULTISUBDIR="/$with_multisubdir"
+ fi
+ AC_SUBST(MULTISUBDIR)
+
+ PROJECT_ROOT="${RTEMS_TOPdir}/\$(MULTIBUILDTOP)\$(top_builddir)"
+ GCC_SPECS="-isystem \$(PROJECT_ROOT)/lib/include"
+ AC_SUBST(GCC_SPECS)
+
+ PROJECT_INCLUDE="\$(PROJECT_ROOT)/lib/include"
+ AC_SUBST(PROJECT_INCLUDE)
+
+ PROJECT_RELEASE="\$(PROJECT_ROOT)"
+ AC_SUBST(PROJECT_RELEASE)
+
+ RTEMS_ROOT=${PROJECT_ROOT}
+ AC_SUBST(RTEMS_ROOT)
+
+ includedir="\${exec_prefix}/lib/include"
+ libdir="${libdir}\$(MULTISUBDIR)"
+ AM_CONDITIONAL([RTEMS_CONFIG_PER_BSP],[false])
+else
+ RTEMS_ENV_RTEMSBSP
+ RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
+fi
+])
diff --git a/c/src/exec/aclocal/gcc-pipe.m4 b/c/src/exec/aclocal/gcc-pipe.m4
new file mode 100644
index 0000000000..093ea2edf4
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/gcc-specs.m4 b/c/src/exec/aclocal/gcc-specs.m4
new file mode 100644
index 0000000000..ca0271424f
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/multi.m4 b/c/src/exec/aclocal/multi.m4
new file mode 100644
index 0000000000..08d1783dd5
--- /dev/null
+++ b/c/src/exec/aclocal/multi.m4
@@ -0,0 +1,53 @@
+#serial 99
+
+AC_DEFUN(AC_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")
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ multilib_basedir="[$]{srcdir}/[$]{with_multisrctop}../ifelse([$2],,,[$2])"
+ else
+ multilib_basedir="[$]{srcdir}/[$]{with_multisrctop}ifelse([$2],,,[$2])"
+ fi
+else
+ multilib_basedir="[$]{srcdir}/ifelse([$2],,,[$2])"
+fi
+AC_SUBST(multilib_basedir)
+
+if test "${multilib}" = "yes"; then
+ multilib_arg="--enable-multilib"
+else
+ multilib_arg=
+fi
+
+AC_OUTPUT_COMMANDS(
+[case " $CONFIG_FILES " in
+ *" ]m4_if([$1],,Makefile,[$1])[ "*)
+ ac_file=]m4_if([$1],,Makefile,[$1])[ . ${multilib_basedir}/config-ml.in
+esac],
+[
+ srcdir=${srcdir}
+ host=${host}
+ target=${target}
+ with_multisrctop="${with_multisrctop}"
+ with_target_subdir="${with_target_subdir}"
+ with_multisubdir="${with_multisubdir}"
+ ac_configure_args="${multilib_arg} ${ac_configure_args}"
+ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ multilib_basedir=${multilib_basedir}
+ CC="${CC}"]
+)
+])
diff --git a/c/src/exec/aclocal/multilib.m4 b/c/src/exec/aclocal/multilib.m4
new file mode 100644
index 0000000000..b3f308ca2e
--- /dev/null
+++ b/c/src/exec/aclocal/multilib.m4
@@ -0,0 +1,59 @@
+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")
+])
+
+AC_DEFUN([RTEMS_ENABLE_MULTILIB_MASTER],
+[
+AC_REQUIRE([RTEMS_ENABLE_MULTILIB])
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ multilib_basedir="[$]{srcdir}/[$]{with_multisrctop}../ifelse([$2],,,[$2])"
+ else
+ multilib_basedir="[$]{srcdir}/[$]{with_multisrctop}ifelse([$2],,,[$2])"
+ fi
+else
+ multilib_basedir="[$]{srcdir}/ifelse([$2],,,[$2])"
+fi
+AC_SUBST(multilib_basedir)
+
+if test "${multilib}" = "yes"; then
+ multilib_arg="--enable-multilib"
+else
+ multilib_arg=
+fi
+
+AC_OUTPUT_COMMANDS(
+[case " $CONFIG_FILES " in
+ *" ]m4_if([$1],,Makefile,[$1])[ "*)
+ ac_file=]m4_if([$1],,Makefile,[$1])[ . ${multilib_basedir}/config-ml.in
+esac],
+[
+ srcdir=${srcdir}
+ host=${host}
+ target=${target}
+ with_multisrctop="${with_multisrctop}"
+ with_target_subdir="${with_target_subdir}"
+ with_multisubdir="${with_multisubdir}"
+ ac_configure_args="${multilib_arg} ${ac_configure_args}"
+ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ multilib_basedir=${multilib_basedir}
+ CC="${CC}"])
+])
diff --git a/c/src/exec/aclocal/prog-cc.m4 b/c/src/exec/aclocal/prog-cc.m4
new file mode 100644
index 0000000000..11b47d4610
--- /dev/null
+++ b/c/src/exec/aclocal/prog-cc.m4
@@ -0,0 +1,50 @@
+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_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 --specs
+RTEMS_GCC_SPECS
+dnl check if the target compiler may use --pipe
+RTEMS_GCC_PIPE
+dnl check if the compiler supports --specs if gcc28 is requested
+# if test "$rtems_cv_gcc_specs" = "no"; then
+# AC_MSG_WARN([*** disabling --enable-gcc28])
+# RTEMS_USE_GCC272=yes
+# fi
+test "$rtems_cv_gcc_pipe" = "yes" && CC="$CC --pipe"
+
+if test "$GCC" = yes; then
+]
+m4_if([$1],,[],[CPPFLAGS="$CPPFLAGS $1"])
+[
+CFLAGS="-g -Wall"
+fi
+
+dnl FIXME: HACK for egcs/cygwin mixing '\\' and '/' in gcc -print-*
+case $build_os in
+*cygwin*) GCCSED="| sed 's%\\\\%/%g'" ;;
+*) ;;
+esac
+AC_SUBST(GCCSED)
+])
diff --git a/c/src/exec/aclocal/project-root.m4 b/c/src/exec/aclocal/project-root.m4
new file mode 100644
index 0000000000..b520b94b5a
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/rtems-cpu-subdirs.m4 b/c/src/exec/aclocal/rtems-cpu-subdirs.m4
new file mode 100644
index 0000000000..1ecdea4d2f
--- /dev/null
+++ b/c/src/exec/aclocal/rtems-cpu-subdirs.m4
@@ -0,0 +1,32 @@
+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([a29k],[$1]);;
+_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([or16],[$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])
+esac
+])
diff --git a/c/src/exec/aclocal/rtems-debug.m4 b/c/src/exec/aclocal/rtems-debug.m4
new file mode 100644
index 0000000000..9a9f15a33f
--- /dev/null
+++ b/c/src/exec/aclocal/rtems-debug.m4
@@ -0,0 +1,19 @@
+## $Id$
+
+AC_DEFUN(RTEMS_ENABLE_RTEMS_DEBUG,
+[
+AC_ARG_ENABLE(rtems-debug,
+AC_HELP_STRING([--enable-rtems-debug],[enable RTEMS_DEBUG]),
+[case "${enable_rtems_debug}" in
+ yes) enable_rtems_debug=yes ;;
+ no) enable_rtems_debug=no ;;
+ *) AC_MSG_ERROR([bad value ${enable_rtems_debug} for RTEMS_DEBUG]) ;;
+esac],[enable_rtems_debug=no])
+])
+
+AC_DEFUN(RTEMS_CHECK_RTEMS_DEBUG,
+[AC_REQUIRE([RTEMS_ENABLE_RTEMS_DEBUG])
+AS_IF([test x"${enable_rtems_debug}" = x"yes"]
+ [AC_DEFINE_UNQUOTED(RTEMS_DEBUG,1,[if RTEMS_DEBUG is enabled])])
+])
+
diff --git a/c/src/exec/aclocal/rtems-top.m4 b/c/src/exec/aclocal/rtems-top.m4
new file mode 100644
index 0000000000..82da20edd5
--- /dev/null
+++ b/c/src/exec/aclocal/rtems-top.m4
@@ -0,0 +1,52 @@
+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_CHECK_PROGS(MAKE, gmake make)
+AC_BEFORE([$0], [AC_CONFIG_AUX_DIR])dnl
+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)
+
+if test "$with_target_subdir" = "." ; then
+# Native
+PROJECT_ROOT="${RTEMS_TOPdir}/\$(top_builddir)"
+else
+# Cross
+PROJECT_ROOT="${RTEMS_TOPdir}/\$(top_builddir)"
+fi
+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/exec/aclocal/subdirs.m4 b/c/src/exec/aclocal/subdirs.m4
new file mode 100644
index 0000000000..e48e6e3236
--- /dev/null
+++ b/c/src/exec/aclocal/subdirs.m4
@@ -0,0 +1,392 @@
+## All directories belong in one of 3 categories.
+## ${HOST_CONFIGDIRS_LIST} is directories we build using the host tools.
+## ${TARGET_CONFIGDIRS_LIST} is directories we build using the target tools.
+## ${BUILD_CONFIGDIRS_LIST} is directories we build using the build tools
+
+
+dnl RTEMS_ARG_VAR(VAR,HELP-STRING)
+dnl An internal macros to have help strings pretty
+dnl printed with configure --help, without letting autoconf spoil config subdir
+dnl environments by trying to propagate them
+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
+])
+
+AC_DEFUN([_RTEMS_SUBST_IFNOT],
+[AS_IF([`echo " [$]$1 " | grep " $2 " > /dev/null`],
+ [],
+ [AC_SUBST([$1],["[$]$1 $2"])])
+])
+
+AC_DEFUN([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS],
+[
+AC_CONFIG_COMMANDS_PRE([
+_RTEMS_BUILD_CONFIG_PREPARE
+_RTEMS_HOST_CONFIG_PREPARE
+_RTEMS_TARGET_CONFIG_PREPARE
+
+AS_IF([test $build = $host],
+[
+ AS_IF([test $host = $target],
+ [dnl b=h, h=t, t=b
+ BUILD_SUBDIRS="${build_configdirs}"
+ build_configdirs="${build_configdirs}"
+ HOST_SUBDIRS=""
+ host_configdirs=""
+ TARGET_SUBDIRS=""
+ target_configdirs=""],
+ [dnl b=h, h!=t, t!=b
+ BUILD_SUBDIRS="${build_configdirs}"
+ build_configdirs="${build_configdirs}"
+ HOST_SUBDIRS=""
+ host_configdirs=""
+ TARGET_SUBDIRS=`echo "${target_configdirs}" | \
+ sed -e "s%\([[^ ]][[^ ]]*\)%$target_alias/\1%g"`
+ target_configdirs="${target_configdirs}"
+ ])
+],[
+ AS_IF([test $host = $target],
+ [ dnl b!=h, h=t, b!=t
+ BUILD_SUBDIRS="${build_configdirs}"
+ build_configdirs="${build_configdirs}"
+ HOST_SUBDIRS=`echo "${host_configdirs}" | \
+ sed -e "s%\([[^ ]][[^ ]]*\)%$host_alias/\1%g"`
+ host_configdirs="${host_configdirs}"
+ TARGET_SUBDIRS=""
+ target_configdirs=""],
+ [
+ AS_IF([test $build = $target],
+ [dnl b!=h, h!=t, b=t
+ BUILD_SUBDIRS="${build_configdirs}"
+ build_configdirs="${build_configdirs}"
+ HOST_SUBDIRS=`echo "${host_configdirs}" | \
+ sed -e "s%\([[^ ]][[^ ]]*\)%$host_alias/\1%g"`
+ host_configdirs="${host_configdirs}"
+ TARGET_SUBDIRS=""
+ target_configdirs=""],
+ [dnl b!=h, h!=t, b!=t
+ BUILD_SUBDIRS="${build_configdirs}"
+ build_configdirs="${build_configdirs}"
+ HOST_SUBDIRS=`echo "${host_configdirs}" | \
+ sed -e "s%\([[^ ]][[^ ]]*\)%$host_alias/\1%g"`
+ host_configdirs="${host_configdirs}"
+ TARGET_SUBDIRS=`echo "${target_configdirs}" | \
+ sed -e "s%\([[^ ]][[^ ]]*\)%$target_alias/\1%g"`
+ target_configdirs="${target_configdirs}"
+ ])
+ ])
+])
+
+AC_SUBST(HOST_SUBDIRS)
+AC_SUBST(TARGET_SUBDIRS)
+AC_SUBST(BUILD_SUBDIRS)
+])
+
+ AC_CONFIG_COMMANDS_POST([
+ _RTEMS_OUTPUT_SUBDIRS([build],[BUILD])
+ _RTEMS_OUTPUT_SUBDIRS([host],[HOST])
+ _RTEMS_OUTPUT_SUBDIRS([target],[TARGET])
+ ])
+])
+
+dnl _RTEMS_SRCPATHS(BUILD-DIR-NAME)
+dnl ----------------------------
+dnl Inputs:
+dnl - BUILD-DIR-NAME is `top-build -> build' and `top-src -> src'
+dnl - `$srcdir' is `top-build -> top-src'
+dnl
+dnl Outputs:
+dnl - `ac_builddir' is `.', for symmetry only.
+dnl - `ac_top_builddir' is `build -> top_build'.
+dnl If not empty, has a trailing slash.
+dnl - `ac_srcdir' is `build -> src'.
+dnl - `ac_top_srcdir' is `build -> top-src'.
+dnl
+dnl and `ac_buildpath' etc., the absolute paths.
+m4_define([_RTEMS_SRCPATHS],
+[
+m4_if([$2],,
+[dstdir=$1],
+[case "$2" in
+"." | "" ) # No subdir was given
+ dstdir=$1;;
+* ) # A subdir was given
+ dstdir=$2/$1;;
+esac])
+ac_builddir=.
+
+AS_IF([test $dstdir != .],
+[ # Strip off leading ./
+ ac_builddir_suffix=/`echo $dstdir | sed 's,^\.[[\\/]],,'`
+ ac_srcdir_suffix=/`echo $1 | sed 's,^\.[[\\/]],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_builddir_suffix" | sed 's,/[[^\\/]]*,../,g'`
+],[
+ ac_dir_suffix= ac_top_builddir=
+])
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [[\\/]]* | ?:[[\\/]]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_srcdir_suffix;
+ ac_top_srcdir=$srcdir;
+ ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_srcdir_suffix;
+ ac_top_srcdir=$ac_top_builddir$srcdir;
+ ;;
+esac
+dnl Don't blindly perform a `cd $1/$ac_foo && pwd` since $ac_foo can be
+dnl absolute.
+
+ac_buildpath=`cd $dstdir && cd $ac_builddir && pwd`
+ac_top_buildpath=`cd $dstdir && cd $ac_top_builddir && pwd`
+ac_srcpath=`cd $dstdir && cd $ac_srcdir && pwd`
+ac_top_srcpath=`cd $dstdir && cd $ac_top_srcdir && pwd`
+])# _AC_SRCPATHS
+
+dnl _RTEMS_OUTPUT_SUBDIRS([host|target|build],[HOST|TARGET|BUILD])
+AC_DEFUN([_RTEMS_OUTPUT_SUBDIRS],[
+m4_ifdef([_RTEMS_$2_CONFIGDIRS_LIST],
+[
+_RTEMS_ARG_VAR([CC_FOR_$2],
+ [c-compiler to be used for $1 subdirs (default: auto-detected)])
+if test "$no_recursion" != yes; then
+
+ if test -n "${$2_SUBDIRS}"; then
+ ac_sub_configure_args=
+ ac_prev=
+ for ac_arg in $$1args; 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=*)
+ ;;
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ ;;
+ *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
+ esac
+ done
+
+ # Always prepend --prefix to ensure using the same prefix
+ # in subdir configurations.
+ ac_sub_configure_args="--prefix=$prefix $ac_sub_configure_args"
+
+ case "$$1_subdir" in
+ "." ) ;;
+ * )
+ ac_sub_configure_args="$ac_sub_configure_args --with-target-subdir=$$1_subdir --exec-prefix=${prefix}/$$1_subdir"
+ ;;
+ esac
+
+ # make sure that $1_subdir is not empty
+ test -n "$$1_subdir" || $1_subdir="."
+
+ ac_popdir=`pwd`
+ for ac_dir in $$1_configdirs; do
+
+ # Do not complain, so a configure script can configure whichever
+ # parts of a large source tree are present.
+ test -d $srcdir/$ac_dir || continue
+
+ AC_MSG_NOTICE([configuring in $$1_subdir/$ac_dir])
+ AS_MKDIR_P(["$$1_subdir/$ac_dir"])
+ _RTEMS_SRCPATHS(["$ac_dir"],["$$1_subdir"])
+
+ cd $$1_subdir/$ac_dir
+
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ ac_sub_configure="$SHELL '$ac_srcdir/configure.gnu'"
+ elif test -f $ac_srcdir/configure; then
+ ac_sub_configure="$SHELL '$ac_srcdir/configure'"
+ elif test -f $ac_srcdir/configure.in; then
+ ac_sub_configure=$ac_configure
+ else
+ AC_MSG_WARN([no configuration information is in $ac_dir])
+ 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_top_builddir$cache_file ;;
+ esac
+
+ AC_MSG_NOTICE([running $ac_sub_configure $ac_sub_configure_args \
+ --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir])
+ # The eval makes quoting arguments work.
+ eval CC=[$]CC_FOR_$2 \
+ $ac_sub_configure $ac_sub_configure_args \
+ --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir ||
+ AC_MSG_ERROR([$ac_sub_configure failed for $ac_dir])
+ fi
+
+ cd $ac_popdir
+ done
+ fi
+fi
+])
+])
+
+## PUBLIC: RTEMS_BUILD_CONFIG_SUBDIRS(build_subdir)
+# subdirs to be built for the build environment
+AC_DEFUN([RTEMS_BUILD_CONFIG_SUBDIRS],[
+m4_append([_RTEMS_BUILD_CONFIGDIRS_LIST],[ $1])
+dnl Always append to build_configdirs
+AC_SUBST(build_configdirs,"$build_configdirs $1")
+
+m4_divert_text([DEFAULTS],
+ [ac_subdirs_all="$ac_subdirs_all m4_normalize([$1])"])
+m4_expand_once([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS])
+])
+
+AC_DEFUN(_RTEMS_BUILD_CONFIG_PREPARE,[
+# Record the configure arguments in Makefile.
+m4_ifdef([_RTEMS_BUILD_CONFIGDIRS_LIST],
+[
+buildargs=`echo "${ac_configure_args}" | \
+ sed -e 's/--no[[^ ]]*//' \
+ -e 's/--cache[[a-z-]]*=[[^ ]]*//' \
+ -e 's/--ho[[a-z-]]*=[[^ ]]*//' \
+ -e 's/--bu[[a-z-]]*=[[^ ]]*//' \
+ -e 's/--ta[[a-z-]]*=[[^ ]]*//' \
+ -e 's/[[^ ]]*alias=[[^ ]]*//g'` ;
+
+buildargs="--host=${build} --build=${build} --target=${target_alias} ${buildargs}"
+AC_SUBST(buildargs)
+
+build_subdir="."
+],[])
+])
+
+## PUBLIC: RTEMS_HOST_CONFIG_SUBDIRS(host_subdir)
+# subdirs to be build for the host environment
+AC_DEFUN([RTEMS_HOST_CONFIG_SUBDIRS],[
+m4_append([_RTEMS_HOST_CONFIGDIRS_LIST],[ $1])dnl
+
+if test $build = $host;
+then
+ if test $host = $target;
+ then
+ _RTEMS_SUBST_IFNOT([build_configdirs],[$1])
+ else
+ _RTEMS_SUBST_IFNOT([build_configdirs],[$1])
+ fi
+else
+ if test $host = $target;
+ then
+ _RTEMS_SUBST_IFNOT([host_configdirs],[$1])
+ else
+ if test $build = $target;
+ then
+ _RTEMS_SUBST_IFNOT([host_configdirs],[$1])
+ else
+ _RTEMS_SUBST_IFNOT([host_configdirs],[$1])
+ fi
+ fi
+fi
+
+m4_divert_text([DEFAULTS],
+ [ac_subdirs_all="$ac_subdirs_all m4_normalize([$1])"])
+m4_expand_once([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS])
+])
+
+AC_DEFUN(_RTEMS_HOST_CONFIG_PREPARE,[
+m4_ifdef([_RTEMS_HOST_CONFIGDIRS_LIST],
+[
+# Record configure arguments in Makefile.
+hostargs=`echo "${ac_configure_args}" | \
+ sed -e 's/--no[[^ ]]*//' \
+ -e 's/--cache[[a-z-]]*=[[^ ]]*//' \
+ -e 's/--ho[[a-z-]]*=[[^ ]]*//' \
+ -e 's/--bu[[a-z-]]*=[[^ ]]*//' \
+ -e 's/--ta[[a-z-]]*=[[^ ]]*//' \
+ -e 's/[[^ ]]*alias=[[^ ]]*//g'` ;
+
+hostargs="--host=${host_alias} --build=${build} --target=${target_alias} ${hostargs}"
+AC_SUBST(hostargs)
+
+host_subdir="${host_alias}"
+],[])
+])
+
+## PUBLIC: RTEMS_TARGET_CONFIG_SUBDIRS(target_subdir)
+# subdirs to be build for the target environment
+AC_DEFUN([RTEMS_TARGET_CONFIG_SUBDIRS],[
+m4_append([_RTEMS_TARGET_CONFIGDIRS_LIST],[ $1])
+
+if test $build = $host;
+then
+ if test $host = $target;
+ then
+ _RTEMS_SUBST_IFNOT([build_configdirs],[$1])
+ else
+ _RTEMS_SUBST_IFNOT([target_configdirs],[$1])
+ fi
+else
+ if test $host = $target;
+ then
+ _RTEMS_SUBST_IFNOT([host_configdirs],[$1])
+ else
+ if test $build = $target;
+ then
+ _RTEMS_SUBST_IFNOT([build_configdirs],[$1])
+ else
+ _RTEMS_SUBST_IFNOT([target_configdirs],[$1])
+ fi
+ fi
+fi
+
+m4_divert_text([DEFAULTS],
+ [ac_subdirs_all="$ac_subdirs_all m4_normalize([$1])"])
+m4_expand_once([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS])
+])
+
+AC_DEFUN(_RTEMS_TARGET_CONFIG_PREPARE,[
+m4_ifdef([_RTEMS_TARGET_CONFIGDIRS_LIST],
+[
+# Record the configure arguments in Makefile.
+targetargs=`echo "${ac_configure_args}" | \
+ sed -e 's/--no[[^ ]]*//' \
+ -e 's/--cache[[a-z-]]*=[[^ ]]*//' \
+ -e 's/--ho[[a-z-]]*=[[^ ]]*//' \
+ -e 's/--bu[[a-z-]]*=[[^ ]]*//' \
+ -e 's/--ta[[a-z-]]*=[[^ ]]*//' \
+ -e 's/[[^ ]]*alias=[[^ ]]*//g'` ;
+
+targetargs="--host=${target_alias} --build=${build} --target=${target_alias} ${targetargs}"
+AC_SUBST(targetargs)
+
+target_subdir="${target_alias}"
+],[])
+])
diff --git a/c/src/exec/aclocal/sysv-ipc.m4 b/c/src/exec/aclocal/sysv-ipc.m4
new file mode 100644
index 0000000000..5b3fff738a
--- /dev/null
+++ b/c/src/exec/aclocal/sysv-ipc.m4
@@ -0,0 +1,133 @@
+dnl
+dnl $Id$
+dnl
+dnl Check for System V IPC calls used by Unix simulators
+dnl
+dnl 98/07/17 Dario Alcocer alcocer@netcom.com
+dnl Ralf Corsepius corsepiu@faw.uni-ulm.de
+dnl
+dnl Note: $host_os should probably *not* ever be used here to
+dnl determine if host supports System V IPC calls, since some
+dnl (e.g. FreeBSD 2.x) are configured by default to include only
+dnl a subset of the System V IPC calls. Therefore, to make sure
+dnl all of the required calls are found, test for each call explicitly.
+dnl
+dnl All of the calls use IPC_PRIVATE, so tests will not unintentionally
+dnl modify any existing key sets. See the man pages for semget, shmget,
+dnl msgget, semctl, shmctl and msgctl for details.
+
+AC_DEFUN(RTEMS_UNION_SEMUN,
+[
+AC_CACHE_CHECK([whether $host defines union semun],
+ rtems_cv_HAS_UNION_SEMUN,
+ [AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>],
+[union semun arg ;],
+[rtems_cv_HAS_UNION_SEMUN="yes"],
+[rtems_cv_HAS_UNION_SEMUN="no"])
+])
+if test "$rtems_cv_HAS_UNION_SEMUN" = "yes"; then
+ AC_DEFINE(HAS_UNION_SEMUN,[1],[if having union semum])
+fi
+])
+
+AC_DEFUN(RTEMS_SYSV_SEM,
+[AC_REQUIRE([AC_PROG_CC])
+# AC_REQUIRE([RTEMS_CANONICAL_HOST])
+AC_CACHE_CHECK(whether $host supports System V semaphores,
+rtems_cv_sysv_sem,
+[
+AC_TRY_RUN(
+[
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>
+#if !HAS_UNION_SEMUN
+ union semun {
+ int val;
+ struct semid_ds *buf;
+ ushort *array;
+ } ;
+#endif
+int main () {
+ union semun arg ;
+
+ int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
+ if (id == -1)
+ exit(1);
+ arg.val = 0; /* avoid implicit type cast to union */
+ if (semctl(id, 0, IPC_RMID, arg) == -1)
+ exit(1);
+ exit(0);
+}
+],
+rtems_cv_sysv_sem="yes", rtems_cv_sysv_sem="no", :)
+])
+])
+
+AC_DEFUN(RTEMS_SYSV_SHM,
+[AC_REQUIRE([AC_PROG_CC])
+# AC_REQUIRE([RTEMS_CANONICAL_HOST])
+AC_CACHE_CHECK(whether $host supports System V shared memory,
+rtems_cv_sysv_shm,
+[
+AC_TRY_RUN([
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+int main () {
+ int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400);
+ if (id == -1)
+ exit(1);
+ if (shmctl(id, IPC_RMID, 0) == -1)
+ exit(1);
+ exit(0);
+}
+],
+rtems_cv_sysv_shm="yes", rtems_cv_sysv_shm="no", :)
+])
+])
+
+AC_DEFUN(RTEMS_SYSV_MSG,
+[AC_REQUIRE([AC_PROG_CC])
+# AC_REQUIRE([RTEMS_CANONICAL_HOST])
+AC_CACHE_CHECK(whether $host supports System V messages,
+rtems_cv_sysv_msg,
+[
+AC_TRY_RUN([
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/msg.h>
+int main () {
+ int id=msgget(IPC_PRIVATE,IPC_CREAT|0400);
+ if (id == -1)
+ exit(1);
+ if (msgctl(id, IPC_RMID, 0) == -1)
+ exit(1);
+ exit(0);
+}
+],
+rtems_cv_sysv_msg="yes", rtems_cv_sysv_msg="no", :)
+])
+])
+
+AC_DEFUN(RTEMS_CHECK_SYSV_UNIX,
+[# AC_REQUIRE([RTEMS_CANONICAL_HOST])
+if test "$RTEMS_CPU" = "unix" ; then
+ RTEMS_UNION_SEMUN
+ RTEMS_SYSV_SEM
+ if test "$rtems_cv_sysv_sem" != "yes" ; then
+ AC_MSG_ERROR([System V semaphores don't work, required by simulator])
+ fi
+ RTEMS_SYSV_SHM
+ if test "$rtems_cv_sysv_shm" != "yes" ; then
+ AC_MSG_ERROR([System V shared memory doesn't work, required by simulator])
+ fi
+ RTEMS_SYSV_MSG
+ if test "$rtems_cv_sysv_msg" != "yes" ; then
+ AC_MSG_ERROR([System V messages don't work, required by simulator])
+ fi
+fi
+])
diff --git a/c/src/exec/aclocal/tool-paths.m4 b/c/src/exec/aclocal/tool-paths.m4
new file mode 100644
index 0000000000..cb61747afd
--- /dev/null
+++ b/c/src/exec/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/exec/aclocal/version.m4 b/c/src/exec/aclocal/version.m4
new file mode 100644
index 0000000000..9734963d1d
--- /dev/null
+++ b/c/src/exec/aclocal/version.m4
@@ -0,0 +1,2 @@
+AC_DEFUN([RTEMS_VERSIONING],
+m4_define([_RTEMS_VERSION],[ss-20020528]))
diff --git a/cpukit/aclocal/bsp-alias.m4 b/cpukit/aclocal/bsp-alias.m4
new file mode 100644
index 0000000000..3c1c835524
--- /dev/null
+++ b/cpukit/aclocal/bsp-alias.m4
@@ -0,0 +1,39 @@
+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
+ 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/cpukit/aclocal/canonical-host.m4 b/cpukit/aclocal/canonical-host.m4
new file mode 100644
index 0000000000..7077ab31c5
--- /dev/null
+++ b/cpukit/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/cpukit/aclocal/canonical-target-name.m4 b/cpukit/aclocal/canonical-target-name.m4
new file mode 100644
index 0000000000..1b491c0b15
--- /dev/null
+++ b/cpukit/aclocal/canonical-target-name.m4
@@ -0,0 +1,38 @@
+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
+ ;;
+ *)
+ RTEMS_CPU=`echo $target | sed 's%^\([[^-]]*\)-\(.*\)$%\1%'`
+ ;;
+esac
+AC_SUBST(RTEMS_CPU)
+AC_MSG_RESULT($RTEMS_CPU)
+])
diff --git a/cpukit/aclocal/canonicalize-tools.m4 b/cpukit/aclocal/canonicalize-tools.m4
new file mode 100644
index 0000000000..3868c76d71
--- /dev/null
+++ b/cpukit/aclocal/canonicalize-tools.m4
@@ -0,0 +1,28 @@
+dnl
+dnl $Id$
+dnl
+dnl Set target tools
+dnl
+
+AC_DEFUN(RTEMS_GCC_PRINT,
+[
+ $1=`$CC --print-prog-name=$2`
+])
+
+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/cpukit/aclocal/check-bsp-cache.m4 b/cpukit/aclocal/check-bsp-cache.m4
new file mode 100644
index 0000000000..289cbdcd43
--- /dev/null
+++ b/cpukit/aclocal/check-bsp-cache.m4
@@ -0,0 +1,17 @@
+dnl $Id$
+
+dnl RTEMS_CHECK_BSP_CACHE(RTEMS_BSP)
+AC_DEFUN(RTEMS_CHECK_BSP_CACHE,
+[
+AC_REQUIRE([RTEMS_CHECK_CPU])dnl sets RTEMS_CPU, target
+AC_REQUIRE([RTEMS_ENV_RTEMSBSP])dnl set RTEMS_BSP
+AC_REQUIRE([RTEMS_TOP])dnl sets RTEMS_TOPdir
+AC_CACHE_CHECK([for RTEMS_CPU_MODEL], rtems_cv_RTEMS_CPU_MODEL,
+. $RTEMS_TOPdir/c/[$]$1/make/[$]$1.cache)
+RTEMS_CPU_MODEL=$rtems_cv_RTEMS_CPU_MODEL
+AC_SUBST(RTEMS_CPU_MODEL)
+AC_CACHE_CHECK([for RTEMS_BSP_FAMILY], rtems_cv_RTEMS_BSP_FAMILY,
+. $RTEMS_TOPdir/c/[$]$1/make/[$]$1.cache)
+RTEMS_BSP_FAMILY=$rtems_cv_RTEMS_BSP_FAMILY
+AC_SUBST(RTEMS_BSP_FAMILY)
+])dnl
diff --git a/cpukit/aclocal/check-bsps.m4 b/cpukit/aclocal/check-bsps.m4
new file mode 100644
index 0000000000..7c450e783f
--- /dev/null
+++ b/cpukit/aclocal/check-bsps.m4
@@ -0,0 +1,13 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_CHECK_CUSTOM_BSP,
+[dnl
+AC_REQUIRE([RTEMS_TOP])
+
+AC_MSG_CHECKING([for make/custom/[$]$1.cfg])
+if test -r "$srcdir/$RTEMS_TOPdir/make/custom/[$]$1.cfg"; then
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_ERROR([no])
+fi
+])dnl
diff --git a/cpukit/aclocal/check-cpu.m4 b/cpukit/aclocal/check-cpu.m4
new file mode 100644
index 0000000000..b0b01117d1
--- /dev/null
+++ b/cpukit/aclocal/check-cpu.m4
@@ -0,0 +1,17 @@
+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])
+if test -d "$srcdir/$RTEMS_TOPdir/c/src/exec/score/cpu/$RTEMS_CPU"; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_ERROR(no)
+fi
+])dnl
+
diff --git a/cpukit/aclocal/check-itron.m4 b/cpukit/aclocal/check-itron.m4
new file mode 100644
index 0000000000..4c4dbf0042
--- /dev/null
+++ b/cpukit/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/cpukit/aclocal/check-multiprocessing.m4 b/cpukit/aclocal/check-multiprocessing.m4
new file mode 100644
index 0000000000..6e99a38afa
--- /dev/null
+++ b/cpukit/aclocal/check-multiprocessing.m4
@@ -0,0 +1,46 @@
+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([whether BSP supports multiprocessing],
+ rtems_cv_HAS_MP,
+ [dnl
+ if test x"$multilib" = x"yes"; then
+ # FIXME: Currently, multilibs and multiprocessing can not be
+ # build simultaneously
+ rtems_cv_HAS_MP="disabled"
+ else
+ if test -d "$srcdir/${RTEMS_TOPdir}/c/src/lib/libbsp/${RTEMS_CPU}/${RTEMS_BSP_FAMILY}/shmsupp"; then
+ if test "$RTEMS_HAS_MULTIPROCESSING" = "yes"; then
+ rtems_cv_HAS_MP="yes" ;
+ else
+ rtems_cv_HAS_MP="disabled";
+ fi
+ else
+ rtems_cv_HAS_MP="no";
+ fi
+ fi])
+if test "$rtems_cv_HAS_MP" = "yes"; then
+HAS_MP="yes"
+else
+HAS_MP="no"
+fi
+AC_SUBST(HAS_MP)
+])
+
+AC_DEFUN(RTEMS_DEFINE_MULTIPROCESSING,
+[AC_REQUIRE([RTEMS_CHECK_MULTIPROCESSING])dnl
+if test x"${HAS_MP}" = x"yes";
+then
+ AC_DEFINE_UNQUOTED(RTEMS_MULTIPROCESSING,1,[if multiprocessing is supported])
+fi
+])
diff --git a/cpukit/aclocal/check-networking.m4 b/cpukit/aclocal/check-networking.m4
new file mode 100644
index 0000000000..db3a0c60d3
--- /dev/null
+++ b/cpukit/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/cpukit/aclocal/check-newlib.m4 b/cpukit/aclocal/check-newlib.m4
new file mode 100644
index 0000000000..a26624702e
--- /dev/null
+++ b/cpukit/aclocal/check-newlib.m4
@@ -0,0 +1,31 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_CHECK_NEWLIB,
+[dnl
+AC_REQUIRE([RTEMS_PROG_CC_FOR_TARGET])dnl
+AC_REQUIRE([RTEMS_CANONICALIZE_TOOLS])dnl
+AC_CACHE_CHECK([for RTEMS newlib],
+ rtems_cv_use_newlib,
+ [
+dnl some versions of newlib provide not_required_by_rtems
+ AC_TRY_LINK(
+ [extern void not_required_by_rtems() ;],
+ [not_required_by_rtems()],
+ rtems_cv_use_newlib="yes")
+
+dnl some versions of newlib provide rtems_provides_crt0()
+ AS_IF([test -z "$rtems_cv_use_newlib"],
+ [AC_TRY_LINK(
+ [extern void rtems_provides_crt0() ;],
+ [rtems_provides_crt0()],
+ rtems_cv_use_newlib="yes",
+ rtems_cv_use_newlib="no")]
+ )
+ ])
+ RTEMS_USE_NEWLIB="$rtems_cv_use_newlib"
+ AC_SUBST(RTEMS_USE_NEWLIB)
+
+ AS_IF([test x"${RTEMS_USE_NEWLIB}" = x"yes"],
+ [ AC_DEFINE_UNQUOTED(RTEMS_NEWLIB,1,[if using newlib])]
+ )
+])
diff --git a/cpukit/aclocal/check-posix.m4 b/cpukit/aclocal/check-posix.m4
new file mode 100644
index 0000000000..7512f663f5
--- /dev/null
+++ b/cpukit/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/cpukit/aclocal/check-tool.m4 b/cpukit/aclocal/check-tool.m4
new file mode 100644
index 0000000000..5a91490e74
--- /dev/null
+++ b/cpukit/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/cpukit/aclocal/enable-bare.m4 b/cpukit/aclocal/enable-bare.m4
new file mode 100644
index 0000000000..9f739ad8c1
--- /dev/null
+++ b/cpukit/aclocal/enable-bare.m4
@@ -0,0 +1,19 @@
+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/cpukit/aclocal/enable-inlines.m4 b/cpukit/aclocal/enable-inlines.m4
new file mode 100644
index 0000000000..972f78b733
--- /dev/null
+++ b/cpukit/aclocal/enable-inlines.m4
@@ -0,0 +1,21 @@
+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
+
+if test x"${RTEMS_USE_MACROS}" = x"yes";
+then
+ AC_DEFINE_UNQUOTED(USE_MACROS,1,[if using macros])
+else
+ AC_DEFINE_UNQUOTED(USE_INLINES,1,[if using inlines])
+fi
+
+
+])
diff --git a/cpukit/aclocal/enable-itron.m4 b/cpukit/aclocal/enable-itron.m4
new file mode 100644
index 0000000000..e49fa68c9f
--- /dev/null
+++ b/cpukit/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/cpukit/aclocal/enable-multiprocessing.m4 b/cpukit/aclocal/enable-multiprocessing.m4
new file mode 100644
index 0000000000..6e9a87e04a
--- /dev/null
+++ b/cpukit/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 "${enableval}" in
+ yes) RTEMS_HAS_MULTIPROCESSING=yes ;;
+ no) RTEMS_HAS_MULTIPROCESSING=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for enable-multiprocessing option) ;;
+esac],[RTEMS_HAS_MULTIPROCESSING=no])
+AC_SUBST(RTEMS_HAS_MULTIPROCESSING)dnl
+])
diff --git a/cpukit/aclocal/enable-networking.m4 b/cpukit/aclocal/enable-networking.m4
new file mode 100644
index 0000000000..92ea0e0a7f
--- /dev/null
+++ b/cpukit/aclocal/enable-networking.m4
@@ -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
+])
diff --git a/cpukit/aclocal/enable-posix.m4 b/cpukit/aclocal/enable-posix.m4
new file mode 100644
index 0000000000..0e0ff92e6e
--- /dev/null
+++ b/cpukit/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/cpukit/aclocal/enable-rtemsbsp.m4 b/cpukit/aclocal/enable-rtemsbsp.m4
new file mode 100644
index 0000000000..a4c2114e59
--- /dev/null
+++ b/cpukit/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])dnl
+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/cpukit/aclocal/env-rtemsbsp.m4 b/cpukit/aclocal/env-rtemsbsp.m4
new file mode 100644
index 0000000000..6caec5a3d4
--- /dev/null
+++ b/cpukit/aclocal/env-rtemsbsp.m4
@@ -0,0 +1,47 @@
+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([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([RTEMS_CONFIG_PER_BSP],[true])
+AM_CONDITIONAL([MULTILIB],[false])
+
+includedir="\${exec_prefix}/${RTEMS_BSP}/lib/include"
+])
diff --git a/cpukit/aclocal/env-rtemscpu.m4 b/cpukit/aclocal/env-rtemscpu.m4
new file mode 100644
index 0000000000..e01efb12c0
--- /dev/null
+++ b/cpukit/aclocal/env-rtemscpu.m4
@@ -0,0 +1,41 @@
+dnl $Id$
+
+AC_DEFUN(RTEMS_ENV_RTEMSCPU,
+[AC_REQUIRE([RTEMS_ENABLE_MULTILIB])
+
+if test x"$multilib" = x"yes"; then
+## FIXME: There is no multilib BSP
+ RTEMS_BSP_SPECS=""
+ AC_SUBST(RTEMS_BSP_SPECS)
+
+ if test -n "$with_multisubdir"; then
+ MULTIBUILDTOP=`echo "/$with_multisubdir" | sed 's,/[[^\\/]]*,../,g'`
+ fi
+ AC_SUBST(MULTIBUILDTOP)
+
+ if test -n "$with_multisubdir"; then
+ MULTISUBDIR="/$with_multisubdir"
+ fi
+ AC_SUBST(MULTISUBDIR)
+
+ PROJECT_ROOT="${RTEMS_TOPdir}/\$(MULTIBUILDTOP)\$(top_builddir)"
+ GCC_SPECS="-isystem \$(PROJECT_ROOT)/lib/include"
+ AC_SUBST(GCC_SPECS)
+
+ PROJECT_INCLUDE="\$(PROJECT_ROOT)/lib/include"
+ AC_SUBST(PROJECT_INCLUDE)
+
+ PROJECT_RELEASE="\$(PROJECT_ROOT)"
+ AC_SUBST(PROJECT_RELEASE)
+
+ RTEMS_ROOT=${PROJECT_ROOT}
+ AC_SUBST(RTEMS_ROOT)
+
+ includedir="\${exec_prefix}/lib/include"
+ libdir="${libdir}\$(MULTISUBDIR)"
+ AM_CONDITIONAL([RTEMS_CONFIG_PER_BSP],[false])
+else
+ RTEMS_ENV_RTEMSBSP
+ RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
+fi
+])
diff --git a/cpukit/aclocal/gcc-pipe.m4 b/cpukit/aclocal/gcc-pipe.m4
new file mode 100644
index 0000000000..093ea2edf4
--- /dev/null
+++ b/cpukit/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/cpukit/aclocal/gcc-specs.m4 b/cpukit/aclocal/gcc-specs.m4
new file mode 100644
index 0000000000..ca0271424f
--- /dev/null
+++ b/cpukit/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/cpukit/aclocal/multi.m4 b/cpukit/aclocal/multi.m4
new file mode 100644
index 0000000000..08d1783dd5
--- /dev/null
+++ b/cpukit/aclocal/multi.m4
@@ -0,0 +1,53 @@
+#serial 99
+
+AC_DEFUN(AC_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")
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ multilib_basedir="[$]{srcdir}/[$]{with_multisrctop}../ifelse([$2],,,[$2])"
+ else
+ multilib_basedir="[$]{srcdir}/[$]{with_multisrctop}ifelse([$2],,,[$2])"
+ fi
+else
+ multilib_basedir="[$]{srcdir}/ifelse([$2],,,[$2])"
+fi
+AC_SUBST(multilib_basedir)
+
+if test "${multilib}" = "yes"; then
+ multilib_arg="--enable-multilib"
+else
+ multilib_arg=
+fi
+
+AC_OUTPUT_COMMANDS(
+[case " $CONFIG_FILES " in
+ *" ]m4_if([$1],,Makefile,[$1])[ "*)
+ ac_file=]m4_if([$1],,Makefile,[$1])[ . ${multilib_basedir}/config-ml.in
+esac],
+[
+ srcdir=${srcdir}
+ host=${host}
+ target=${target}
+ with_multisrctop="${with_multisrctop}"
+ with_target_subdir="${with_target_subdir}"
+ with_multisubdir="${with_multisubdir}"
+ ac_configure_args="${multilib_arg} ${ac_configure_args}"
+ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ multilib_basedir=${multilib_basedir}
+ CC="${CC}"]
+)
+])
diff --git a/cpukit/aclocal/multilib.m4 b/cpukit/aclocal/multilib.m4
new file mode 100644
index 0000000000..b3f308ca2e
--- /dev/null
+++ b/cpukit/aclocal/multilib.m4
@@ -0,0 +1,59 @@
+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")
+])
+
+AC_DEFUN([RTEMS_ENABLE_MULTILIB_MASTER],
+[
+AC_REQUIRE([RTEMS_ENABLE_MULTILIB])
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ multilib_basedir="[$]{srcdir}/[$]{with_multisrctop}../ifelse([$2],,,[$2])"
+ else
+ multilib_basedir="[$]{srcdir}/[$]{with_multisrctop}ifelse([$2],,,[$2])"
+ fi
+else
+ multilib_basedir="[$]{srcdir}/ifelse([$2],,,[$2])"
+fi
+AC_SUBST(multilib_basedir)
+
+if test "${multilib}" = "yes"; then
+ multilib_arg="--enable-multilib"
+else
+ multilib_arg=
+fi
+
+AC_OUTPUT_COMMANDS(
+[case " $CONFIG_FILES " in
+ *" ]m4_if([$1],,Makefile,[$1])[ "*)
+ ac_file=]m4_if([$1],,Makefile,[$1])[ . ${multilib_basedir}/config-ml.in
+esac],
+[
+ srcdir=${srcdir}
+ host=${host}
+ target=${target}
+ with_multisrctop="${with_multisrctop}"
+ with_target_subdir="${with_target_subdir}"
+ with_multisubdir="${with_multisubdir}"
+ ac_configure_args="${multilib_arg} ${ac_configure_args}"
+ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ multilib_basedir=${multilib_basedir}
+ CC="${CC}"])
+])
diff --git a/cpukit/aclocal/prog-cc.m4 b/cpukit/aclocal/prog-cc.m4
new file mode 100644
index 0000000000..11b47d4610
--- /dev/null
+++ b/cpukit/aclocal/prog-cc.m4
@@ -0,0 +1,50 @@
+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_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 --specs
+RTEMS_GCC_SPECS
+dnl check if the target compiler may use --pipe
+RTEMS_GCC_PIPE
+dnl check if the compiler supports --specs if gcc28 is requested
+# if test "$rtems_cv_gcc_specs" = "no"; then
+# AC_MSG_WARN([*** disabling --enable-gcc28])
+# RTEMS_USE_GCC272=yes
+# fi
+test "$rtems_cv_gcc_pipe" = "yes" && CC="$CC --pipe"
+
+if test "$GCC" = yes; then
+]
+m4_if([$1],,[],[CPPFLAGS="$CPPFLAGS $1"])
+[
+CFLAGS="-g -Wall"
+fi
+
+dnl FIXME: HACK for egcs/cygwin mixing '\\' and '/' in gcc -print-*
+case $build_os in
+*cygwin*) GCCSED="| sed 's%\\\\%/%g'" ;;
+*) ;;
+esac
+AC_SUBST(GCCSED)
+])
diff --git a/cpukit/aclocal/rtems-cpu-subdirs.m4 b/cpukit/aclocal/rtems-cpu-subdirs.m4
new file mode 100644
index 0000000000..1ecdea4d2f
--- /dev/null
+++ b/cpukit/aclocal/rtems-cpu-subdirs.m4
@@ -0,0 +1,32 @@
+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([a29k],[$1]);;
+_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([or16],[$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])
+esac
+])
diff --git a/cpukit/aclocal/rtems-debug.m4 b/cpukit/aclocal/rtems-debug.m4
new file mode 100644
index 0000000000..9a9f15a33f
--- /dev/null
+++ b/cpukit/aclocal/rtems-debug.m4
@@ -0,0 +1,19 @@
+## $Id$
+
+AC_DEFUN(RTEMS_ENABLE_RTEMS_DEBUG,
+[
+AC_ARG_ENABLE(rtems-debug,
+AC_HELP_STRING([--enable-rtems-debug],[enable RTEMS_DEBUG]),
+[case "${enable_rtems_debug}" in
+ yes) enable_rtems_debug=yes ;;
+ no) enable_rtems_debug=no ;;
+ *) AC_MSG_ERROR([bad value ${enable_rtems_debug} for RTEMS_DEBUG]) ;;
+esac],[enable_rtems_debug=no])
+])
+
+AC_DEFUN(RTEMS_CHECK_RTEMS_DEBUG,
+[AC_REQUIRE([RTEMS_ENABLE_RTEMS_DEBUG])
+AS_IF([test x"${enable_rtems_debug}" = x"yes"]
+ [AC_DEFINE_UNQUOTED(RTEMS_DEBUG,1,[if RTEMS_DEBUG is enabled])])
+])
+
diff --git a/cpukit/aclocal/rtems-top.m4 b/cpukit/aclocal/rtems-top.m4
new file mode 100644
index 0000000000..82da20edd5
--- /dev/null
+++ b/cpukit/aclocal/rtems-top.m4
@@ -0,0 +1,52 @@
+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_CHECK_PROGS(MAKE, gmake make)
+AC_BEFORE([$0], [AC_CONFIG_AUX_DIR])dnl
+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)
+
+if test "$with_target_subdir" = "." ; then
+# Native
+PROJECT_ROOT="${RTEMS_TOPdir}/\$(top_builddir)"
+else
+# Cross
+PROJECT_ROOT="${RTEMS_TOPdir}/\$(top_builddir)"
+fi
+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/cpukit/aclocal/sysv-ipc.m4 b/cpukit/aclocal/sysv-ipc.m4
new file mode 100644
index 0000000000..5b3fff738a
--- /dev/null
+++ b/cpukit/aclocal/sysv-ipc.m4
@@ -0,0 +1,133 @@
+dnl
+dnl $Id$
+dnl
+dnl Check for System V IPC calls used by Unix simulators
+dnl
+dnl 98/07/17 Dario Alcocer alcocer@netcom.com
+dnl Ralf Corsepius corsepiu@faw.uni-ulm.de
+dnl
+dnl Note: $host_os should probably *not* ever be used here to
+dnl determine if host supports System V IPC calls, since some
+dnl (e.g. FreeBSD 2.x) are configured by default to include only
+dnl a subset of the System V IPC calls. Therefore, to make sure
+dnl all of the required calls are found, test for each call explicitly.
+dnl
+dnl All of the calls use IPC_PRIVATE, so tests will not unintentionally
+dnl modify any existing key sets. See the man pages for semget, shmget,
+dnl msgget, semctl, shmctl and msgctl for details.
+
+AC_DEFUN(RTEMS_UNION_SEMUN,
+[
+AC_CACHE_CHECK([whether $host defines union semun],
+ rtems_cv_HAS_UNION_SEMUN,
+ [AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>],
+[union semun arg ;],
+[rtems_cv_HAS_UNION_SEMUN="yes"],
+[rtems_cv_HAS_UNION_SEMUN="no"])
+])
+if test "$rtems_cv_HAS_UNION_SEMUN" = "yes"; then
+ AC_DEFINE(HAS_UNION_SEMUN,[1],[if having union semum])
+fi
+])
+
+AC_DEFUN(RTEMS_SYSV_SEM,
+[AC_REQUIRE([AC_PROG_CC])
+# AC_REQUIRE([RTEMS_CANONICAL_HOST])
+AC_CACHE_CHECK(whether $host supports System V semaphores,
+rtems_cv_sysv_sem,
+[
+AC_TRY_RUN(
+[
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>
+#if !HAS_UNION_SEMUN
+ union semun {
+ int val;
+ struct semid_ds *buf;
+ ushort *array;
+ } ;
+#endif
+int main () {
+ union semun arg ;
+
+ int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
+ if (id == -1)
+ exit(1);
+ arg.val = 0; /* avoid implicit type cast to union */
+ if (semctl(id, 0, IPC_RMID, arg) == -1)
+ exit(1);
+ exit(0);
+}
+],
+rtems_cv_sysv_sem="yes", rtems_cv_sysv_sem="no", :)
+])
+])
+
+AC_DEFUN(RTEMS_SYSV_SHM,
+[AC_REQUIRE([AC_PROG_CC])
+# AC_REQUIRE([RTEMS_CANONICAL_HOST])
+AC_CACHE_CHECK(whether $host supports System V shared memory,
+rtems_cv_sysv_shm,
+[
+AC_TRY_RUN([
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+int main () {
+ int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400);
+ if (id == -1)
+ exit(1);
+ if (shmctl(id, IPC_RMID, 0) == -1)
+ exit(1);
+ exit(0);
+}
+],
+rtems_cv_sysv_shm="yes", rtems_cv_sysv_shm="no", :)
+])
+])
+
+AC_DEFUN(RTEMS_SYSV_MSG,
+[AC_REQUIRE([AC_PROG_CC])
+# AC_REQUIRE([RTEMS_CANONICAL_HOST])
+AC_CACHE_CHECK(whether $host supports System V messages,
+rtems_cv_sysv_msg,
+[
+AC_TRY_RUN([
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/msg.h>
+int main () {
+ int id=msgget(IPC_PRIVATE,IPC_CREAT|0400);
+ if (id == -1)
+ exit(1);
+ if (msgctl(id, IPC_RMID, 0) == -1)
+ exit(1);
+ exit(0);
+}
+],
+rtems_cv_sysv_msg="yes", rtems_cv_sysv_msg="no", :)
+])
+])
+
+AC_DEFUN(RTEMS_CHECK_SYSV_UNIX,
+[# AC_REQUIRE([RTEMS_CANONICAL_HOST])
+if test "$RTEMS_CPU" = "unix" ; then
+ RTEMS_UNION_SEMUN
+ RTEMS_SYSV_SEM
+ if test "$rtems_cv_sysv_sem" != "yes" ; then
+ AC_MSG_ERROR([System V semaphores don't work, required by simulator])
+ fi
+ RTEMS_SYSV_SHM
+ if test "$rtems_cv_sysv_shm" != "yes" ; then
+ AC_MSG_ERROR([System V shared memory doesn't work, required by simulator])
+ fi
+ RTEMS_SYSV_MSG
+ if test "$rtems_cv_sysv_msg" != "yes" ; then
+ AC_MSG_ERROR([System V messages don't work, required by simulator])
+ fi
+fi
+])
diff --git a/cpukit/aclocal/tool-paths.m4 b/cpukit/aclocal/tool-paths.m4
new file mode 100644
index 0000000000..cb61747afd
--- /dev/null
+++ b/cpukit/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/cpukit/aclocal/version.m4 b/cpukit/aclocal/version.m4
new file mode 100644
index 0000000000..9734963d1d
--- /dev/null
+++ b/cpukit/aclocal/version.m4
@@ -0,0 +1,2 @@
+AC_DEFUN([RTEMS_VERSIONING],
+m4_define([_RTEMS_VERSION],[ss-20020528]))