forked from Imagelibrary/rtems
2000-09-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* macros: New directory. * macros/bsp-alias.m4: new file. * macros/canonical-host.m4: new file. * macros/canonical-target-name.m4: new file. * macros/canonicalize-tools.m4: new file. * macros/check-bsp-cache.m4: new file. * macros/check-bsps.m4: new file. * macros/check-cpu.m4: new file. * macros/rtems-debug.m4: new file. * macros/check-cxx.m4: new file. * macros/check-itron.m4: new file. * macros/check-multiprocessing.m4: new file. * macros/check-networking.m4: new file. * macros/check-newlib.m4: new file. * macros/check-posix.m4: new file. * macros/check-rdbg.m4: new file. * macros/enable-bare.m4: new file. * macros/enable-cxx.m4: new file. * macros/enable-gcc28.m4: new file. * macros/enable-inlines.m4: new file. * macros/enable-itron.m4: new file. * macros/enable-libcdir.m4: new file. * macros/enable-multiprocessing.m4: new file. * macros/enable-networking.m4: new file. * macros/enable-posix.m4: new file. * macros/enable-rdbg.m4: new file. * macros/enable-rtemsbsp.m4: new file. * macros/enable-tests.m4: new file. * macros/gcc-pipe.m4: new file. * macros/gcc-specs.m4: new file. * macros/i386-gas-code16.m4: new file. * macros/path-ksh.m4: new file. * macros/path-perl.m4: new file. * macros/prog-cc.m4: new file. * macros/prog-cxx.m4: new file. * macros/project-root.m4: new file. * macros/rtems-top.m4: new file. * macros/sysv-ipc.m4: new file. * macros/target.m4: new file. * macros/rtems-test-no-pause.m4: new file. * macros/multilib.m4: new file. * macros/tool-paths.m4: new file. * macros/tool-prefix.m4: new file.
This commit is contained in:
46
ChangeLog
46
ChangeLog
@@ -1,3 +1,49 @@
|
|||||||
|
2000-09-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||||
|
|
||||||
|
* macros: New directory.
|
||||||
|
* macros/bsp-alias.m4: new file.
|
||||||
|
* macros/canonical-host.m4: new file.
|
||||||
|
* macros/canonical-target-name.m4: new file.
|
||||||
|
* macros/canonicalize-tools.m4: new file.
|
||||||
|
* macros/check-bsp-cache.m4: new file.
|
||||||
|
* macros/check-bsps.m4: new file.
|
||||||
|
* macros/check-cpu.m4: new file.
|
||||||
|
* macros/rtems-debug.m4: new file.
|
||||||
|
* macros/check-cxx.m4: new file.
|
||||||
|
* macros/check-itron.m4: new file.
|
||||||
|
* macros/check-multiprocessing.m4: new file.
|
||||||
|
* macros/check-networking.m4: new file.
|
||||||
|
* macros/check-newlib.m4: new file.
|
||||||
|
* macros/check-posix.m4: new file.
|
||||||
|
* macros/check-rdbg.m4: new file.
|
||||||
|
* macros/enable-bare.m4: new file.
|
||||||
|
* macros/enable-cxx.m4: new file.
|
||||||
|
* macros/enable-gcc28.m4: new file.
|
||||||
|
* macros/enable-inlines.m4: new file.
|
||||||
|
* macros/enable-itron.m4: new file.
|
||||||
|
* macros/enable-libcdir.m4: new file.
|
||||||
|
* macros/enable-multiprocessing.m4: new file.
|
||||||
|
* macros/enable-networking.m4: new file.
|
||||||
|
* macros/enable-posix.m4: new file.
|
||||||
|
* macros/enable-rdbg.m4: new file.
|
||||||
|
* macros/enable-rtemsbsp.m4: new file.
|
||||||
|
* macros/enable-tests.m4: new file.
|
||||||
|
* macros/gcc-pipe.m4: new file.
|
||||||
|
* macros/gcc-specs.m4: new file.
|
||||||
|
* macros/i386-gas-code16.m4: new file.
|
||||||
|
* macros/path-ksh.m4: new file.
|
||||||
|
* macros/path-perl.m4: new file.
|
||||||
|
* macros/prog-cc.m4: new file.
|
||||||
|
* macros/prog-cxx.m4: new file.
|
||||||
|
* macros/project-root.m4: new file.
|
||||||
|
* macros/rtems-top.m4: new file.
|
||||||
|
* macros/sysv-ipc.m4: new file.
|
||||||
|
* macros/target.m4: new file.
|
||||||
|
* macros/rtems-test-no-pause.m4: new file.
|
||||||
|
* macros/multilib.m4: new file.
|
||||||
|
* macros/tool-paths.m4: new file.
|
||||||
|
* macros/tool-prefix.m4: new file.
|
||||||
|
|
||||||
2000-09-14 Joel Sherrill <joel@OARcorp.com>
|
2000-09-14 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* Makefile.am: Referenceed aclocal/enable-hwapi.m4 that was removed.
|
* Makefile.am: Referenceed aclocal/enable-hwapi.m4 that was removed.
|
||||||
|
|||||||
33
macros/bsp-alias.m4
Normal file
33
macros/bsp-alias.m4
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
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
|
||||||
|
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
|
||||||
|
*) $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(ifelse([$1],,[$RTEMS_BSP],[$1]),
|
||||||
|
ifelse([$2],,[RTEMS_BSP_FAMILY],[$2]))]
|
||||||
|
)
|
||||||
27
macros/canonical-host.m4
Normal file
27
macros/canonical-host.m4
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_CANONICAL_HOST,
|
||||||
|
[dnl
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
RTEMS_HOST=$host_os
|
||||||
|
changequote(,)dnl
|
||||||
|
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
|
||||||
|
changequote([,])dnl
|
||||||
|
AC_SUBST(RTEMS_HOST)
|
||||||
|
])dnl
|
||||||
40
macros/canonical-target-name.m4
Normal file
40
macros/canonical-target-name.m4
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
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_SYSTEM
|
||||||
|
AC_MSG_CHECKING(rtems target cpu)
|
||||||
|
changequote(,)dnl
|
||||||
|
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
|
||||||
|
changequote([,])dnl
|
||||||
|
AC_SUBST(RTEMS_CPU)
|
||||||
|
AC_MSG_RESULT($RTEMS_CPU)
|
||||||
|
])
|
||||||
75
macros/canonicalize-tools.m4
Normal file
75
macros/canonicalize-tools.m4
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Set target tools
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_HOST_AR,
|
||||||
|
[AC_CHECK_TOOL(AR,ar,no)])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_HOST_RANLIB,
|
||||||
|
[AC_CHECK_TOOL(RANLIB,ranlib,:)])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_GCC_PRINT,
|
||||||
|
[
|
||||||
|
$1=`$CC --print-prog-name=$2`
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_PATH_TOOL,
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([target's $2])
|
||||||
|
AC_CACHE_VAL(ac_cv_path_$1,:)
|
||||||
|
AC_MSG_RESULT([$ac_cv_path_$1])
|
||||||
|
|
||||||
|
if test -n "$ac_cv_path_$1"; then
|
||||||
|
dnl retrieve the value from the cache
|
||||||
|
$1=$ac_cv_path_$1
|
||||||
|
else
|
||||||
|
dnl the cache was not set
|
||||||
|
if test -z "[$]$1" ; then
|
||||||
|
if test "$ac_cv_prog_gcc" = "yes"; then
|
||||||
|
# We are using gcc, ask it about its tool
|
||||||
|
# NOTE: Necessary if gcc was configured to use the target's
|
||||||
|
# native tools or uses prefixes for gnutools (e.g. gas instead of as)
|
||||||
|
RTEMS_GCC_PRINT($1,$2)
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# The user set an environment variable.
|
||||||
|
# Check whether it is an absolute path, otherwise AC_PATH_PROG
|
||||||
|
# will override the environment variable, which isn't what the user
|
||||||
|
# intends
|
||||||
|
AC_MSG_CHECKING([whether environment variable $1 is an absolute path])
|
||||||
|
case "[$]$1" in
|
||||||
|
/*) # valid
|
||||||
|
AC_MSG_RESULT("yes")
|
||||||
|
;;
|
||||||
|
*) # invalid for AC_PATH_PROG
|
||||||
|
AC_MSG_RESULT("no")
|
||||||
|
AC_MSG_ERROR([***]
|
||||||
|
[Environment variable $1 should either]
|
||||||
|
[be unset (preferred) or contain an absolute path])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_PATH_PROG($1,"$program_prefix"$2,$3)
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_CANONICALIZE_TOOLS,
|
||||||
|
[AC_REQUIRE([RTEMS_PROG_CC])dnl
|
||||||
|
|
||||||
|
dnl FIXME: What shall be done if these tools are not available?
|
||||||
|
RTEMS_HOST_AR(AR,ar,no)
|
||||||
|
RTEMS_PATH_TOOL(AS,as,no)
|
||||||
|
RTEMS_PATH_TOOL(LD,ld,no)
|
||||||
|
RTEMS_PATH_TOOL(NM,nm,no)
|
||||||
|
|
||||||
|
dnl special treatment of ranlib
|
||||||
|
RTEMS_HOST_RANLIB
|
||||||
|
|
||||||
|
dnl NOTE: These may not be available if not using gnutools
|
||||||
|
AC_CHECK_TOOL(OBJCOPY,objcopy,no)
|
||||||
|
AC_CHECK_TOOL(SIZE,size,no)
|
||||||
|
AC_CHECK_TOOL(STRIP,strip,:)
|
||||||
|
])
|
||||||
17
macros/check-bsp-cache.m4
Normal file
17
macros/check-bsp-cache.m4
Normal file
@@ -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
|
||||||
50
macros/check-bsps.m4
Normal file
50
macros/check-bsps.m4
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
dnl Report all available bsps for a target,
|
||||||
|
dnl check if a bsp-subdirectory is present for all bsps found
|
||||||
|
dnl
|
||||||
|
dnl RTEMS_CHECK_BSPS(bsp_list)
|
||||||
|
AC_DEFUN(RTEMS_CHECK_BSPS,
|
||||||
|
[
|
||||||
|
AC_REQUIRE([RTEMS_CHECK_CPU])dnl sets RTEMS_CPU, target
|
||||||
|
AC_REQUIRE([RTEMS_TOP])dnl sets RTEMS_TOPdir
|
||||||
|
AC_MSG_CHECKING([for bsps])
|
||||||
|
files=`ls $srcdir/$RTEMS_TOPdir/c/src/lib/libbsp/$RTEMS_CPU`
|
||||||
|
for file in $files; do
|
||||||
|
case $file in
|
||||||
|
ChangeLog*);;
|
||||||
|
shared*);;
|
||||||
|
Makefile*);;
|
||||||
|
READ*);;
|
||||||
|
CVS*);;
|
||||||
|
pxfl*);;
|
||||||
|
ac*);;
|
||||||
|
config*);;
|
||||||
|
# Now account for BSPs with build variants
|
||||||
|
c4xsim) rtems_bsp="$rtems_bsp c4xsim c3xsim";;
|
||||||
|
gen68360) rtems_bsp="$rtems_bsp gen68360 gen68360_040";;
|
||||||
|
p4000) rtems_bsp="$rtems_bsp p4600 p4650";;
|
||||||
|
mvme162) rtems_bsp="$rtems_bsp mvme162 mvme162lx";;
|
||||||
|
mbx8xx) rtems_bsp="$rtems_bsp mbx821_001 mbx860_002";;
|
||||||
|
motorola_powerpc) rtems_bsp="$rtems_bsp mvme2307 mcp750";;
|
||||||
|
pc386) rtems_bsp="$rtems_bsp pc386 pc486 pc586 pc686 pck6";;
|
||||||
|
sim68000) rtems_bsp="$rtems_bsp sim68000 simcpu32";;
|
||||||
|
*) $1="[$]$1 $file";;
|
||||||
|
esac;
|
||||||
|
done
|
||||||
|
dnl ;;
|
||||||
|
dnl esac
|
||||||
|
AC_MSG_RESULT([[$]$1 .. done])
|
||||||
|
])dnl
|
||||||
|
|
||||||
|
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
|
||||||
17
macros/check-cpu.m4
Normal file
17
macros/check-cpu.m4
Normal file
@@ -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
|
||||||
|
|
||||||
26
macros/check-cxx.m4
Normal file
26
macros/check-cxx.m4
Normal 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++$(LIBSUFFIX_VA)'
|
||||||
|
fi
|
||||||
|
AC_SUBST(CPLUS_LD_LIBS)
|
||||||
|
])
|
||||||
37
macros/check-itron.m4
Normal file
37
macros/check-itron.m4
Normal 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
|
||||||
|
])
|
||||||
46
macros/check-multiprocessing.m4
Normal file
46
macros/check-multiprocessing.m4
Normal file
@@ -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
|
||||||
|
])
|
||||||
29
macros/check-networking.m4
Normal file
29
macros/check-networking.m4
Normal 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
|
||||||
|
])
|
||||||
36
macros/check-newlib.m4
Normal file
36
macros/check-newlib.m4
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
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 newlib],
|
||||||
|
rtems_cv_use_newlib,
|
||||||
|
[
|
||||||
|
rtems_save_CC=$CC
|
||||||
|
|
||||||
|
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()
|
||||||
|
if test -z "$rtems_cv_use_newlib"; then
|
||||||
|
AC_TRY_LINK(
|
||||||
|
[extern void rtems_provides_crt0() ;],
|
||||||
|
[rtems_provides_crt0()],
|
||||||
|
rtems_cv_use_newlib="yes",
|
||||||
|
rtems_cv_use_newlib="no")
|
||||||
|
fi
|
||||||
|
CC=$rtems_save_CC])
|
||||||
|
RTEMS_USE_NEWLIB="$rtems_cv_use_newlib"
|
||||||
|
AC_SUBST(RTEMS_USE_NEWLIB)
|
||||||
|
|
||||||
|
if test x"${RTEMS_USE_NEWLIB}" = x"yes";
|
||||||
|
then
|
||||||
|
AC_DEFINE_UNQUOTED(RTEMS_NEWLIB,1,[if using newlib])
|
||||||
|
AC_DEFINE_UNQUOTED(MALLOC_PROVIDED,1,[if malloc is provided])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
37
macros/check-posix.m4
Normal file
37
macros/check-posix.m4
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
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
|
||||||
|
if test x"${HAS_POSIX_API}" = x"yes";
|
||||||
|
then
|
||||||
|
AC_DEFINE_UNQUOTED(RTEMS_POSIX_API,1,[if posix api is supported])
|
||||||
|
fi
|
||||||
|
])
|
||||||
24
macros/check-rdbg.m4
Normal file
24
macros/check-rdbg.m4
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
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" ;
|
||||||
|
else
|
||||||
|
rtems_cv_HAS_RDBG="no";
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
HAS_RDBG="$rtems_cv_HAS_RDBG"
|
||||||
|
AC_SUBST(HAS_RDBG)
|
||||||
|
])
|
||||||
21
macros/enable-bare.m4
Normal file
21
macros/enable-bare.m4
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
AC_DEFUN(RTEMS_ENABLE_BARE,
|
||||||
|
[
|
||||||
|
AC_ARG_ENABLE(bare-cpu-cflags,
|
||||||
|
[ --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,
|
||||||
|
[ --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=""])
|
||||||
|
])
|
||||||
|
|
||||||
13
macros/enable-cxx.m4
Normal file
13
macros/enable-cxx.m4
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_CXX,
|
||||||
|
[
|
||||||
|
AC_ARG_ENABLE(cxx,
|
||||||
|
[ --enable-cxx enable C++ support,]
|
||||||
|
[ and build the rtems++ library],
|
||||||
|
[case "${enableval}" 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])
|
||||||
|
])
|
||||||
12
macros/enable-gcc28.m4
Normal file
12
macros/enable-gcc28.m4
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_GCC28,
|
||||||
|
[
|
||||||
|
AC_ARG_ENABLE(gcc28,
|
||||||
|
[ --enable-gcc28 enable use of gcc 2.8.x features],
|
||||||
|
[case "${enableval}" in
|
||||||
|
yes) RTEMS_USE_GCC272=no ;;
|
||||||
|
no) RTEMS_USE_GCC272=yes ;;
|
||||||
|
*) AC_MSG_ERROR(bad value ${enableval} for gcc-28 option) ;;
|
||||||
|
esac],[RTEMS_USE_GCC272=no])
|
||||||
|
])
|
||||||
15
macros/enable-hwapi.m4
Normal file
15
macros/enable-hwapi.m4
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl FIXME: this needs to be reworked
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_HWAPI,
|
||||||
|
[dnl
|
||||||
|
AC_ARG_ENABLE(hwapi, \
|
||||||
|
[ --enable-hwapi enable hardware API library],
|
||||||
|
[case "${enableval}" in
|
||||||
|
yes) RTEMS_HAS_HWAPI=yes ;;
|
||||||
|
no) RTEMS_HAS_HWAPI=no ;;
|
||||||
|
*) AC_MSG_ERROR(bad value ${enableval} for hwapi option) ;;
|
||||||
|
esac],[RTEMS_HAS_HWAPI=no])
|
||||||
|
AC_SUBST(RTEMS_HAS_HWAPI)dnl
|
||||||
|
])dnl
|
||||||
22
macros/enable-inlines.m4
Normal file
22
macros/enable-inlines.m4
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_INLINES,
|
||||||
|
[AC_ARG_ENABLE(rtems-inlines,
|
||||||
|
[ --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
|
||||||
|
|
||||||
|
|
||||||
|
])
|
||||||
35
macros/enable-itron.m4
Normal file
35
macros/enable-itron.m4
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_ITRON,
|
||||||
|
[
|
||||||
|
## AC_BEFORE([$0], [RTEMS_CHECK_ITRON_API])dnl
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(itron,
|
||||||
|
[ --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])
|
||||||
|
|
||||||
|
changequote(,)dnl
|
||||||
|
case "${target}" 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
|
||||||
|
changequote([,])dnl
|
||||||
|
AC_SUBST(RTEMS_HAS_ITRON_API)
|
||||||
|
])
|
||||||
10
macros/enable-libcdir.m4
Normal file
10
macros/enable-libcdir.m4
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_LIBCDIR,
|
||||||
|
[
|
||||||
|
AC_ARG_ENABLE(libcdir,
|
||||||
|
[ --enable-libcdir=directory set the directory for the C library],
|
||||||
|
[ RTEMS_LIBC_DIR="${enableval}" ; \
|
||||||
|
test -d ${enableval} || AC_MSG_ERROR("$enableval is not a directory" ) ] )
|
||||||
|
AC_SUBST(RTEMS_LIBC_DIR)dnl
|
||||||
|
])
|
||||||
13
macros/enable-multiprocessing.m4
Normal file
13
macros/enable-multiprocessing.m4
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_MULTIPROCESSING,
|
||||||
|
[
|
||||||
|
AC_ARG_ENABLE(multiprocessing,
|
||||||
|
[ --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
|
||||||
|
])
|
||||||
15
macros/enable-networking.m4
Normal file
15
macros/enable-networking.m4
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_NETWORKING,
|
||||||
|
[
|
||||||
|
## AC_BEFORE([$0], [RTEMS_CHECK_NETWORKING])dnl
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(networking,
|
||||||
|
[ --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
|
||||||
|
])
|
||||||
35
macros/enable-posix.m4
Normal file
35
macros/enable-posix.m4
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_POSIX,
|
||||||
|
[
|
||||||
|
## AC_BEFORE([$0], [RTEMS_CHECK_POSIX_API])dnl
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(posix,
|
||||||
|
[ --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])
|
||||||
|
|
||||||
|
changequote(,)dnl
|
||||||
|
case "${target}" 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
|
||||||
|
changequote([,])dnl
|
||||||
|
AC_SUBST(RTEMS_HAS_POSIX_API)
|
||||||
|
])
|
||||||
15
macros/enable-rdbg.m4
Normal file
15
macros/enable-rdbg.m4
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_RDBG,
|
||||||
|
[
|
||||||
|
AC_BEFORE([$0], [RTEMS_CHECK_RDBG])dnl
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(rdbg,
|
||||||
|
[ --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
|
||||||
|
])
|
||||||
58
macros/enable-rtemsbsp.m4
Normal file
58
macros/enable-rtemsbsp.m4
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
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,
|
||||||
|
[ --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=""])
|
||||||
|
])
|
||||||
|
|
||||||
|
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_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_ENABLE_BARE
|
||||||
|
AC_SUBST(BARE_CPU_MODEL)
|
||||||
|
AC_SUBST(BARE_CPU_CFLAGS)
|
||||||
|
|
||||||
|
## RTEMS_ROOT=$RTEMS_TOPdir/'$(top_builddir)'/c/$RTEMS_BSP
|
||||||
|
## AC_SUBST(RTEMS_ROOT)
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENV_RTEMSCPU,
|
||||||
|
[AC_REQUIRE([RTEMS_ENABLE_MULTILIB])
|
||||||
|
|
||||||
|
if test x"$multilib" = x"no"; then
|
||||||
|
RTEMS_ENV_RTEMSBSP
|
||||||
|
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
|
||||||
|
else
|
||||||
|
rtems_cv_RTEMS_BSP="multilib"
|
||||||
|
RTEMS_BSP="$rtems_cv_RTEMS_BSP"
|
||||||
|
AC_SUBST(RTEMS_BSP)
|
||||||
|
## RTEMS_ROOT=$RTEMS_TOPdir/'$(top_builddir)'/c
|
||||||
|
## AC_SUBST(RTEMS_ROOT)
|
||||||
|
fi
|
||||||
|
])
|
||||||
15
macros/enable-tests.m4
Normal file
15
macros/enable-tests.m4
Normal file
@@ -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,
|
||||||
|
[ --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])
|
||||||
|
])
|
||||||
21
macros/gcc-pipe.m4
Normal file
21
macros/gcc-pipe.m4
Normal 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 "$ac_cv_prog_gcc" = "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
|
||||||
|
])
|
||||||
|
])
|
||||||
20
macros/gcc-specs.m4
Normal file
20
macros/gcc-specs.m4
Normal 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 "$ac_cv_prog_gcc" = "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*
|
||||||
|
])])
|
||||||
28
macros/i386-gas-code16.m4
Normal file
28
macros/i386-gas-code16.m4
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
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)
|
||||||
|
AC_DEFINE_UNQUOTED(NEW_GAS,1,[if using 16 bit mode assembler support])
|
||||||
|
])
|
||||||
|
|
||||||
59
macros/multilib.m4
Normal file
59
macros/multilib.m4
Normal file
@@ -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,
|
||||||
|
[ --enable-multilib build many library versions (default)],
|
||||||
|
[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
|
||||||
|
|
||||||
|
test -z "[$]{with_target_subdir}" && with_target_subdir=.
|
||||||
|
|
||||||
|
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(
|
||||||
|
if test -n "$CONFIG_FILES"; do
|
||||||
|
$ac_file" = ifelse([$1],,Makefile,[$1]) \
|
||||||
|
. ${multilib_basedir}/../config-ml.in
|
||||||
|
fi,
|
||||||
|
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}")
|
||||||
|
])
|
||||||
14
macros/path-ksh.m4
Normal file
14
macros/path-ksh.m4
Normal 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
|
||||||
|
])
|
||||||
12
macros/path-perl.m4
Normal file
12
macros/path-perl.m4
Normal 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
|
||||||
|
])
|
||||||
50
macros/prog-cc.m4
Normal file
50
macros/prog-cc.m4
Normal file
@@ -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
|
||||||
|
AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
|
||||||
|
AC_REQUIRE([RTEMS_ENABLE_LIBCDIR])dnl
|
||||||
|
AC_REQUIRE([RTEMS_ENABLE_GCC28])dnl
|
||||||
|
|
||||||
|
AC_CHECK_TOOL(CC,gcc)
|
||||||
|
AC_PROG_CC
|
||||||
|
|
||||||
|
AM_CONDITIONAL(RTEMS_USE_GCC,test x"$ac_cv_prog_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_USE_GCC272" != "yes" ; then
|
||||||
|
if test "$rtems_cv_gcc_specs" = "no"; then
|
||||||
|
AC_MSG_WARN([*** disabling --enable-gcc28])
|
||||||
|
RTEMS_USE_GCC272=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
test "$rtems_cv_gcc_pipe" = "yes" && CC_FOR_TARGET="$CC_FOR_TARGET --pipe"
|
||||||
|
|
||||||
|
## Conditional for automake files
|
||||||
|
AM_CONDITIONAL(RTEMS_USE_GCC272, test x"$RTEMS_USE_GCC272" = x"yes")
|
||||||
|
## Make variable for autoconf fragments (*.cfg)
|
||||||
|
AC_SUBST(RTEMS_USE_GCC272)
|
||||||
|
|
||||||
|
dnl FIXME: HACK for egcs/cygwin mixing '\\' and '/' in gcc -print-*
|
||||||
|
case $host_os in
|
||||||
|
*cygwin*) GCCSED="| sed 's%\\\\%/%g'" ;;
|
||||||
|
*) ;;
|
||||||
|
esac
|
||||||
|
AC_SUBST(GCCSED)
|
||||||
|
])
|
||||||
32
macros/prog-cxx.m4
Normal file
32
macros/prog-cxx.m4
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Check for target g++
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_PROG_CXX,
|
||||||
|
[
|
||||||
|
AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
|
||||||
|
AC_BEFORE([$0], [RTEMS_CANONICALIZE_TOOLS])dnl
|
||||||
|
AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
|
||||||
|
AC_REQUIRE([RTEMS_ENABLE_LIBCDIR])dnl
|
||||||
|
|
||||||
|
dnl Only accept g++
|
||||||
|
dnl NOTE: This might be too restrictive
|
||||||
|
AC_CHECK_TOOL(CXX,g++)
|
||||||
|
AC_PROG_CXX
|
||||||
|
test -z "$CXX" \
|
||||||
|
&& AC_MSG_ERROR([no acceptable c++ found in \$PATH])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_PROG_CXX_FOR_TARGET,
|
||||||
|
[
|
||||||
|
RTEMS_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
|
||||||
|
])
|
||||||
47
macros/project-root.m4
Normal file
47
macros/project-root.m4
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
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])
|
||||||
|
if test "$TARGET_SUBDIR" = "." ; then
|
||||||
|
# Native
|
||||||
|
PROJECT_TOPdir=${RTEMS_TOPdir}/'$(top_builddir)'
|
||||||
|
PROJECT_ROOT=${RTEMS_TOPdir}/'$(top_builddir)';
|
||||||
|
else
|
||||||
|
# FIXME: Moving the build-tree
|
||||||
|
# PROJECT_TOPdir=../${RTEMS_TOPdir}/'$(top_builddir)'
|
||||||
|
# PROJECT_ROOT=${RTEMS_TOPdir}/'$(top_builddir)'
|
||||||
|
|
||||||
|
# FIXME: Old, per-bsp building style
|
||||||
|
PROJECT_TOPdir=../${RTEMS_TOPdir}/'$(top_builddir)'
|
||||||
|
PROJECT_ROOT=../${RTEMS_TOPdir}/'$(top_builddir)'
|
||||||
|
fi
|
||||||
|
AC_SUBST(PROJECT_ROOT)
|
||||||
|
AC_SUBST(PROJECT_TOPdir)
|
||||||
|
|
||||||
|
# FIXME: This should not be here
|
||||||
|
RTEMS_ROOT=$RTEMS_TOPdir/'$(top_builddir)'/c/$RTEMS_BSP
|
||||||
|
AC_SUBST(RTEMS_ROOT)
|
||||||
|
|
||||||
|
PACKHEX="\$(PROJECT_TOPdir)/tools/build/packhex"
|
||||||
|
AC_SUBST(PACKHEX)
|
||||||
|
|
||||||
|
PROJECT_INCLUDE="\$(PROJECT_ROOT)/$RTEMS_BSP/lib/include"
|
||||||
|
AC_SUBST(PROJECT_INCLUDE)
|
||||||
|
|
||||||
|
PROJECT_RELEASE="\$(PROJECT_ROOT)/$RTEMS_BSP"
|
||||||
|
AC_SUBST(PROJECT_RELEASE)
|
||||||
|
])
|
||||||
|
|
||||||
21
macros/rtems-debug.m4
Normal file
21
macros/rtems-debug.m4
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
## $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_ENABLE_RTEMS_DEBUG,
|
||||||
|
[
|
||||||
|
AC_ARG_ENABLE(rtems-debug,
|
||||||
|
[ --disable-rtems-debug disable RTEMS_DEBUG],
|
||||||
|
[case "${enableval}" in
|
||||||
|
yes) RTEMS_DEBUG=yes ;;
|
||||||
|
no) RTEMS_DEBUG=no ;;
|
||||||
|
*) AC_MSG_ERROR([bad value ${enableval} for RTEMS_DEBUG]) ;;
|
||||||
|
esac],[RTEMS_DEBUG=no])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_CHECK_RTEMS_DEBUG,
|
||||||
|
[AC_REQUIRE([RTEMS_ENABLE_RTEMS_DEBUG])
|
||||||
|
if test x"${RTEMS_DEBUG}" = x"yes";
|
||||||
|
then
|
||||||
|
AC_DEFINE_UNQUOTED(RTEMS_DEBUG,1,[if RTEMS_DEBUG is enabled])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
18
macros/rtems-test-no-pause.m4
Normal file
18
macros/rtems-test-no-pause.m4
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
AC_DEFUN(RTEMS_ENABLE_RTEMS_TEST_NO_PAUSE,
|
||||||
|
[AC_ARG_ENABLE(test-no-pause,
|
||||||
|
[ --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
|
||||||
|
])
|
||||||
|
|
||||||
44
macros/rtems-top.m4
Normal file
44
macros/rtems-top.m4
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
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_CHECK_PROGS(MAKE, gmake make)
|
||||||
|
AC_BEFORE([$0], [AC_CONFIG_AUX_DIR])dnl
|
||||||
|
AC_BEFORE([$0], [AM_INIT_AUTOMAKE])dnl
|
||||||
|
|
||||||
|
## HACK to allow gnu-make conditionals in automake-Makefiles.
|
||||||
|
ENDIF=endif
|
||||||
|
AC_SUBST(ENDIF)
|
||||||
|
|
||||||
|
## HACK to destinguish between using GNU and RTEMS canonicalization
|
||||||
|
AM_CONDITIONAL(RTEMS_CANONICALIZATION,test "x" = "y")
|
||||||
|
|
||||||
|
AC_ARG_WITH(target-subdir,
|
||||||
|
[ --with-target-subdir=DIR],
|
||||||
|
TARGET_SUBDIR="$withval",
|
||||||
|
TARGET_SUBDIR=".")
|
||||||
|
|
||||||
|
RTEMS_TOPdir="$1";
|
||||||
|
AC_SUBST(RTEMS_TOPdir)
|
||||||
|
|
||||||
|
dnl Determine RTEMS Version string from the VERSION file
|
||||||
|
dnl Hopefully, Joel never changes its format ;-
|
||||||
|
AC_MSG_CHECKING([for RTEMS Version])
|
||||||
|
if test -r "${srcdir}/${RTEMS_TOPdir}/VERSION"; then
|
||||||
|
changequote(,)dnl
|
||||||
|
RTEMS_VERSION=`grep 'RTEMS Version' ${srcdir}/${RTEMS_TOPdir}/VERSION | \
|
||||||
|
sed -e 's%RTEMS[ ]*Version[ ]*\(.*\)[ ]*%\1%g'`
|
||||||
|
changequote([,])dnl
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR(Unable to find ${RTEMS_TOPdir}/VERSION)
|
||||||
|
fi
|
||||||
|
if test -z "$RTEMS_VERSION"; then
|
||||||
|
AC_MSG_ERROR(Unable to determine version)
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT($RTEMS_VERSION)
|
||||||
|
])dnl
|
||||||
133
macros/sysv-ipc.m4
Normal file
133
macros/sysv-ipc.m4
Normal file
@@ -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 $RTEMS_HOST defines union semun],
|
||||||
|
rtems_cv_HAS_UNION_SEMUN,
|
||||||
|
[AC_TRY_COMPILE([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/sem.h>],
|
||||||
|
[union semun arg ;],
|
||||||
|
[rtems_cv_HAS_UNION_SEMUN="yes"],
|
||||||
|
[rtems_cv_HAS_UNION_SEMUN="no"])
|
||||||
|
|
||||||
|
if test "$rtems_cv_HAS_UNION_SEMUN" = "yes"; then
|
||||||
|
AC_DEFINE(HAS_UNION_SEMUN)
|
||||||
|
fi])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_SYSV_SEM,
|
||||||
|
[AC_REQUIRE([AC_PROG_CC])
|
||||||
|
AC_REQUIRE([RTEMS_CANONICAL_HOST])
|
||||||
|
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V semaphores,
|
||||||
|
rtems_cv_sysv_sem,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN(
|
||||||
|
[
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/sem.h>
|
||||||
|
#if !HAS_UNION_SEMUN
|
||||||
|
union semun {
|
||||||
|
int val;
|
||||||
|
struct semid_ds *buf;
|
||||||
|
ushort *array;
|
||||||
|
} ;
|
||||||
|
#endif
|
||||||
|
int main () {
|
||||||
|
union semun arg ;
|
||||||
|
|
||||||
|
int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
|
||||||
|
if (id == -1)
|
||||||
|
exit(1);
|
||||||
|
arg.val = 0; /* avoid implicit type cast to union */
|
||||||
|
if (semctl(id, 0, IPC_RMID, arg) == -1)
|
||||||
|
exit(1);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rtems_cv_sysv_sem="yes", rtems_cv_sysv_sem="no", :)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_SYSV_SHM,
|
||||||
|
[AC_REQUIRE([AC_PROG_CC])
|
||||||
|
AC_REQUIRE([RTEMS_CANONICAL_HOST])
|
||||||
|
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V shared memory,
|
||||||
|
rtems_cv_sysv_shm,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/shm.h>
|
||||||
|
int main () {
|
||||||
|
int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400);
|
||||||
|
if (id == -1)
|
||||||
|
exit(1);
|
||||||
|
if (shmctl(id, IPC_RMID, 0) == -1)
|
||||||
|
exit(1);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rtems_cv_sysv_shm="yes", rtems_cv_sysv_shm="no", :)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_SYSV_MSG,
|
||||||
|
[AC_REQUIRE([AC_PROG_CC])
|
||||||
|
AC_REQUIRE([RTEMS_CANONICAL_HOST])
|
||||||
|
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V messages,
|
||||||
|
rtems_cv_sysv_msg,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/msg.h>
|
||||||
|
int main () {
|
||||||
|
int id=msgget(IPC_PRIVATE,IPC_CREAT|0400);
|
||||||
|
if (id == -1)
|
||||||
|
exit(1);
|
||||||
|
if (msgctl(id, IPC_RMID, 0) == -1)
|
||||||
|
exit(1);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rtems_cv_sysv_msg="yes", rtems_cv_sysv_msg="no", :)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_CHECK_SYSV_UNIX,
|
||||||
|
[AC_REQUIRE([RTEMS_CANONICAL_HOST])
|
||||||
|
if test "$RTEMS_CPU" = "unix" ; then
|
||||||
|
RTEMS_UNION_SEMUN
|
||||||
|
RTEMS_SYSV_SEM
|
||||||
|
if test "$rtems_cv_sysv_sem" != "yes" ; then
|
||||||
|
AC_MSG_ERROR([System V semaphores don't work, required by simulator])
|
||||||
|
fi
|
||||||
|
RTEMS_SYSV_SHM
|
||||||
|
if test "$rtems_cv_sysv_shm" != "yes" ; then
|
||||||
|
AC_MSG_ERROR([System V shared memory doesn't work, required by simulator])
|
||||||
|
fi
|
||||||
|
RTEMS_SYSV_MSG
|
||||||
|
if test "$rtems_cv_sysv_msg" != "yes" ; then
|
||||||
|
AC_MSG_ERROR([System V messages don't work, required by simulator])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
127
macros/target.m4
Normal file
127
macros/target.m4
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
dnl $Id$
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_CONFIG_SUBDIRS,
|
||||||
|
[
|
||||||
|
define([RTEMS_TGT_SUBDIRS],
|
||||||
|
ifdef([RTEMS_TGT_SUBDIRS], [RTEMS_TGT_SUBDIRS ],)[$1])dnl
|
||||||
|
target_subdirs="RTEMS_TGT_SUBDIRS"
|
||||||
|
AC_SUBST(target_subdirs)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Derived from automake-1.4's AC_OUTPUT_SUBDIRS
|
||||||
|
AC_DEFUN(RTEMS_OUTPUT_SUBDIRS,
|
||||||
|
[
|
||||||
|
if test "$no_recursion" != yes; then
|
||||||
|
if test $target_alias != $host_alias; then
|
||||||
|
target_subdir="$target_alias"
|
||||||
|
else
|
||||||
|
target_subdir="."
|
||||||
|
fi
|
||||||
|
# Remove --cache-file and --srcdir arguments so they do not pile up.
|
||||||
|
ac_sub_configure_args=
|
||||||
|
ac_prev=
|
||||||
|
for ac_arg in $ac_configure_args; 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=*)
|
||||||
|
;;
|
||||||
|
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
|
||||||
|
ac_prev=srcdir ;;
|
||||||
|
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
|
||||||
|
;;
|
||||||
|
*) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
test -d $target_subdir || mkdir $target_subdir
|
||||||
|
for ac_config_dir in $1; do
|
||||||
|
|
||||||
|
# Do not complain, so a configure script can configure whichever
|
||||||
|
# parts of a large source tree are present.
|
||||||
|
if test ! -d $srcdir/$ac_config_dir; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo configuring in $target_subdir/$ac_config_dir
|
||||||
|
|
||||||
|
case "$srcdir" in
|
||||||
|
## .) ;;
|
||||||
|
*)
|
||||||
|
if test -d $target_subdir/$ac_config_dir || mkdir $target_subdir/$ac_config_dir; then :;
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR(can not create `pwd`/$target_subdir/$ac_config_dir)
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
ac_popdir=`pwd`
|
||||||
|
cd $target_subdir/$ac_config_dir
|
||||||
|
|
||||||
|
changequote(, )dnl
|
||||||
|
# A "../" for each directory in /$ac_config_dir.
|
||||||
|
ac_dots=`echo $target_subdir/$ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
|
||||||
|
changequote([, ])dnl
|
||||||
|
|
||||||
|
case "$srcdir" in
|
||||||
|
## .) # No --srcdir option. We are building in place.
|
||||||
|
## ac_sub_srcdir=$srcdir ;;
|
||||||
|
/*) # Absolute path.
|
||||||
|
ac_sub_srcdir=$srcdir/$ac_config_dir ;;
|
||||||
|
*) # Relative path.
|
||||||
|
ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Check for guested configure; otherwise get Cygnus style configure.
|
||||||
|
if test -f $ac_sub_srcdir/configure; then
|
||||||
|
ac_sub_configure=$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_config_dir)
|
||||||
|
ac_sub_configure=
|
||||||
|
fi
|
||||||
|
|
||||||
|
# The recursion is here.
|
||||||
|
if test -n "$ac_sub_configure"; then
|
||||||
|
|
||||||
|
# Make the cache file name correct relative to the subdirectory.
|
||||||
|
if test "$target_alias" != "$host_alias"; then
|
||||||
|
ac_sub_cache_file=$cache_file
|
||||||
|
else
|
||||||
|
case "$cache_file" in
|
||||||
|
/*) ac_sub_cache_file=$cache_file ;;
|
||||||
|
*) # Relative path.
|
||||||
|
ac_sub_cache_file="$ac_dots$cache_file" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
ifdef([AC_PROVIDE_AC_PROG_INSTALL],
|
||||||
|
[ case "$ac_given_INSTALL" in
|
||||||
|
changequote(, )dnl
|
||||||
|
[/$]*) INSTALL="$ac_given_INSTALL" ;;
|
||||||
|
changequote([, ])dnl
|
||||||
|
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
|
||||||
|
esac
|
||||||
|
])dnl
|
||||||
|
|
||||||
|
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 $ac_config_dir)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $ac_popdir
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
])
|
||||||
23
macros/tool-paths.m4
Normal file
23
macros/tool-paths.m4
Normal 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)
|
||||||
|
])
|
||||||
22
macros/tool-prefix.m4
Normal file
22
macros/tool-prefix.m4
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Set program_prefix
|
||||||
|
dnl
|
||||||
|
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl Extracted from configure
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_TOOL_PREFIX,
|
||||||
|
[AC_REQUIRE([AC_CANONICAL_TARGET])dnl
|
||||||
|
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||||
|
|
||||||
|
changequote(,)dnl
|
||||||
|
if [ "${program_prefix}" = "NONE" ] ; then
|
||||||
|
if [ "${target}" = "${host}" ] ; then
|
||||||
|
program_prefix=
|
||||||
|
else
|
||||||
|
program_prefix=${target}-
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
changequote([,])dnl
|
||||||
|
])
|
||||||
Reference in New Issue
Block a user