summaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in213
1 files changed, 47 insertions, 166 deletions
diff --git a/configure.in b/configure.in
index 2667ae2139..ec66962e03 100644
--- a/configure.in
+++ b/configure.in
@@ -2,102 +2,27 @@ dnl Process this file with autoconf to produce a configure script.
dnl
dnl $Id$
-AC_PREREQ(2.12)
+AC_PREREQ(2.13)
AC_INIT(README)
RTEMS_TOP(.)
dnl Checks for programs.
AC_PROG_MAKE_SET
AC_CANONICAL_SYSTEM
+
AC_ARG_WITH(cross-host,[ --with-cross-host=HOST host (cygnus)], \
host=$withval)
-AC_ARG_ENABLE(gmake-print-directory, \
-[ --enable-gmake-print-directory enable GNU Make's print directory], \
-[case "${enableval}" in
- yes) RTEMS_USE_OWN_PDIR=no ;;
- no) RTEMS_USE_OWN_PDIR=yes ;;
- *) AC_MSG_ERROR(bad value ${enableval} for gmake-print-directory option) ;;
-esac],[RTEMS_USE_OWN_PDIR=yes])
-
-AC_ARG_ENABLE(multiprocessing, \
-[ --enable-multiprocessing enable multiprocessing interface], \
-[case "${enableval}" in
- yes) RTEMS_HAS_MULTIPROCESSING=yes ;;
- no) RTEMS_HAS_MULTIPROCESSING=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for enable-multiprocessing option) ;;
-esac],[RTEMS_HAS_MULTIPROCESSING=no])
-
-AC_ARG_ENABLE(posix, \
-[ --enable-posix enable posix interface], \
-[case "${enableval}" in
- yes) RTEMS_HAS_POSIX_API=yes ;;
- no) RTEMS_HAS_POSIX_API=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for enable-posix option) ;;
-esac],[RTEMS_HAS_POSIX_API=yes])
-
-AC_ARG_ENABLE(networking, \
-[ --enable-networking enable TCP/IP stack], \
-[case "${enableval}" in
- yes) RTEMS_HAS_NETWORKING=yes ;;
- no) RTEMS_HAS_NETWORKING=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for enable-networking option) ;;
-esac],[RTEMS_HAS_NETWORKING=yes])
-
-AC_ARG_ENABLE(rdbg, \
-[ --enable-rdbg enable remote debugger], \
-[case "${enableval}" in
- yes) RTEMS_HAS_RDBG=yes ;;
- no) RTEMS_HAS_RDBG=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for enable-rdbg option) ;;
-esac],[RTEMS_HAS_RDBG=no])
-
-AC_ARG_ENABLE(rtems-inlines, \
-[ --enable-rtems-inlines enable RTEMS inline functions, the default (disable to use macros)], \
-[case "${enableval}" in
- yes) RTEMS_USE_MACROS=no ;;
- no) RTEMS_USE_MACROS=yes ;;
- *) AC_MSG_ERROR(bad value ${enableval} for disable-rtems-inlines option) ;;
-esac],[RTEMS_USE_MACROS=no])
-
-AC_ARG_ENABLE(cxx, \
-[ --enable-cxx enable C++ support, and build the rtems++ library], \
-[case "${enableval}" in
- yes) RTEMS_HAS_CPLUSPLUS=yes ;;
- no) RTEMS_HAS_CPLUSPLUS=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for enable-cxx option) ;;
-esac], [RTEMS_HAS_CPLUSPLUS=no])
-
-AC_ARG_ENABLE(gcc28, \
-[ --enable-gcc28 enable use of gcc 2.8.x features], \
-[case "${enableval}" in
- yes) RTEMS_USE_GCC272=no ;;
- no) RTEMS_USE_GCC272=yes ;;
- *) AC_MSG_ERROR(bad value ${enableval} for gcc-28 option) ;;
-esac],[RTEMS_USE_GCC272=no])
-
-AC_ARG_ENABLE(libcdir, \
-[ --enable-libcdir=directory set the directory for the C library], \
-[ RTEMS_LIBC_DIR="${enableval}" ; \
-test -d ${enableval} || AC_MSG_ERROR("$enableval is not a directory" ) ] )
-
-AC_ARG_ENABLE(bare-cpu-cflags,
-[ --enable-bare-cpu-cflags \
- specify a particular cpu cflag (bare bsp specific)],
-[case "${enableval}" in
- no) BARE_CPU_CFLAGS="" ;;
- *) BARE_CPU_CFLAGS="${enableval}" ;;
-esac],
-[BARE_CPU_CFLAGS=""])
-
-AC_ARG_ENABLE(bare-cpu-model,
-[ --enable-bare-cpu-model \
- specify a particular cpu model (bare bsp specific)],
-[case "${enableval}" in
- no) BARE_CPU_MODEL="" ;;
- *) BARE_CPU_MODEL="${enableval}" ;;
-esac],
-[BARE_CPU_MODEL=""])
+RTEMS_ENABLE_GMAKE_PRINT
+RTEMS_ENABLE_MULTIPROCESSING
+RTEMS_ENABLE_POSIX
+RTEMS_ENABLE_NETWORKING
+RTEMS_ENABLE_RDBG
+RTEMS_ENABLE_INLINES
+RTEMS_ENABLE_CXX
+RTEMS_ENABLE_GCC28
+RTEMS_ENABLE_LIBCDIR
+RTEMS_ENABLE_BARE
RTEMS_PREFIX=${target_cpu}-${target_vendor}
@@ -115,6 +40,11 @@ AC_PROG_INSTALL
RTEMS_PATH_PERL
dnl check mkdir behaviour, try to get mkdir -p -m 0755
+dnl NOTE: This is considered obsolete
+dnl MKDIR is not used anywhere in the source tree anymore.
+dnl In Makefile.ins/Makefile.ams, use
+dnl "mkinstalldirs" for recursive mkdir and
+dnl "mkdir" for non-recursive mkdir, instead
RTEMS_PATH_MKDIR
RTEMS_PROG_MKDIR_M
RTEMS_PROG_MKDIR_P
@@ -150,53 +80,26 @@ dnl a BSP library would be used to link an application.
RTEMS_HOST=$host_os
RTEMS_CANONICAL_TARGET_CPU
+RTEMS_CHECK_CPU
+RTEMS_CANONICAL_HOST
changequote(,)dnl
case "${target}" in
- # hpux unix port should go here
i[3456]86-go32-rtems*)
- rtems_bsp="go32 go32_p5"
- skip_startfiles="yes"
- RTEMS_HAS_POSIX_API=no
- ;;
- i[3456]86-pc-linux*) # unix "simulator" port
- RTEMS_HOST=Linux
- # override these settings
- RTEMS_HAS_POSIX_API=no
- ;;
- i[3456]86-*freebsd2*) # unix "simulator" port
- RTEMS_HOST=FreeBSD
- # override these settings
- RTEMS_HAS_POSIX_API=no
- ;;
- no_cpu-*rtems*)
- RTEMS_HAS_POSIX_API=no
- ;;
- sparc-sun-solaris*) # unix "simulator" port
- RTEMS_HOST=Solaris
- # override these settings
- RTEMS_HAS_POSIX_API=no
- ;;
- *)
- ;;
+ rtems_bsp="go32 go32_p5"
+ skip_startfiles="yes"
+ ;;
+ *)
+ ;;
esac
changequote([,])dnl
-
# Override the set of BSPs to be built.
AC_ARG_ENABLE(rtemsbsp, \
[ --enable-rtemsbsp=bsp1 bsp2 .. BSPs to include in build], \
rtems_bsp=$enableval \
)
-# Is this a supported CPU?
-AC_MSG_CHECKING([if cpu $target_cpu is supported])
-if test -d "$srcdir/c/src/exec/score/cpu/$target_cpu"; then
- AC_MSG_RESULT(yes)
-else
- AC_MSG_ERROR(no)
-fi
-
RTEMS_TOOL_PREFIX
dnl check target cc
@@ -236,9 +139,8 @@ RTEMS_I386_GAS_CODE16
dnl check host cc
AC_PROG_CC
-
-RTEMS_CYGWIN32
-RTEMS_EXEEXT
+dnl check for .exe (Cygwin)
+AC_EXEEXT
dnl FIXME: HACK for egcs/cygwin mixing '\\' and '/' in gcc -print-*
case $host_os in
@@ -261,10 +163,6 @@ fi
dnl Add -g if the host compiler accepts -g, assume -g means debugging
test "$ac_cv_prog_cc_g" = "yes" && CC_CFLAGS_DEBUG_V=${CC_CFLAGS_DEBUG_V-"-g"}
-dnl check for host library functions
-dnl NOTE: must be called after AC_PROG_CC
-AC_CHECK_FUNCS(strerror)
-
dnl check for SysV IPC used by simulators
if test "$target_cpu" = "unix" ; then
RTEMS_SYSV_SEM
@@ -379,7 +277,6 @@ fi
dnl END configure.target.in
-
PROJECT_ROOT=`pwd;`
# If RTEMS macros are enabled, then use them. Otherwise, use inlines.
@@ -409,18 +306,7 @@ if test "$RTEMS_HAS_CPLUSPLUS" = "yes"; then
makefiles="$makefiles c/src/lib/librtems++/Makefile"
fi
-# If the tests are enabled, then find all the test suite Makefiles
-AC_MSG_CHECKING([if the test suites are enabled? ])
-tests_enabled=no
-AC_ARG_ENABLE(tests, \
-[ --enable-tests enable tests (default:disabled)], \
- [case "${enableval}" in
- yes) AC_MSG_RESULT(yes) ; tests_enabled=yes ;;
- no) AC_MSG_RESULT(no) ; tests_enabled=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for tests option) ;;
- esac],
-AC_MSG_RESULT(no)
-)
+RTEMS_ENABLE_TESTS
RTEMS_CHECK_MAKEFILE(c/src/tests/tools/$target_cpu)
@@ -437,29 +323,23 @@ if test "$tests_enabled" = "yes"; then
fi
# If the HWAPI is enabled, the find the HWAPI Makefiles
-AC_MSG_CHECKING([if the HWAPI is enabled? ])
-AC_ARG_ENABLE(hwapi, \
-[ --enable-hwapi enable hardware API library], \
- [case "${enableval}" in
- yes) AC_MSG_RESULT(yes)
- if test -f ${srcdir}/c/src/lib/libhwapi/Makefile.in ; then
- makefiles="$makefiles c/src/lib/libhwapi/Makefile"
- RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/analog)
- RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/discrete)
- RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/drivers)
- RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/non_volatile_memory)
- RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/serial)
- RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/support)
- RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/wrapup)
- else
- AC_MSG_ERROR(No source code found for the HWAPI)
- fi
- ;;
- no) AC_MSG_RESULT(no) ;;
- *) AC_MSG_ERROR(bad value ${enableval} for hwapi option) ;;
- esac],
- AC_MSG_RESULT(no)
-)
+RTEMS_ENABLE_HWAPI
+if test "$RTEMS_HAS_HWAPI" = "yes"; then
+ AC_MSG_CHECKING(whether libwapi is present)
+ if test -f ${srcdir}/c/src/lib/libhwapi/Makefile.in ; then
+ AC_MSG_RESULT(yes)
+ makefiles="$makefiles c/src/lib/libhwapi/Makefile"
+ RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/analog)
+ RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/discrete)
+ RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/drivers)
+ RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/non_volatile_memory)
+ RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/serial)
+ RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/support)
+ RTEMS_CHECK_MAKEFILE(c/src/lib/libhwapi/wrapup)
+ else
+ AC_MSG_ERROR(No source code found for the HWAPI)
+ fi
+fi
AC_SUBST(RTEMS_GAS_CODE16)
AC_SUBST(rtems_cv_prog_cc_cross)
@@ -484,13 +364,14 @@ AC_SUBST(CC_CFLAGS_PROFILE_V)
AC_SUBST(CC_LDFLAGS_PROFILE_V)
# pick up all the Makefiles in required parts of the tree
-RTEMS_CHECK_MAKEFILE(c/build-tools)
RTEMS_CHECK_MAKEFILE(make)
RTEMS_CHECK_MAKEFILE(c/src/lib/libchip)
RTEMS_CHECK_MAKEFILE(c/src/lib/libmisc)
RTEMS_CHECK_MAKEFILE(c/src/tests/samples)
-AC_CONFIG_HEADER(c/build-tools/src/config.h)
+AC_CONFIG_SUBDIRS(c/build-tools)
+# FIXME: libwapi needs a separate configure.in in future ;-
+# AC_CONFIG_SUBDIRS(c/src/lib/libwapi)
# try not to explicitly list a Makefile here
AC_OUTPUT(