mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-06 07:33:17 +00:00
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:
@@ -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/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/prog-cc.m4 aclocal/prog-cxx.m4 aclocal/project-root.m4 \
|
||||||
aclocal/rtems-top.m4 aclocal/sysv-ipc.m4 aclocal/target.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
|
noinst_SCRIPTS = bootstrap
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ dnl
|
|||||||
|
|
||||||
AC_DEFUN(RTEMS_CHECK_MULTIPROCESSING,
|
AC_DEFUN(RTEMS_CHECK_MULTIPROCESSING,
|
||||||
[dnl
|
[dnl
|
||||||
|
AC_REQUIRE([RTEMS_ENABLE_MULTILIB])dnl
|
||||||
AC_REQUIRE([RTEMS_ENV_RTEMSBSP])dnl
|
AC_REQUIRE([RTEMS_ENV_RTEMSBSP])dnl
|
||||||
AC_REQUIRE([RTEMS_TOP])dnl
|
AC_REQUIRE([RTEMS_TOP])dnl
|
||||||
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
|
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
|
||||||
@@ -13,6 +14,11 @@ AC_REQUIRE([RTEMS_BSP_ALIAS])dnl
|
|||||||
AC_CACHE_CHECK([whether BSP supports multiprocessing],
|
AC_CACHE_CHECK([whether BSP supports multiprocessing],
|
||||||
rtems_cv_HAS_MP,
|
rtems_cv_HAS_MP,
|
||||||
[dnl
|
[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 -d "$srcdir/${RTEMS_TOPdir}/c/src/lib/libbsp/${RTEMS_CPU}/${RTEMS_BSP_FAMILY}/shmsupp"; then
|
||||||
if test "$RTEMS_HAS_MULTIPROCESSING" = "yes"; then
|
if test "$RTEMS_HAS_MULTIPROCESSING" = "yes"; then
|
||||||
rtems_cv_HAS_MP="yes" ;
|
rtems_cv_HAS_MP="yes" ;
|
||||||
@@ -21,6 +27,7 @@ AC_CACHE_CHECK([whether BSP supports multiprocessing],
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
rtems_cv_HAS_MP="no";
|
rtems_cv_HAS_MP="no";
|
||||||
|
fi
|
||||||
fi])
|
fi])
|
||||||
if test "$rtems_cv_HAS_MP" = "yes"; then
|
if test "$rtems_cv_HAS_MP" = "yes"; then
|
||||||
HAS_MP="yes"
|
HAS_MP="yes"
|
||||||
|
|||||||
59
aclocal/multilib.m4
Normal file
59
aclocal/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=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}")
|
||||||
|
])
|
||||||
Reference in New Issue
Block a user