summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac125
1 files changed, 125 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000000..0140082bcb
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,125 @@
+## Process this file with autoconf to produce a configure script.
+##
+## $Id$
+
+AC_PREREQ(2.52)
+AC_INIT
+AC_CONFIG_SRCDIR([c])
+RTEMS_TOP(.)
+
+# Abort if trying to build inside of the source tree.
+if test -f VERSION; then
+ rm -f config.cache config.log confdefs.h
+ AC_MSG_ERROR([***]
+ [Attempt to build inside of the source tree]
+ [Please use a separate build directory, instead] )
+fi
+
+AC_CANONICAL_TARGET([])
+AM_INIT_AUTOMAKE(rtems,$RTEMS_VERSION,no)
+AM_MAINTAINER_MODE
+
+## These option are only in here to let --help report all supported
+## options.
+RTEMS_ENABLE_MULTIPROCESSING
+RTEMS_ENABLE_POSIX
+RTEMS_ENABLE_ITRON
+RTEMS_ENABLE_NETWORKING
+RTEMS_ENABLE_RDBG
+RTEMS_ENABLE_INLINES
+RTEMS_ENABLE_CXX
+RTEMS_ENABLE_GCC28
+RTEMS_ENABLE_LIBCDIR
+RTEMS_ENABLE_TESTS
+RTEMS_ENABLE_RTEMS_DEBUG
+RTEMS_ENABLE_RTEMSBSP(dummy)
+
+if test $host != $build; then
+AC_MSG_WARN([]
+[*** *** *** WARNING *** *** ***]
+[]
+[Entering BEYOND BLEEDING EDGE TERRITORY]
+[]
+[You are trying to build RTEMS Canadian cross]
+[If you really mean it, feel free to continue ...]
+[*** *** *** *** *** *** *** ***])
+fi
+
+## NOTES:
+## The tools/*-directories situation is unclear
+## * tools/build are host-native tools to be installed on the host.
+## * tools/cpu are host-native or host-cross-target-tools
+## * tools/update are build-host-native tools
+
+# these tools are built for the build environment
+#
+build_tools="tools/update"
+
+# these libraries are built for the host environment
+#
+host_libs=""
+
+# these tools are built for the host environment
+#
+host_tools="tools/build tools/cpu"
+
+# these libraries are built for the target environment, and are built after
+# the host libraries and the host tools (which may be a cross compiler)
+#
+target_libs="c"
+
+# these tools are built using the target libs, and are intended to run only
+# in the target environment
+#
+target_tools=""
+
+## All tools belong in one of the five categories, and are assigned above.
+## ${host_configdirs} is directories we build using the host tools.
+## ${target_configdirs} is directories we build using the target tools.
+#
+host_configdirs="${host_libs} ${host_tools}"
+AC_SUBST(host_configdirs)
+
+target_configdirs="${target_libs} ${target_tools}"
+AC_SUBST(target_configdirs)
+
+RTEMS_TARGET_CONFIG_PREPARE
+target_subdir=${target_alias}
+
+RTEMS_HOST_CONFIG_PREPARE
+host_subdir=${host_alias}
+
+if test $build = $host;
+then
+ BUILD_SUBDIRS="$build_tools $host_configdirs"
+
+ if test $build = $target;
+ then
+ BUILD_SUBDIRS="$BUILD_SUBDIRS $target_configdirs";
+ else
+ TARGET_SUBDIRS=`echo "$target_configdirs" | \
+ sed -e "s%\([[^ ]][[^ ]]*\)%$target_alias/\1%g"`
+ fi
+else
+## If building Canadian cross, disable the target directories
+ target_configdirs=""
+ BUILD_SUBDIRS="$build_tools"
+ TARGET_SUBDIRS=`echo "$host_configdirs" | \
+ sed -e "s%\([[^ ]][[^ ]]*\)%$host_alias/\1%g"`
+fi
+
+AC_CONFIG_SUBDIRS($BUILD_SUBDIRS)
+AC_SUBST(TARGET_SUBDIRS)
+AC_SUBST(BUILD_SUBDIRS)
+
+AC_CONFIG_FILES([Makefile
+tools/Makefile
+make/Makefile
+make/custom/Makefile
+make/Templates/Makefile
+make/compilers/Makefile
+doc/Makefile])
+AC_OUTPUT
+
+RTEMS_TARGET_CONFIG_SUBDIRS
+RTEMS_HOST_CONFIG_SUBDIRS