source: rtems/c/src/configure.ac @ 3025a4a

4.104.114.84.95
Last change on this file since 3025a4a was 12b0ada, checked in by Ralf Corsepius <ralf.corsepius@…>, on 02/06/04 at 16:50:17

2004-02-06 Ralf Corsepius <corsepiu@…>

  • configure.ac: Add powerpc's <bsp>/wrapup/Makefile.am detection hack.
  • Property mode set to 100644
File size: 7.4 KB
RevLine 
[d7aecdc]1## Process this file with autoconf to produce a configure script.
2##
3## $Id$
4
[810720b6]5AC_PREREQ(2.59)
[7dcc3fe]6AC_INIT([rtems-c-src],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
[02ccf4a]7AC_CONFIG_SRCDIR([optman])
[d7aecdc]8RTEMS_TOP(../..)
9
10RTEMS_ENABLE_CXX
11RTEMS_ENABLE_NETWORKING
12RTEMS_ENABLE_RDBG
13
14RTEMS_CANONICAL_TARGET_CPU
15
[033f0686]16AM_INIT_AUTOMAKE([no-define subdir-objects no-exeext foreign 1.8.2])
[d7aecdc]17AM_MAINTAINER_MODE
18
19RTEMS_ENABLE_MULTILIB
[02ccf4a]20RTEMS_ENABLE_MULTIPROCESSING
[d7aecdc]21RTEMS_ENV_RTEMSBSP
[51d35b2]22
23# Is this a supported CPU?
24AC_MSG_CHECKING([if cpu $RTEMS_CPU is supported])
25# FIXME: Temporary hack
26if test -d "$srcdir/lib/libbsp/$RTEMS_CPU"; then
27  AC_MSG_RESULT(yes)
28else
29  AC_MSG_ERROR(no)
30fi
31
[d7aecdc]32RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
33
34RTEMS_CHECK_NETWORKING(RTEMS_BSP)
[4108ae8]35RTEMS_CHECK_POSIX_API(RTEMS_BSP)
36AS_IF([test "$HAS_NETWORKING" = "yes"],[
37  AS_IF([test "$RTEMS_HAS_RDBG" = "yes"],[
38    RTEMS_CHECK_RDBG(RTEMS_BSP)
39  ])
40])
41
42AC_CHECK_PROG(RPCGEN,rpcgen,rpcgen,no)
43AC_PROG_AWK
[d7aecdc]44
[f0d7515]45AC_MSG_NOTICE([setting up make/custom])
46
47AS_MKDIR_P([make/custom])
48
49# Collect and copy the BSP's make/custom/*.cfg files from the toplevel make
50# directory into the build tree's <bsp>/make/custom subdirectories
51cfg_dir="${RTEMS_TOPdir}/make"
52CUSTOM_CFG_FILES=""
53f="${RTEMS_BSP}.cfg"
54while test -n "$f"; do
55  if test -r "${srcdir}/${cfg_dir}/custom/$f"; then
56    cp ${srcdir}/${cfg_dir}/custom/$f make/custom/$f
57    CUSTOM_CFG_FILES="$CUSTOM_CFG_FILES make/custom/$f"
58    f=`grep "^include.*make/custom" ${srcdir}/${cfg_dir}/custom/$f \
59    | sed \
60      -e 's%^.*custom\/%%' \
61      -e s%\$\(RTEMS_HOST\)%${RTEMS_HOST}% \
62      -e 's%default\.cfg%%'`;
63  else break; fi;
64done
65cp ${srcdir}/make/custom/default.cfg.in make/custom/default.cfg
66
67AC_MSG_NOTICE([creating make/${RTEMS_BSP}.cache])
[f21ccd2]68${MAKE-make} -f ${srcdir}/make/bsp.mak \
69RTEMS_BSP=${RTEMS_BSP} \
[67bfd9a6]70RTEMS_HOST=${RTEMS_HOST} \
[f21ccd2]71BARE_CPU_MODEL=${BARE_CPU_MODEL} \
[f0d7515]72RTEMS_ROOT=. make/${RTEMS_BSP}.cache
73
74# Read back the cache
[9346df0]75AC_CACHE_CHECK([for RTEMS_CPU_MODEL], [ac_cv_env_RTEMS_CPU_MODEL],
[da499ad]76[. ./make/${RTEMS_BSP}.cache])
[9346df0]77RTEMS_CPU_MODEL=$ac_cv_env_RTEMS_CPU_MODEL
[028792e8]78AC_SUBST(RTEMS_CPU_MODEL)
[d4181d5]79test -n "${RTEMS_CPU_MODEL}" && \
80  ac_configure_args="$ac_configure_args 'RTEMS_CPU_MODEL=${RTEMS_CPU_MODEL}'"
[028792e8]81
[9346df0]82AC_CACHE_CHECK([for RTEMS_BSP_FAMILY],[ac_cv_env_RTEMS_BSP_FAMILY],
[da499ad]83[. ./make/${RTEMS_BSP}.cache])
[9346df0]84RTEMS_BSP_FAMILY=$ac_cv_env_RTEMS_BSP_FAMILY
[028792e8]85AC_SUBST(RTEMS_BSP_FAMILY)
[d4181d5]86test -n "${RTEMS_BSP_FAMILY}" && \
87  ac_configure_args="$ac_configure_args 'RTEMS_BSP_FAMILY=${RTEMS_BSP_FAMILY}'"
[028792e8]88
[9346df0]89AC_CACHE_CHECK([for CPU_CFLAGS],[ac_cv_env_CPU_CFLAGS],
[da499ad]90[. ./make/${RTEMS_BSP}.cache])
[9346df0]91CPU_CFLAGS=$ac_cv_env_CPU_CFLAGS
92AC_SUBST(CPU_CFLAGS)
93test -n "${CPU_CFLAGS}" && \
94  ac_configure_args="$ac_configure_args 'CPU_CFLAGS=${CPU_CFLAGS}'"
[028792e8]95
[9346df0]96AC_CACHE_CHECK([for CFLAGS_OPTIMIZE_V],[ac_cv_env_CFLAGS_OPTIMIZE_V],
[da499ad]97[. ./make/${RTEMS_BSP}.cache])
[9346df0]98CFLAGS_OPTIMIZE_V=$ac_cv_env_CFLAGS_OPTIMIZE_V
99AC_SUBST(CFLAGS_OPTIMIZE_V)
100test -n "${CFLAGS_OPTIMIZE_V}" && \
101  ac_configure_args="$ac_configure_args 'CFLAGS_OPTIMIZE_V=${CFLAGS_OPTIMIZE_V}'"
[028792e8]102
[9346df0]103AC_CACHE_CHECK([for CFLAGS_DEBUG_V],[ac_cv_env_CFLAGS_DEBUG_V],
[da499ad]104[. ./make/${RTEMS_BSP}.cache])
[9346df0]105CFLAGS_DEBUG_V=$ac_cv_env_CFLAGS_DEBUG_V
106AC_SUBST(CFLAGS_DEBUG_V)
107test -n "${CFLAGS_DEBUG_V}" && \
108  ac_configure_args="$ac_configure_args 'CFLAGS_DEBUG_V=${CFLAGS_DEBUG_V}'"
[028792e8]109
[9346df0]110RTEMS_PROG_CC_FOR_TARGET
[d844a182]111AM_PROG_CC_C_O
[033f0686]112RTEMS_PROG_CCAS
[9346df0]113RTEMS_CANONICALIZE_TOOLS
[382e1eb3]114
[f0d7515]115AC_SUBST(CUSTOM_CFG_FILES)
116AC_SUBST(cfg_dir)
117
[54508fd]118## Configure ${srcdir}/../../cpukit as exec/ if multilibs are disabled
[02ccf4a]119AS_IF([test x"$multilib" = x"no"],[
120  RTEMS_CHECK_MULTIPROCESSING
[41fc78d]121  AC_CONFIG_COMMANDS_POST([
122    if test x"$multilib" = x"no"; then
123    RTEMS_CONFIG_SUBDIR([exec],[../../cpukit],
[d844a182]124      ['--with-project-root=../../..' '--enable-rtemsbsp=$RTEMS_BSP'])
[41fc78d]125    fi
[94f4a9ba]126  ])
[85a8933]127  BSP_SUBDIRS="exec"
[02ccf4a]128])
129
[94f4a9ba]130## Note: the order of the directories below is essential
131AC_CONFIG_SUBDIRS([make])
[85a8933]132BSP_SUBDIRS="$BSP_SUBDIRS make"
133BSP_SUBDIRS="$BSP_SUBDIRS optman"
[dd984c0]134
135RTEMS_CPU_SUBDIRS(lib/libcpu)
[539e266e]136if test -d "${srcdir}/lib/libcpu/${RTEMS_CPU}"; then
[dd984c0]137  libcpu_cpu_subdir="${RTEMS_CPU}"
138else
139  libcpu_cpu_subdir=
140fi
141AC_SUBST(libcpu_cpu_subdir)
142
143# Is there code where there should be for this BSP?
144# The bare bsp is a special case as it is not under the RTEMS_CPU path
145if test "$RTEMS_BSP_FAMILY" = "bare" ; then
146  AC_CONFIG_SUBDIRS([lib/libbsp/bare])
147  AC_SUBST(libbsp_cpu_subdir,bare)
148else
149  RTEMS_CPU_SUBDIRS([lib/libbsp])
150  AC_SUBST(libbsp_cpu_subdir,$RTEMS_CPU)
151fi
152
[539e266e]153BSP_SUBDIRS="$BSP_SUBDIRS lib"
[4108ae8]154BSP_SUBDIRS="$BSP_SUBDIRS libchip"
155BSP_SUBDIRS="$BSP_SUBDIRS libnetworking"
[6fcf4571]156BSP_SUBDIRS="$BSP_SUBDIRS librdbg"
[dd984c0]157                                                         
[94f4a9ba]158AS_IF([test "$RTEMS_HAS_CPLUSPLUS" = "yes"],[
[4db904ec]159  AC_CONFIG_SUBDIRS([librtems++])
[85a8933]160  BSP_SUBDIRS="$BSP_SUBDIRS librtems++"
[94f4a9ba]161])
[d7aecdc]162
[db3e91f2]163BSP_SUBDIRS="$BSP_SUBDIRS support"
[85a8933]164BSP_SUBDIRS="$BSP_SUBDIRS wrapup"
[a456af96]165
[54508fd]166AC_ARG_ENABLE([ada],
167[AC_HELP_STRING([--enable-ada],[enable ada support])],
168[case "${enable_ada}" in
169  yes) ;;
170  no) ;;
171  *)  AC_MSG_ERROR(bad value ${enable_ada} for --enable-ada) ;;
172esac],[enable_ada=no])
173
[a456af96]174AS_IF([test x"$enable_ada" = x"yes"],[
175  AS_IF([test -d ${srcdir}/ada-tests],[
176    AC_CONFIG_SUBDIRS([ada-tests])
177    BSP_SUBDIRS="$BSP_SUBDIRS ada-tests"
178  ])
179])
180
[e42cb8b]181AS_IF([test -d ${srcdir}/../../testsuites],[
182  BSP_SUBDIRS="$BSP_SUBDIRS testsuites"
[0038885]183])
[85a8933]184
[41fc78d]185  AC_CONFIG_COMMANDS_POST([
186    RTEMS_CONFIG_SUBDIR([testsuites],[../../testsuites],
187      ['--with-project-root=../../' '--enable-rtemsbsp=$RTEMS_BSP'])
188  ])
189
[85a8933]190AC_SUBST([BSP_SUBDIRS],[$BSP_SUBDIRS])
[d7aecdc]191
[babba25a]192AS_IF([test "$host_cpu" = "sparc"],[
193  AC_DEFINE_UNQUOTED([CPU_U32_FIX],[1],
194    [whether to enable ipalignment work-around])
195])
196
[67bfd9a6]197AM_CONDITIONAL([HAS_NETWORKING],[test "$HAS_NETWORKING" = "yes"])
198AM_CONDITIONAL([HAS_RDBG],[test "$HAS_RDBG" = "yes"])
[4108ae8]199AM_CONDITIONAL(HAS_POSIX,test "$HAS_POSIX_API" = "yes")
[67bfd9a6]200
201# The posix bsp doesn't support libchip
202# FIXME: We should use a feature based check, here
203AM_CONDITIONAL([LIBCHIP],[test "$RTEMS_BSP_FAMILY" != "posix"])
[94f4a9ba]204
205# The bare bsp doesn't have libbsp.a
206# FIXME: We should use a feature based check, here
[6184265d]207AM_CONDITIONAL([HAS_LIBBSP],[test "$RTEMS_BSP_FAMILY" != "bare"])
[12b0ada]208
209# FIXME: HACK
210# Temporarily, we need to consider 3 cases:
211# 1. 4.7-style: lib/libbsp/<cpu>/<bsp>/libbsp.a w/o wrapup/Makefile.am
212# 2. powerpc: lib/libbsp/<cpu>/<bsp>/libbsp.a w/ wrapup/Makefile.am
213# 3. 4.6-style: lib/libbsp/<cpu>/<bsp>/wrapup/$(ARCH)/libbsp.a w/ wrapup/Makefile.am
214
215AS_IF([test -f $srcdir/lib/libbsp/$RTEMS_CPU/$RTEMS_BSP_FAMILY/wrapup/Makefile.am],
216  [AS_IF([grep ___libbsp_a $srcdir/lib/libbsp/$RTEMS_CPU/$RTEMS_BSP_FAMILY/wrapup/Makefile.am >/dev/null],
217    [HAS_WRAPUP_LIBBSP=no],
218    [HAS_WRAPUP_LIBBSP=yes])],
219  [HAS_WRAPUP_LIBBSP=no])
220AM_CONDITIONAL([HAS_WRAPUP_LIBBSP],[test $HAS_WRAPUP_LIBBSP = yes])
[94f4a9ba]221AM_CONDITIONAL([MULTILIB],[test x"${enable_multilib}" = x"yes"])
222
[4108ae8]223AM_CONDITIONAL(RPCTOOLS, test "$rpctools" != "no")
224
[d7aecdc]225RTEMS_PROJECT_ROOT
226
227# Explicitly list all Makefiles here
[f0d7515]228AC_CONFIG_FILES([Makefile],
229[${MAKE} make/${RTEMS_BSP}.cache],
230[RTEMS_BSP=${RTEMS_BSP}
231 MAKE=${MAKE}])
232
[babba25a]233AC_CONFIG_FILES([
234support/Makefile
[4108ae8]235
236libnetworking/Makefile
237libnetworking/pppd/Makefile
238libnetworking/rtems_servers/Makefile
239libnetworking/rtems_telnetd/Makefile
240libnetworking/rtems_webserver/Makefile
241
[6fcf4571]242librdbg/Makefile
243librdbg/include/Makefile
244librdbg/include/rdbg/Makefile
245librdbg/include/rdbg/i386/Makefile
246librdbg/include/rdbg/powerpc/Makefile
247librdbg/include/rdbg/m68k/Makefile
248librdbg/src/Makefile
249librdbg/src/i386/Makefile
250librdbg/src/powerpc/Makefile
251librdbg/src/m68k/Makefile
252
[babba25a]253libchip/Makefile
[6fcf4571]254
[babba25a]255optman/Makefile
[6fcf4571]256
[539e266e]257lib/Makefile
258
[dd984c0]259lib/libcpu/Makefile
260
261lib/libbsp/Makefile
262
[babba25a]263wrapup/Makefile
264])
[94f4a9ba]265
[d7aecdc]266AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.