2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>

* aclocal/bsp-alias.m4: New (Copied from ../../aclocal).
	* aclocal/bsp-arg-enable.m4: New (Copied from ../../aclocal).
	* aclocal/bsp-configure.m4: New (Copied from ../../aclocal).
	* aclocal/bspopts.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-rdbg.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-inlines.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-rdbg.m4: New (Copied from ../../aclocal).
	* aclocal/enable-rtemsbsp.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/i386-gas-code16.m4: New (Copied from ../../aclocal).
	* aclocal/multilib.m4: New (Copied from ../../aclocal).
	* aclocal/path-ksh.m4: New (Copied from ../../aclocal).
	* aclocal/path-perl.m4: New (Copied from ../../aclocal).
	* aclocal/ppc.m4: New (Copied from ../../aclocal).
	* aclocal/prog-ccas.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-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).
This commit is contained in:
Ralf Corsepius
2003-08-18 06:35:41 +00:00
parent c483a4e221
commit 867ab080e0
47 changed files with 1444 additions and 0 deletions

View File

@@ -1,3 +1,52 @@
2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* aclocal/bsp-alias.m4: New (Copied from ../../aclocal).
* aclocal/bsp-arg-enable.m4: New (Copied from ../../aclocal).
* aclocal/bsp-configure.m4: New (Copied from ../../aclocal).
* aclocal/bspopts.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-rdbg.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-inlines.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-rdbg.m4: New (Copied from ../../aclocal).
* aclocal/enable-rtemsbsp.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/i386-gas-code16.m4: New (Copied from ../../aclocal).
* aclocal/multilib.m4: New (Copied from ../../aclocal).
* aclocal/path-ksh.m4: New (Copied from ../../aclocal).
* aclocal/path-perl.m4: New (Copied from ../../aclocal).
* aclocal/ppc.m4: New (Copied from ../../aclocal).
* aclocal/prog-ccas.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-top.m4: New (Copied from ../../aclocal).
* aclocal/target.m4: New (Copied from ../../aclocal).
* aclocal/tool-paths.m4: New (Copied from ../../aclocal).
* aclocal/version.m4: New (Copied from ../../aclocal).
2003-08-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove stray comments.

View File

@@ -0,0 +1,40 @@
dnl
dnl $Id$
dnl
dnl _RTEMS_BSP_ALIAS(BSP_ALIAS,RTEMS_BSP_FAMILY)
dnl Internal subroutine to RTEMS_BSP_ALIAS
AC_DEFUN(_RTEMS_BSP_ALIAS,
[# account for "aliased" bsps which share source code
case $1 in
simcpu32) $2=sim68000 ;; # BSVC CPU32 variant
c3xsim) $2=c4xsim ;; # TI C3x Simulator in gdb
mcp750) $2=motorola_powerpc ;; # Motorola PPC board variant
mvme2307) $2=motorola_powerpc ;; # Motorola PPC board variant
mtx603e) $2=motorola_powerpc ;; # Motorola PPC board variant
mvme162lx) $2=mvme162 ;; # m68k - mvme162 board variant
gen68360_040) $2=gen68360 ;; # m68k - 68360 in companion mode
p4600) $2=p4000 ;; # mips64orion - p4000 board w/IDT 4600
p4650) $2=p4000 ;; # mips64orion - p4000 board w/IDT 4650
mbx8*) $2=mbx8xx ;; # MBX821/MBX860 board
pc386dx) $2=pc386 ;; # i386 - PC w/o FPU
pc486) $2=pc386 ;; # i386 - PC with i486DX
pc586) $2=pc386 ;; # i386 - PC with Pentium
pc686) $2=pc386 ;; # i386 - PC with PentiumPro
pck6) $2=pc386 ;; # i386 - PC with K6
bare*) $2=bare ;; # EXP: bare-aliases
erc32nfp) $2=erc32 ;; # erc32 without fpu
leon1) $2=leon ;; # leon without fpu
leon2) $2=leon ;; # leon with fpu
simsh7032) $2=shsim ;; # SH7032 simulator
simsh7045) $2=shsim ;; # SH7045 simulator
*) $2=$1;;
esac]
)
dnl RTEMS_BSP_ALIAS(BSP_ALIAS,RTEMS_BSP_FAMILY)
dnl convert a bsp alias $1 into its bsp directory RTEMS_BSP_FAMILY
AC_DEFUN(RTEMS_BSP_ALIAS,
[_RTEMS_BSP_ALIAS(m4_if([$1],,[$RTEMS_BSP],[$1]),
m4_if([$2],,[RTEMS_BSP_FAMILY],[$2]))]
)

View File

@@ -0,0 +1,18 @@
dnl $Id$
dnl
dnl RTEMS_BSP_ARG_ENABLE(FEATURE, HELP-STRING, ACTION-IF-TRUE [, ACTION-IF-FALSE])
dnl
dnl Accept --enable-FEATURE=<RTEMS_BSP>:<bsp-value> and
dnl --enable-FEATURE=<value> in BSP-configure scripts.
dnl
dnl Configure scripts will receive <bsp-value> if <RTEMS_BSP> matches the
dnl actual value of the shell variable RTEMS_BSP (cf. RTEMS_ENV_RTEMSBSP),
dnl and the raw value passed to --enable-FEATURE otherwise.
dnl
AC_DEFUN(RTEMS_BSP_ARG_ENABLE,
[AC_REQUIRE([RTEMS_ENV_RTEMSBSP])
AC_ARG_ENABLE([$1],[$2],
[enableval=`echo "[$enable_]patsubst([$1], -, _)" | sed -e "s%^${RTEMS_BSP}:%%"`
eval "[enable_]patsubst([$1], -, _)='$enableval'"
$3],[$4])
])

View File

@@ -0,0 +1,35 @@
dnl $Id$
dnl RTEMS_BSP_CONFIGURE
dnl Common macro to be included by all bsp-configure.acs
AC_DEFUN([RTEMS_BSP_CONFIGURE],
[
AC_PREREQ([2.52])
AM_MAINTAINER_MODE
RTEMS_ENV_RTEMSBSP
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
RTEMS_CANONICAL_HOST
AM_CONFIG_HEADER([include/bspopts.tmp:include/bspopts.h.in],[
echo "/* BSP dependent options file */" >$tmp/config.h
echo "/* automatically generated -- DO NOT EDIT!! */" >>$tmp/config.h
echo >>$tmp/config.h
echo "#ifndef __BSP_OPTIONS_h" >>$tmp/config.h
echo "#define __BSP_OPTIONS_h" >>$tmp/config.h
echo >>$tmp/config.h
sed -e '/.*PACKAGE.*/d' include/bspopts.tmp >> $tmp/config.h
echo >>$tmp/config.h
echo "#endif" >>$tmp/config.h
AS_IF([cmp -s include/bspopts.h $tmp/config.h 2>/dev/null],[
AC_MSG_NOTICE([include/bspopts.h is unchanged])
rm -f $tmp/config.h],[
AC_MSG_NOTICE([creating include/bspopts.h])
rm -f include/bspopts.h
mv $tmp/config.h include/bspopts.h
])
])
RTEMS_PROJECT_ROOT
RTEMS_CHECK_MULTIPROCESSING
])

66
c/src/aclocal/bspopts.m4 Normal file
View File

@@ -0,0 +1,66 @@
dnl $Id$
dnl
dnl RTEMS_BSPOPTS_* - some autoconf voodoo to handle default values and
dnl help-strings for per-BSP-environment variables.
dnl To be used in bsp-configure scripts
dnl Example:
dnl
dnl RTEMS_BSPOPTS_SET([foo],[bar],[0])
dnl RTEMS_BSPOPTS_SET([foo],[baz*],[hello])
dnl RTEMS_BSPOPTS_SET([foo],[*],[])
dnl RTEMS_BSPOPTS_HELP([foo],[env. variable foo])
dnl -> Add "0" as default value of variable "foo" for BSP "bar"
dnl -> Add "hello" as default value of variable "foo" for all BSPs starting
dnl with "baz" in their name.
dnl -> Undefine foo as default clause for all BSP's.
dnl
dnl All this basically expands to a /bin/shell "case"-statement with
dnl accompanying autoconf magic to propagate VAR to bspopts.h.
dnl RTEMS_BSPOPTS_HELP(VAR,HELP-STRING)
dnl Set up printing the HELP-STRING for bspopts.h's variable VAR and add
dnl appropriate /bin/sh-magic to "configure" to have VAR set up.
AC_DEFUN([RTEMS_BSPOPTS_HELP],[
RTEMS_ARG_VAR([$1],[$2])
m4_ifdef([_$1],[
case ${RTEMS_BSP} in
_$1[]dnl
esac],[])
if test -n "[$]{$1}"; then[]dnl
AC_DEFINE_UNQUOTED([$1],
[[$]$1],
[$2])dnl
fi
])
dnl RTEMS_BSPOPTS_SET(VAR,BSP,DEFAULT)
dnl Set up a value DEFAULT to be used as default value for variable VAR for
dnl BSP in RTEMS_BSPOPTS_HELP.
dnl MUST be use in front of exactly _one_ corresponding RTEMS_BSPOPTS_HELP
AC_DEFUN([RTEMS_BSPOPTS_SET],[dnl
m4_append([_$1],
[$2 )
$1=[$]{$1-$3} ;;
])
])
dnl RTEMS_ARG_VAR(VAR,HELP-STRING)
dnl An internal macros to have RTEMS_BSPOPTS_HELP's help string pretty
dnl printed with configure --help.
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
])

View File

@@ -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

View File

@@ -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)
])

View File

@@ -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,:)
])

View File

@@ -0,0 +1,18 @@
dnl $Id$
dnl check if RTEMS support a cpu
AC_DEFUN(RTEMS_CHECK_CPU,
[dnl
AC_REQUIRE([RTEMS_TOP])
AC_REQUIRE([RTEMS_CANONICAL_TARGET_CPU])
# Is this a supported CPU?
AC_MSG_CHECKING([if cpu $RTEMS_CPU is supported])
# FIXME: Temporary hack
if test -d "$srcdir/$RTEMS_TOPdir/cpukit/score/cpu/$RTEMS_CPU"; then
AC_MSG_RESULT(yes)
else
AC_MSG_ERROR(no)
fi
])dnl

View File

@@ -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])])
])

View File

@@ -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)
])

View File

@@ -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
])

View File

@@ -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])
])

View File

@@ -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
])

View File

@@ -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])])
])

View File

@@ -0,0 +1,41 @@
dnl $Id$
dnl
AC_DEFUN(RTEMS_CHECK_RDBG,
[dnl
AC_REQUIRE([RTEMS_TOP])dnl
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
AC_REQUIRE([RTEMS_CHECK_NETWORKING])dnl
AC_REQUIRE([RTEMS_ENABLE_RDBG])dnl
AC_CACHE_CHECK([whether BSP supports librdbg],
rtems_cv_HAS_RDBG,
[
if test -d "$srcdir/${RTEMS_TOPdir}/c/src/librdbg/src/${RTEMS_CPU}/${$1}";
then
rtems_cv_HAS_RDBG="yes" ;
elif test -d "$srcdir/${RTEMS_TOPdir}/c/src/librdbg/src/${RTEMS_CPU}/any";
then
rtems_cv_HAS_RDBG="yes" ;
elif test "${RTEMS_CPU}" = "powerpc";
then
A=`grep -l RTEMS_PPC_EXCEPTION_PROCESSING_MODEL $srcdir/${RTEMS_TOPdir}/make/custom/* 2>/dev/null`;
C=""
for i in ${A} ;
do
B=`basename ${i} .cfg`;
C="${C} ${B}";
done
rtems_cv_HAS_RDBG="no";
for j in ${C} ;
do
if test "${$1}" = "${j}" ;
then
rtems_cv_HAS_RDBG="yes";
fi
done
else
rtems_cv_HAS_RDBG="no";
fi
])
HAS_RDBG="$rtems_cv_HAS_RDBG"
AC_SUBST(HAS_RDBG)
])

View File

@@ -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)
])

View File

@@ -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
])

View File

@@ -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=""])
])

View File

@@ -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])
])

View File

@@ -0,0 +1,17 @@
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
AS_IF([test x"${RTEMS_USE_MACROS}" = x"yes"],
[AC_DEFINE_UNQUOTED(USE_MACROS,1,[if using macros])],
[AC_DEFINE_UNQUOTED(USE_INLINES,1,[if using inlines])])
])

View File

@@ -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)
])

View File

@@ -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])
])

View File

@@ -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
])

View File

@@ -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)
])

View File

@@ -0,0 +1,15 @@
dnl $Id$
AC_DEFUN(RTEMS_ENABLE_RDBG,
[
AC_BEFORE([$0], [RTEMS_CHECK_RDBG])dnl
AC_ARG_ENABLE(rdbg,
[AC_HELP_STRING([--enable-rdbg],[enable remote debugger])],
[case "${enableval}" in
yes) RTEMS_HAS_RDBG=yes ;;
no) RTEMS_HAS_RDBG=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for enable-rdbg option) ;;
esac],[RTEMS_HAS_RDBG=no])
AC_SUBST(RTEMS_HAS_RDBG)dnl
])

View File

@@ -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=""])
])

View File

@@ -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)
])

View File

@@ -0,0 +1,25 @@
dnl
dnl $Id$
dnl
dnl Check whether the gcc accepts -isystem
dnl
AC_DEFUN(RTEMS_GCC_ISYSTEM,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_CACHE_CHECK(whether $CC accepts -isystem,rtems_cv_gcc_isystem,
[
rtems_cv_gcc_isystem=no
if test x"$GCC" = x"yes"; then
cat << EOF > conftest.h
int conftest123();
EOF
cat << EOF > conftest.c
#include <conftest.h>
int conftest123() {}
EOF
if test -z "`${CC} -isystem./ -c conftest.c 2>&1`";then
rtems_cv_gcc_isystem=yes
fi
fi
rm -f conftest*
])])

21
c/src/aclocal/gcc-pipe.m4 Normal file
View File

@@ -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
])
])

View File

@@ -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*
])])

View File

@@ -0,0 +1,31 @@
dnl
dnl $Id$
dnl
dnl check for i386 gas supporting 16 bit mode
dnl - binutils 2.9.1.0.7 and higher
AC_DEFUN(RTEMS_I386_GAS_CODE16,
[ if test "${host_cpu}" = "i386"; then
AC_CACHE_CHECK([for 16 bit mode assembler support],
rtems_cv_prog_gas_code16,
[cat > conftest.s << EOF
.code16
data32
addr32
lgdt 0
EOF
if AC_TRY_COMMAND($AS -o conftest.o conftest.s); then
rtems_cv_prog_gas_code16=yes
else
rtems_cv_prog_gas_code16=no
fi])
RTEMS_GAS_CODE16="$rtems_cv_prog_gas_code16"
fi
AC_SUBST(RTEMS_GAS_CODE16)
if test x"${RTEMS_GAS_CODE16}" = x"yes";
then
AC_DEFINE_UNQUOTED(NEW_GAS,1,[if using 16 bit mode assembler support])
fi
])

17
c/src/aclocal/multilib.m4 Normal file
View File

@@ -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")
])

14
c/src/aclocal/path-ksh.m4 Normal file
View File

@@ -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
])

View File

@@ -0,0 +1,12 @@
dnl $Id$
AC_DEFUN(RTEMS_PATH_PERL,
[
AC_PATH_PROG(PERL,perl)
if test -z "$PERL" ; then
AC_MSG_WARN(
[***]
[ perl was not found]
[ Note: Some tools will not be built.])
fi
])

87
c/src/aclocal/ppc.m4 Normal file
View File

@@ -0,0 +1,87 @@
# $Id$
#
# Some hacks for handling powerpc-exception subdirectories
#
# Note: Consider this file a temporary band-aid until a better, more general
# subdirectory handling solution is introduced to RTEMS.
AC_DEFUN([RTEMS_PPC_EXCEPTIONS],
[
exceptions="$1_exception_processing"
AC_SUBST(exceptions)
AC_CONFIG_COMMANDS_POST(
[
exceptions_subdirs="$1_exception_processing"
updir=/../support
if test "$no_recursion" != yes; then
RTEMS_CONFIGURE_ARGS_QUOTE([ac_sub_configure_args])
for ac_subdir in : $exceptions_subdirs; do test "x$ac_subdir" = x: && continue
# Do not complain, so a configure script can configure whichever
# parts of a large source tree are present.
test -d $srcdir${updir}/$ac_subdir || continue
AC_MSG_NOTICE([configuring in $ac_subdir])
case $srcdir in
.) ;;
*) AS_MKDIR_P(["./$ac_subdir"])
if test -d ./$ac_subdir; then :;
else
AC_MSG_ERROR([cannot create `pwd`/$ac_subdir])
fi
;;
esac
ac_popdir=`pwd`
cd $ac_subdir
# A "../" for each directory in /$ac_subdir.
ac_dots=`echo $ac_subdir |
sed 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g'`
case $srcdir in
.) # No --srcdir option. We are building in place.
ac_sub_srcdir=$srcdir${updir} ;;
[[\\/]]* | ?:[[\\/]]* ) # Absolute path.
ac_sub_srcdir=$srcdir${updir}/$ac_subdir ;;
*) # Relative path.
ac_sub_srcdir=$ac_dots$srcdir${updir}/$ac_subdir ;;
esac
# Check for guested configure; otherwise get Cygnus style configure.
if test -f $ac_sub_srcdir/configure.gnu; then
ac_sub_configure="$SHELL '$ac_sub_srcdir/configure.gnu'"
elif test -f $ac_sub_srcdir/configure; then
ac_sub_configure="$SHELL '$ac_sub_srcdir/configure'"
elif test -f $ac_sub_srcdir/configure.in; then
ac_sub_configure=$ac_configure
else
AC_MSG_WARN([no configuration information is in $ac_subdir])
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_dots$cache_file ;;
esac
AC_MSG_NOTICE([running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir])
# The eval makes quoting arguments work.
eval $ac_sub_configure $ac_sub_configure_args \
--cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir ||
AC_MSG_ERROR([$ac_sub_configure failed for $ac_subdir])
fi
cd $ac_popdir
done
fi
])
])

48
c/src/aclocal/prog-cc.m4 Normal file
View File

@@ -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)
])

View File

@@ -0,0 +1,8 @@
## $Id$
AC_DEFUN([RTEMS_PROG_CCAS],
[
AC_REQUIRE([RTEMS_PROG_CC])
AC_SUBST(CCAS,["$CC \$(GCCSPECS)"])
AC_SUBST(CCASFLAGS,["-DASM \$(CFLAGS) \$(INCLUDES)"])
])

35
c/src/aclocal/prog-cxx.m4 Normal file
View File

@@ -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
])

View File

@@ -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)
])

41
c/src/aclocal/quoting.m4 Normal file
View File

@@ -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])
])

View File

@@ -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
])

View File

@@ -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])
])

View File

@@ -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

138
c/src/aclocal/target.m4 Normal file
View File

@@ -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
])

View File

@@ -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)
])

2
c/src/aclocal/version.m4 Normal file
View File

@@ -0,0 +1,2 @@
AC_DEFUN([RTEMS_VERSIONING],
m4_define([_RTEMS_VERSION],[ss-20030703]))