Patch rtems-rc-20000627-1 from Ralf Corsepius <corsepiu@faw.uni-ulm.de>

that is part of the multilib/gnu-canonicalization movement:

Changes:
  * New m4-macro: aclocal/multilib.am
  * Suppress multiprocessing if --enable-multilib is given to
    configure

Notes:
  For now this patch only suppresses multiprocessing if
  --enable-multilib is given to configure and should not have any
  other side-effects, ie. it works around a minor issue which prevents
  introduction of multilibs in general.

  The RTEMS_ENABLE_MULTILIB_MASTER macro is the core part to build
  real multilibs, but can not be applied before other multilib related
  issues with RTEMS have been solved. (e.g. sptables.h, bsp_specs,
  Cygnus/Gnu canonicalization, _RTEMS_version, targopts.h, changing
  the installation point/tooldir support, etc.).
This commit is contained in:
Joel Sherrill
2000-06-29 15:29:31 +00:00
parent 50195920e3
commit fe5851ceae
3 changed files with 74 additions and 8 deletions

View File

@@ -29,7 +29,7 @@ ACLOCAL_FILES += aclocal/ar-s.m4 aclocal/bsp-alias.m4 \
aclocal/i386-gas-code16.m4 aclocal/path-ksh.m4 aclocal/path-perl.m4 \
aclocal/prog-cc.m4 aclocal/prog-cxx.m4 aclocal/project-root.m4 \
aclocal/rtems-top.m4 aclocal/sysv-ipc.m4 aclocal/target.m4 \
aclocal/tool-paths.m4 aclocal/tool-prefix.m4
aclocal/tool-paths.m4 aclocal/tool-prefix.m4 aclocal/multilib.m4
noinst_SCRIPTS = bootstrap

View File

@@ -4,6 +4,7 @@ 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
@@ -13,14 +14,20 @@ AC_REQUIRE([RTEMS_BSP_ALIAS])dnl
AC_CACHE_CHECK([whether BSP supports multiprocessing],
rtems_cv_HAS_MP,
[dnl
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
if test x"$multilib" = x"yes"; then
# FIXME: Currently, multilibs and multiprocessing can not be
# build simultaneously
rtems_cv_HAS_MP="disabled"
else
rtems_cv_HAS_MP="no";
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"

59
aclocal/multilib.m4 Normal file
View 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=yes])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}")
])