forked from Imagelibrary/rtems
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/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
|
||||
|
||||
|
||||
@@ -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,6 +14,11 @@ 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" ;
|
||||
@@ -21,6 +27,7 @@ AC_CACHE_CHECK([whether BSP supports multiprocessing],
|
||||
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
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