summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-10-24 22:06:58 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-10-24 22:06:58 +0000
commit4a2faa7c451e22fa326f3debe4441223fe911005 (patch)
treed738618d90cc11631ffedb6d3c6dee3d60f98a7d /c/src
parent2000-10-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-4a2faa7c451e22fa326f3debe4441223fe911005.tar.bz2
2000-10-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* 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.
Diffstat (limited to 'c/src')
-rw-r--r--c/src/ChangeLog9
-rw-r--r--c/src/Makefile.am2
-rw-r--r--c/src/acinclude.m4121
-rw-r--r--c/src/configure.in21
4 files changed, 147 insertions, 6 deletions
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 <corsepiu@faw.uni-ulm.de>
+
+ * 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 <joel@OARcorp.com>
* 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)