From ed8ec1cf119e0886f816697e3ee367476d90bea2 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Mon, 17 Jun 2002 08:52:47 +0000 Subject: 2002-06-17 Ralf Corsepius * copied over from aclocal/. --- cpukit/aclocal/bsp-alias.m4 | 39 +++++++++ cpukit/aclocal/canonical-host.m4 | 25 ++++++ cpukit/aclocal/canonical-target-name.m4 | 38 +++++++++ cpukit/aclocal/canonicalize-tools.m4 | 28 +++++++ cpukit/aclocal/check-bsp-cache.m4 | 17 ++++ cpukit/aclocal/check-bsps.m4 | 13 +++ cpukit/aclocal/check-cpu.m4 | 17 ++++ cpukit/aclocal/check-itron.m4 | 37 +++++++++ cpukit/aclocal/check-multiprocessing.m4 | 46 +++++++++++ cpukit/aclocal/check-networking.m4 | 29 +++++++ cpukit/aclocal/check-newlib.m4 | 31 +++++++ cpukit/aclocal/check-posix.m4 | 36 +++++++++ cpukit/aclocal/check-tool.m4 | 11 +++ cpukit/aclocal/enable-bare.m4 | 19 +++++ cpukit/aclocal/enable-inlines.m4 | 21 +++++ cpukit/aclocal/enable-itron.m4 | 33 ++++++++ cpukit/aclocal/enable-multiprocessing.m4 | 13 +++ cpukit/aclocal/enable-networking.m4 | 15 ++++ cpukit/aclocal/enable-posix.m4 | 33 ++++++++ cpukit/aclocal/enable-rtemsbsp.m4 | 16 ++++ cpukit/aclocal/env-rtemsbsp.m4 | 47 +++++++++++ cpukit/aclocal/env-rtemscpu.m4 | 41 ++++++++++ cpukit/aclocal/gcc-pipe.m4 | 21 +++++ cpukit/aclocal/gcc-specs.m4 | 20 +++++ cpukit/aclocal/multi.m4 | 53 ++++++++++++ cpukit/aclocal/multilib.m4 | 59 ++++++++++++++ cpukit/aclocal/prog-cc.m4 | 50 ++++++++++++ cpukit/aclocal/rtems-cpu-subdirs.m4 | 32 ++++++++ cpukit/aclocal/rtems-debug.m4 | 19 +++++ cpukit/aclocal/rtems-top.m4 | 52 ++++++++++++ cpukit/aclocal/sysv-ipc.m4 | 133 +++++++++++++++++++++++++++++++ cpukit/aclocal/tool-paths.m4 | 23 ++++++ cpukit/aclocal/version.m4 | 2 + 33 files changed, 1069 insertions(+) create mode 100644 cpukit/aclocal/bsp-alias.m4 create mode 100644 cpukit/aclocal/canonical-host.m4 create mode 100644 cpukit/aclocal/canonical-target-name.m4 create mode 100644 cpukit/aclocal/canonicalize-tools.m4 create mode 100644 cpukit/aclocal/check-bsp-cache.m4 create mode 100644 cpukit/aclocal/check-bsps.m4 create mode 100644 cpukit/aclocal/check-cpu.m4 create mode 100644 cpukit/aclocal/check-itron.m4 create mode 100644 cpukit/aclocal/check-multiprocessing.m4 create mode 100644 cpukit/aclocal/check-networking.m4 create mode 100644 cpukit/aclocal/check-newlib.m4 create mode 100644 cpukit/aclocal/check-posix.m4 create mode 100644 cpukit/aclocal/check-tool.m4 create mode 100644 cpukit/aclocal/enable-bare.m4 create mode 100644 cpukit/aclocal/enable-inlines.m4 create mode 100644 cpukit/aclocal/enable-itron.m4 create mode 100644 cpukit/aclocal/enable-multiprocessing.m4 create mode 100644 cpukit/aclocal/enable-networking.m4 create mode 100644 cpukit/aclocal/enable-posix.m4 create mode 100644 cpukit/aclocal/enable-rtemsbsp.m4 create mode 100644 cpukit/aclocal/env-rtemsbsp.m4 create mode 100644 cpukit/aclocal/env-rtemscpu.m4 create mode 100644 cpukit/aclocal/gcc-pipe.m4 create mode 100644 cpukit/aclocal/gcc-specs.m4 create mode 100644 cpukit/aclocal/multi.m4 create mode 100644 cpukit/aclocal/multilib.m4 create mode 100644 cpukit/aclocal/prog-cc.m4 create mode 100644 cpukit/aclocal/rtems-cpu-subdirs.m4 create mode 100644 cpukit/aclocal/rtems-debug.m4 create mode 100644 cpukit/aclocal/rtems-top.m4 create mode 100644 cpukit/aclocal/sysv-ipc.m4 create mode 100644 cpukit/aclocal/tool-paths.m4 create mode 100644 cpukit/aclocal/version.m4 (limited to 'cpukit') 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 +#include +#include ], +[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 +#include +#include +#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 +#include +#include +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 +#include +#include +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])) -- cgit v1.2.3