From 4a2faa7c451e22fa326f3debe4441223fe911005 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 24 Oct 2000 22:06:58 +0000 Subject: 2000-10-24 Ralf Corsepius * Makefile.am, acinclude.m4, configure.in: Introduce GNU canonicalization to libfs/. The approach is currently a bit of a hack as GNU canonicalization does not support the per-BSP build some of the other directories require. As more of the tree is converted, this will become less of an issue. --- c/src/ChangeLog | 9 ++++ c/src/Makefile.am | 2 +- c/src/acinclude.m4 | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ c/src/configure.in | 21 +++++++--- 4 files changed, 147 insertions(+), 6 deletions(-) create mode 100644 c/src/acinclude.m4 (limited to 'c') diff --git a/c/src/ChangeLog b/c/src/ChangeLog index c5e01724f6..fc0583054a 100644 --- a/c/src/ChangeLog +++ b/c/src/ChangeLog @@ -1,3 +1,12 @@ +2000-10-24 Ralf Corsepius + + * Makefile.am, acinclude.m4, configure.in: Introduce GNU + canonicalization to libfs/. + The approach is currently a bit of a hack as GNU canonicalization + does not support the per-BSP build some of the other directories + require. As more of the tree is converted, this will become less + of an issue. + 2000-10-18 Joel Sherrill * wrapup/Makefile.am: Added libfs. diff --git a/c/src/Makefile.am b/c/src/Makefile.am index 7dd388782c..32c7bd934c 100644 --- a/c/src/Makefile.am +++ b/c/src/Makefile.am @@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = foreign 1.4 ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal -SUBDIRS = @cfg_subdirs@ wrapup tests +SUBDIRS = @cfg_subdirs@ @hst_subdirs@ @cfg_subdirs2@ wrapup tests rtems_bspdir = $(prefix)/@RTEMS_BSP@ diff --git a/c/src/acinclude.m4 b/c/src/acinclude.m4 new file mode 100644 index 0000000000..93cd0358f6 --- /dev/null +++ b/c/src/acinclude.m4 @@ -0,0 +1,121 @@ +dnl $Id$ + +AC_DEFUN(RTEMS_CONFIG_HOST_SUBDIRS, +[ +define([RTEMS_HOST_SUBDIRS], +ifdef([RTEMS_HOST_SUBDIRS], [RTEMS_HOST_SUBDIRS ],)[$1])dnl +host_subdirs="RTEMS_HOST_SUBDIRS" +AC_SUBST(host_subdirs) +]) + +dnl Derived from automake-1.4's AC_OUTPUT_SUBDIRS +AC_DEFUN(RTEMS_OUTPUT_HOST_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=*) + ;; + --target*) ;; + --build*) ;; + --host*) ;; + *) 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 $ac_config_dir + + case "$srcdir" in +## .) ;; + *) + if test -d $ac_config_dir || mkdir $ac_config_dir; then :; + else + AC_MSG_ERROR(can not create `pwd`/$ac_config_dir) + fi + ;; + esac + + ac_popdir=`pwd` + cd $ac_config_dir + +changequote(, )dnl + # A "../" for each directory in /$ac_config_dir. + ac_dots=`echo $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 + ac_sub_cache_file=./config.cache +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 --host=$target_alias --build=$build_alias \ + --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 +]) diff --git a/c/src/configure.in b/c/src/configure.in index 25490d651a..12448f1a79 100644 --- a/c/src/configure.in +++ b/c/src/configure.in @@ -26,38 +26,47 @@ RTEMS_CHECK_NETWORKING(RTEMS_BSP) ## Note: the order of the directories below is essential cfg_subdirs="make" + ## Exclude exec from building if multilibs are enabled if test x"$multilib" = x"no"; then cfg_subdirs="$cfg_subdirs exec" fi cfg_subdirs="$cfg_subdirs lib" cfg_subdirs="$cfg_subdirs lib/libcpu lib/libbsp" -cfg_subdirs="$cfg_subdirs libfs libmisc" +hst_subdirs="libfs" +cfg_subdirs2="libmisc" if test "$RTEMS_CPU" != "unix"; then ## HACK: Suppress libchip for unix -cfg_subdirs="$cfg_subdirs libchip" +cfg_subdirs2="$cfg_subdirs2 libchip" fi if test "$HAS_NETWORKING" = "yes"; then - cfg_subdirs="$cfg_subdirs libnetworking librpc" + cfg_subdirs2="$cfg_subdirs2 libnetworking librpc" if test "$RTEMS_HAS_RDBG" = "yes"; then RTEMS_CHECK_RDBG(RTEMS_BSP) fi fi if test "$HAS_RDBG" = "yes"; then - cfg_subdirs="$cfg_subdirs librdbg" + cfg_subdirs2="$cfg_subdirs2 librdbg" fi AM_CONDITIONAL(HAS_NETWORKING, test "$HAS_NETWORKING" = "yes" ) AM_CONDITIONAL(HAS_RDBG, test "$HAS_RDBG" = "yes" ) if test "$RTEMS_HAS_CPLUSPLUS" = "yes"; then - cfg_subdirs="$cfg_subdirs librtems++"; + cfg_subdirs2="$cfg_subdirs2 librtems++"; fi +RTEMS_CONFIG_HOST_SUBDIRS($hst_subdirs) +AC_SUBST(hst_subdirs) + AC_CONFIG_SUBDIRS($cfg_subdirs) AC_SUBST(cfg_subdirs) + +AC_CONFIG_SUBDIRS($cfg_subdirs2) +AC_SUBST(cfg_subdirs2) + AC_CONFIG_SUBDIRS(tests) RTEMS_PROJECT_ROOT @@ -70,3 +79,5 @@ AC_OUTPUT( Makefile wrapup/Makefile ) + +RTEMS_OUTPUT_HOST_SUBDIRS(RTEMS_HOST_SUBDIRS) -- cgit v1.2.3