dnl Process this file with autoconf to produce a configure script. dnl dnl $Id$ AC_PREREQ(2.13) AC_INIT(libbsp) RTEMS_TOP(../../..) AC_CONFIG_AUX_DIR(../../..) AC_PROG_MAKE_SET RTEMS_CANONICAL_TARGET_CPU AM_MAINTAINER_MODE RTEMS_ENABLE_MULTIPROCESSING RTEMS_ENABLE_NETWORKING RTEMS_ENABLE_RDBG RTEMS_ENABLE_CXX RTEMS_ENABLE_GCC28 RTEMS_ENABLE_LIBCDIR RTEMS_ENABLE_BARE RTEMS_ENABLE_HWAPI RTEMS_ENV_RTEMSBSP AC_PROG_INSTALL RTEMS_CHECK_CPU RTEMS_CANONICAL_HOST RTEMS_PROJECT_ROOT dnl check target cc RTEMS_PROG_CC_FOR_TARGET dnl check for g++ if test "$RTEMS_HAS_CPLUSPLUS" = "yes"; then RTEMS_PROG_CXX_FOR_TARGET fi RTEMS_CANONICALIZE_TOOLS dnl if this is an i386, does gas have good code16 support? RTEMS_I386_GAS_CODE16 AM_CONDITIONAL(RTEMS_GAS_CODE16,test "$RTEMS_GAS_CODE16" = "yes"); # find all the Makefiles for the BSPs makefiles="$makefiles libbsp/$RTEMS_CPU/Makefile" if test "${RTEMS_BSP}" = "bare"; then makefiles="$makefiles libbsp/bare/Makefile" fi RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP) RTEMS_CHECK_MULTIPROCESSING(RTEMS_BSP) RTEMS_CHECK_CXX(RTEMS_BSP) RTEMS_CHECK_NETWORKING(RTEMS_BSP) RTEMS_BSP_ALIAS(${RTEMS_BSP},bspdir) # Is there code where there should be for this BSP? # The bare bsp is a special case as it is not under the RTEMS_CPU path case ${RTEMS_BSP} in bare) bspcpudir= if test "X${BARE_CPU_CFLAGS}" = "X" ; then AC_MSG_ERROR([--enable-bare-cpu-cflags not specified for bare bsp]) fi if test "X${BARE_CPU_MODEL}" = "X" ; then AC_MSG_ERROR([--enable-bare-cpu-model not specified for bare bsp]) fi ;; *) bspcpudir=$RTEMS_CPU/ ;; esac if test "$RTEMS_BSP" = "bare" ; then RTEMS_LIBBSP_CPU_SUBDIR="bare" else RTEMS_LIBBSP_CPU_SUBDIR='$(RTEMS_CPU)' fi AC_SUBST(RTEMS_LIBBSP_CPU_SUBDIR) if test -d "$srcdir/libbsp/$bspcpudir$bspdir"; then RTEMS_CHECK_MAKEFILE(libbsp/${bspcpudir}$bspdir) RTEMS_CHECK_MAKEFILE(libbsp/${bspcpudir}shared) # HACK: sed out bsp-tools from makefiles t="libbsp/$bspcpudir$bspdir/tools" if test -d "$srcdir/$t"; then bsptools_cfgdirs="$bsptools_cfgdirs $t" makefiles=`echo "$makefiles" | sed -e "s%$t/.*Makefile%%g"` fi else AC_MSG_ERROR([unable to find libbsp directory ($bspdir) for ${RTEMS_BSP}]) fi if test "$HAS_MP" = "yes"; then makefiles="$makefiles libbsp/shmdr/Makefile" else # HACK: sed out shmsupp/Makefile from makefiles t="libbsp/$bspcpudir$bspdir/shmsupp" makefiles=`echo "$makefiles" | sed -e "s%$t/.*Makefile%%g"` fi AM_CONDITIONAL(UNIX,test "$RTEMS_CPU" = "unix") # find all the CPU dependent library Makefiles RTEMS_CHECK_MAKEFILE(libcpu/$RTEMS_CPU) dnl Workaround for go32 case "${target}" in changequote(,)dnl i[3456]86-go32-rtems*) changequote([,])dnl ;; *) RTEMS_CHECK_MAKEFILE(start/$RTEMS_CPU) ;; esac # If the TCP/IP stack is enabled, then find all TCP/IP Makefiles if test "$HAS_NETWORKING" = "yes"; then RTEMS_CHECK_MAKEFILE(libnetworking) RTEMS_CHECK_MAKEFILE(librpc) if test "$RTEMS_HAS_RDBG" = "yes"; then RTEMS_CHECK_RDBG(RTEMS_BSP) if test "$HAS_RDBG" = "yes"; then AC_CHECK_PROG(RPCGEN,rpcgen,rpcgen) AC_PROG_AWK if test -z "$RPCGEN"; then AC_MSG_ERROR([missing rpcgen, required to build librdbg]) fi if test -z "$AWK"; then AC_MSG_ERROR([missing awk, required to build librdbg]) fi fi if test "$HAS_RDBG" = "yes"; then RTEMS_CHECK_MAKEFILE(librdbg) fi fi fi # If the C++ support is enabled, then include the Makefiles if test "$HAS_CPLUSPLUS" = "yes"; then RTEMS_CHECK_MAKEFILE(librtems++) fi # If the HWAPI is enabled, the find the HWAPI Makefiles RTEMS_ENABLE_HWAPI if test "$RTEMS_HAS_HWAPI" = "yes"; then AC_MSG_CHECKING(whether libwapi is present) if test -f ${srcdir}/libhwapi/Makefile.in ; then AC_MSG_RESULT(yes) makefiles="$makefiles libhwapi/Makefile" RTEMS_CHECK_MAKEFILE(libhwapi/analog) RTEMS_CHECK_MAKEFILE(libhwapi/discrete) RTEMS_CHECK_MAKEFILE(libhwapi/drivers) RTEMS_CHECK_MAKEFILE(libhwapi/non_volatile_memory) RTEMS_CHECK_MAKEFILE(libhwapi/serial) RTEMS_CHECK_MAKEFILE(libhwapi/support) RTEMS_CHECK_MAKEFILE(libhwapi/wrapup) else AC_MSG_ERROR(No source code found for the HWAPI) fi fi AC_SUBST(RTEMS_HAS_CPLUSPLUS) AC_SUBST(RTEMS_USE_GCC272) AC_SUBST(CC_CFLAGS_DEFAULT) AC_SUBST(CC_CFLAGS_DEBUG_V) AC_SUBST(CC_CFLAGS_PROFILE_V) AC_SUBST(CC_LDFLAGS_PROFILE_V) # pick up all the Makefiles in required parts of the tree if test "$RTEMS_CPU" != "unix"; then ## HACK: Suppress libchip for unix RTEMS_CHECK_MAKEFILE(libchip) fi RTEMS_CHECK_MAKEFILE(libmisc) AC_CONFIG_SUBDIRS($bsptools_cfgdirs) # FIXME: libhwapi needs a separate configure.in in future ;- # AC_CONFIG_SUBDIRS(libhwapi) # try to explicitly list a Makefile here AC_OUTPUT( Makefile include/Makefile libbsp/Makefile libc/Makefile libcpu/Makefile start/Makefile wrapup/Makefile $makefiles)