summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/ChangeLog9
-rw-r--r--c/src/Makefile.am10
-rw-r--r--c/src/acinclude.m4117
-rw-r--r--c/src/configure.ac13
4 files changed, 136 insertions, 13 deletions
diff --git a/c/src/ChangeLog b/c/src/ChangeLog
index 204fa3b9a4..260ba48aa2 100644
--- a/c/src/ChangeLog
+++ b/c/src/ChangeLog
@@ -1,3 +1,12 @@
+2002-07-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * acinclude.m4: New.
+ * Makefile.am: Remove tar-installation.
+ Prepend @exec@ to SUBDIRS.
+ * configure.ac: Switch to AC_CONFIG_SRCDIR([optman]).
+ Add RTEMS_ENABLE_MULTIPROCESSING.
+ Add RTEMS_CONFIG_SUBDIR([exec]...).
+
2002-06-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove librpc.
diff --git a/c/src/Makefile.am b/c/src/Makefile.am
index bd07d90354..1642c633aa 100644
--- a/c/src/Makefile.am
+++ b/c/src/Makefile.am
@@ -4,18 +4,10 @@
ACLOCAL_AMFLAGS = -I ../../aclocal
-SUBDIRS = @subdirs@
+SUBDIRS = @exec@ @subdirs@
# NOTE: The wildcard on the install should pick up everything except
# the tests directory. This significantly minimizes the install size.
-install-data-local:
- $(mkinstalldirs) $(DESTDIR)$(exec_prefix)/@RTEMS_BSP@
- cd $(PROJECT_ROOT)/@RTEMS_BSP@; \
- tar cf - [bilsuM]* | \
- (cd $(DESTDIR)$(exec_prefix)/@RTEMS_BSP@; tar xpBf - );
-
-uninstall-local:
- rm -rf $(DESTDIR)$(exec_prefix)/@RTEMS_BSP@/[bsl]*;
include $(top_srcdir)/../../automake/subdirs.am
include $(top_srcdir)/../../automake/host.am
diff --git a/c/src/acinclude.m4 b/c/src/acinclude.m4
new file mode 100644
index 0000000000..f1c20ed2f8
--- /dev/null
+++ b/c/src/acinclude.m4
@@ -0,0 +1,117 @@
+# $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_CONFIG_SUBDIR],
+[
+AC_CONFIG_COMMANDS_POST(
+[
+ ac_sub_sourcedir=$2
+ ac_sub_builddir=$1
+
+if test "$no_recursion" != yes; then
+
+ # 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=*)
+ ;;
+ --config-cache | -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
+
+ ac_sub_configure_args="$ac_sub_configure_args $3"
+
+ for ac_subdir in : $ac_sub_sourcedir; 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/$ac_subdir || continue
+
+ AC_MSG_NOTICE([configuring in $ac_subdir])
+ case $srcdir in
+ .) ;;
+ *) AS_MKDIR_P(["./$ac_sub_builddir"])
+ if test -d ./$ac_sub_builddir; then :;
+ else
+ AC_MSG_ERROR([cannot create `pwd`/$ac_sub_builddir])
+ fi
+ ;;
+ esac
+
+ ac_popdir=`pwd`
+ cd $ac_sub_builddir
+
+ # A "../" for each directory in /$ac_subdir.
+ ac_dots=`echo $ac_sub_builddir |
+ sed 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g'`
+
+echo "*** dots :$ac_dots"
+echo "*** src :$srcdir"
+ case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_sub_srcdir=$srcdir${ac_subdir} ;;
+ [[\\/]]* | ?:[[\\/]]* ) # Absolute path.
+ ac_sub_srcdir=$srcdir/$ac_subdir ;;
+ *) # Relative path.
+ ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;;
+ esac
+
+echo "*** source:$ac_sub_sourcedir"
+echo "*** build :$ac_sub_builddir"
+echo "*** src :$ac_sub_srcdir"
+echo "*** pwd :"`pwd`
+
+ # 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
+])
+])
diff --git a/c/src/configure.ac b/c/src/configure.ac
index 818da55246..966d1bf6e0 100644
--- a/c/src/configure.ac
+++ b/c/src/configure.ac
@@ -4,7 +4,7 @@
AC_PREREQ(2.52)
AC_INIT([rtems-c-src],[_RTEMS_VERSION],[rtems-bugs@OARcorp.com])
-AC_CONFIG_SRCDIR([exec])
+AC_CONFIG_SRCDIR([optman])
RTEMS_TOP(../..)
AC_CONFIG_AUX_DIR(../..)
@@ -19,6 +19,7 @@ AM_INIT_AUTOMAKE([no-define foreign 1.6])
AM_MAINTAINER_MODE
RTEMS_ENABLE_MULTILIB
+RTEMS_ENABLE_MULTIPROCESSING
RTEMS_ENV_RTEMSBSP
RTEMS_CHECK_CPU
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
@@ -29,9 +30,13 @@ RTEMS_CHECK_NETWORKING(RTEMS_BSP)
AC_CONFIG_SUBDIRS(make)
## Exclude exec from building if multilibs are enabled
-if test x"$multilib" = x"no"; then
-AC_CONFIG_SUBDIRS(exec)
-fi
+AS_IF([test x"$multilib" = x"no"],[
+ RTEMS_CHECK_MULTIPROCESSING
+# RTEMS_CONFIG_SUBDIR([exec],[../../cpukit],[--with-project-root="../../"])
+ RTEMS_CONFIG_SUBDIR([exec],[exec],[--with-project-root="../../"])
+ AC_SUBST([exec],[exec])
+])
+
AC_CONFIG_SUBDIRS(optman)
AC_CONFIG_SUBDIRS(lib/libcpu)
AC_CONFIG_SUBDIRS(lib/libbsp)