From 3c69a77436f391ea95f15979cbb75a68ad85e83b Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Mon, 18 Aug 2003 05:40:53 +0000 Subject: 2003-08-17 Ralf Corsepius * 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). --- testsuites/aclocal/canonical-target-name.m4 | 41 ++++++++ testsuites/aclocal/canonicalize-tools.m4 | 23 +++++ testsuites/aclocal/check-custom-bsp.m4 | 10 ++ testsuites/aclocal/check-cxx.m4 | 26 +++++ testsuites/aclocal/check-itron.m4 | 37 +++++++ testsuites/aclocal/check-multiprocessing.m4 | 42 ++++++++ testsuites/aclocal/check-networking.m4 | 29 ++++++ testsuites/aclocal/check-posix.m4 | 36 +++++++ testsuites/aclocal/check-tool.m4 | 11 +++ testsuites/aclocal/config-subdirs.m4 | 34 +++++++ testsuites/aclocal/enable-bare.m4 | 21 ++++ testsuites/aclocal/enable-cxx.m4 | 13 +++ testsuites/aclocal/enable-itron.m4 | 33 +++++++ testsuites/aclocal/enable-multiprocessing.m4 | 13 +++ testsuites/aclocal/enable-networking.m4 | 13 +++ testsuites/aclocal/enable-posix.m4 | 33 +++++++ testsuites/aclocal/enable-rtemsbsp.m4 | 16 ++++ testsuites/aclocal/enable-tests.m4 | 15 +++ testsuites/aclocal/env-rtemsbsp.m4 | 56 +++++++++++ testsuites/aclocal/gcc-isystem.m4 | 25 +++++ testsuites/aclocal/gcc-pipe.m4 | 21 ++++ testsuites/aclocal/gcc-specs.m4 | 20 ++++ testsuites/aclocal/multilib.m4 | 17 ++++ testsuites/aclocal/path-ksh.m4 | 14 +++ testsuites/aclocal/prog-cc.m4 | 48 ++++++++++ testsuites/aclocal/prog-cxx.m4 | 35 +++++++ testsuites/aclocal/project-root.m4 | 22 +++++ testsuites/aclocal/quoting.m4 | 41 ++++++++ testsuites/aclocal/rtems-cpu-subdirs.m4 | 30 ++++++ testsuites/aclocal/rtems-flags.m4 | 11 +++ testsuites/aclocal/rtems-test-no-pause.m4 | 18 ++++ testsuites/aclocal/rtems-top.m4 | 46 +++++++++ testsuites/aclocal/target.m4 | 138 +++++++++++++++++++++++++++ testsuites/aclocal/tool-paths.m4 | 23 +++++ testsuites/aclocal/version.m4 | 2 + 35 files changed, 1013 insertions(+) create mode 100644 testsuites/aclocal/canonical-target-name.m4 create mode 100644 testsuites/aclocal/canonicalize-tools.m4 create mode 100644 testsuites/aclocal/check-custom-bsp.m4 create mode 100644 testsuites/aclocal/check-cxx.m4 create mode 100644 testsuites/aclocal/check-itron.m4 create mode 100644 testsuites/aclocal/check-multiprocessing.m4 create mode 100644 testsuites/aclocal/check-networking.m4 create mode 100644 testsuites/aclocal/check-posix.m4 create mode 100644 testsuites/aclocal/check-tool.m4 create mode 100644 testsuites/aclocal/config-subdirs.m4 create mode 100644 testsuites/aclocal/enable-bare.m4 create mode 100644 testsuites/aclocal/enable-cxx.m4 create mode 100644 testsuites/aclocal/enable-itron.m4 create mode 100644 testsuites/aclocal/enable-multiprocessing.m4 create mode 100644 testsuites/aclocal/enable-networking.m4 create mode 100644 testsuites/aclocal/enable-posix.m4 create mode 100644 testsuites/aclocal/enable-rtemsbsp.m4 create mode 100644 testsuites/aclocal/enable-tests.m4 create mode 100644 testsuites/aclocal/env-rtemsbsp.m4 create mode 100644 testsuites/aclocal/gcc-isystem.m4 create mode 100644 testsuites/aclocal/gcc-pipe.m4 create mode 100644 testsuites/aclocal/gcc-specs.m4 create mode 100644 testsuites/aclocal/multilib.m4 create mode 100644 testsuites/aclocal/path-ksh.m4 create mode 100644 testsuites/aclocal/prog-cc.m4 create mode 100644 testsuites/aclocal/prog-cxx.m4 create mode 100644 testsuites/aclocal/project-root.m4 create mode 100644 testsuites/aclocal/quoting.m4 create mode 100644 testsuites/aclocal/rtems-cpu-subdirs.m4 create mode 100644 testsuites/aclocal/rtems-flags.m4 create mode 100644 testsuites/aclocal/rtems-test-no-pause.m4 create mode 100644 testsuites/aclocal/rtems-top.m4 create mode 100644 testsuites/aclocal/target.m4 create mode 100644 testsuites/aclocal/tool-paths.m4 create mode 100644 testsuites/aclocal/version.m4 (limited to 'testsuites/aclocal') 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 +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])) -- cgit v1.2.3