source: rtems/c/src/configure.ac @ 7be6ad9

4.104.114.84.95
Last change on this file since 7be6ad9 was 41ed282, checked in by Ralf Corsepius <ralf.corsepius@…>, on 10/19/04 at 08:08:22

2004-10-19 Ralf Corsepius <ralf_corsepius@…>

  • aclocal/env-rtemsbsp.m4: Remove refs to bare BSP.
  • aclocal/enable-bare.m4: Remove.
  • configure.ac: Remove BARE_CPU_MODEL.
  • Property mode set to 100644
File size: 7.6 KB
Line 
1## Process this file with autoconf to produce a configure script.
2##
3## $Id$
4
5AC_PREREQ(2.59)
6AC_INIT([rtems-c-src],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
7AC_CONFIG_SRCDIR([optman])
8RTEMS_TOP(../..)
9
10RTEMS_ENABLE_CXX
11RTEMS_ENABLE_NETWORKING
12RTEMS_ENABLE_RDBG
13
14RTEMS_CANONICAL_TARGET_CPU
15
16AM_INIT_AUTOMAKE([no-define subdir-objects no-exeext foreign 1.9])
17AM_MAINTAINER_MODE
18
19RTEMS_ENABLE_MULTILIB
20RTEMS_ENABLE_MULTIPROCESSING
21RTEMS_ENV_RTEMSBSP
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
32RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
33
34RTEMS_CHECK_NETWORKING(RTEMS_BSP)
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
44
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])
68${MAKE-make} -f ${srcdir}/make/bsp.mak \
69RTEMS_BSP=${RTEMS_BSP} \
70RTEMS_HOST=${RTEMS_HOST} \
71RTEMS_ROOT=. make/${RTEMS_BSP}.cache
72
73# Read back the cache
74AC_CACHE_CHECK([for RTEMS_CPU_MODEL], [ac_cv_env_RTEMS_CPU_MODEL],
75[. ./make/${RTEMS_BSP}.cache])
76RTEMS_CPU_MODEL=$ac_cv_env_RTEMS_CPU_MODEL
77AC_SUBST(RTEMS_CPU_MODEL)
78test -n "${RTEMS_CPU_MODEL}" && \
79  ac_configure_args="$ac_configure_args 'RTEMS_CPU_MODEL=${RTEMS_CPU_MODEL}'"
80
81AC_CACHE_CHECK([for RTEMS_BSP_FAMILY],[ac_cv_env_RTEMS_BSP_FAMILY],
82[. ./make/${RTEMS_BSP}.cache])
83RTEMS_BSP_FAMILY=$ac_cv_env_RTEMS_BSP_FAMILY
84AC_SUBST(RTEMS_BSP_FAMILY)
85test -n "${RTEMS_BSP_FAMILY}" && \
86  ac_configure_args="$ac_configure_args 'RTEMS_BSP_FAMILY=${RTEMS_BSP_FAMILY}'"
87
88AC_CACHE_CHECK([for CPU_CFLAGS],[ac_cv_env_CPU_CFLAGS],
89[. ./make/${RTEMS_BSP}.cache])
90CPU_CFLAGS=$ac_cv_env_CPU_CFLAGS
91AC_SUBST(CPU_CFLAGS)
92test -n "${CPU_CFLAGS}" && \
93  ac_configure_args="$ac_configure_args 'CPU_CFLAGS=${CPU_CFLAGS}'"
94
95AC_CACHE_CHECK([for CFLAGS_OPTIMIZE_V],[ac_cv_env_CFLAGS_OPTIMIZE_V],
96[. ./make/${RTEMS_BSP}.cache])
97CFLAGS_OPTIMIZE_V=$ac_cv_env_CFLAGS_OPTIMIZE_V
98AC_SUBST(CFLAGS_OPTIMIZE_V)
99test -n "${CFLAGS_OPTIMIZE_V}" && \
100  ac_configure_args="$ac_configure_args 'CFLAGS_OPTIMIZE_V=${CFLAGS_OPTIMIZE_V}'"
101
102AC_CACHE_CHECK([for CFLAGS_DEBUG_V],[ac_cv_env_CFLAGS_DEBUG_V],
103[. ./make/${RTEMS_BSP}.cache])
104CFLAGS_DEBUG_V=$ac_cv_env_CFLAGS_DEBUG_V
105AC_SUBST(CFLAGS_DEBUG_V)
106test -n "${CFLAGS_DEBUG_V}" && \
107  ac_configure_args="$ac_configure_args 'CFLAGS_DEBUG_V=${CFLAGS_DEBUG_V}'"
108
109RTEMS_PROG_CC_FOR_TARGET
110AM_PROG_CC_C_O
111RTEMS_PROG_CCAS
112RTEMS_CANONICALIZE_TOOLS
113
114RTEMS_CHECK_GCC_WEAK
115
116AC_SUBST(CUSTOM_CFG_FILES)
117AC_SUBST(cfg_dir)
118
119RTEMS_CHECK_MULTIPROCESSING
120
121BSP_SUBDIRS=
122## Configure ${srcdir}/../../cpukit as cpukit/ if multilibs are disabled
123RTEMS_BSP_CONFIG_SUBDIR(
124  [cpukit],[../../cpukit],
125  ['--with-project-root=${with_project_root}../$RTEMS_BSP/' \
126   '--includedir=${exec_prefix}/${RTEMS_BSP}/lib/include' \
127   '--libdir=${exec_prefix}/${RTEMS_BSP}/lib'],
128  [test x"$multilib" = x"no"])
129
130## Note: the order of the directories below is essential
131AC_CONFIG_SUBDIRS([make])
132BSP_SUBDIRS="$BSP_SUBDIRS make"
133BSP_SUBDIRS="$BSP_SUBDIRS optman"
134
135RTEMS_CPU_SUBDIRS(lib/libcpu)
136if test -d "${srcdir}/lib/libcpu/${RTEMS_CPU}"; then
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
153BSP_SUBDIRS="$BSP_SUBDIRS lib"
154BSP_SUBDIRS="$BSP_SUBDIRS libchip"
155BSP_SUBDIRS="$BSP_SUBDIRS libnetworking"
156BSP_SUBDIRS="$BSP_SUBDIRS librdbg"
157
158AS_IF([test "$RTEMS_HAS_CPLUSPLUS" = "yes"],[
159  AC_CONFIG_SUBDIRS([librtems++])
160  BSP_SUBDIRS="$BSP_SUBDIRS librtems++"
161])
162
163BSP_SUBDIRS="$BSP_SUBDIRS support"
164BSP_SUBDIRS="$BSP_SUBDIRS wrapup"
165
166AC_ARG_ENABLE([ada],
167[AS_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
174AS_IF([test x"$enable_ada" = x"yes"],[
175    RTEMS_BSP_CONFIG_SUBDIR(
176      [ada-tests],[ada-tests],
177      ['--enable-rtems-root=../' \
178       '--with-project-root=${with_project_root}../' \
179       '--with-project-top=${with_project_top}../' \
180       '--enable-rtemsbsp=$RTEMS_BSP' \
181      ],
182      [test x"$enable_tests" = x"yes"])
183])
184
185RTEMS_BSP_CONFIG_SUBDIR(
186  [testsuites],[../../testsuites],
187  ['--enable-rtems-root=../' \
188   '--with-project-root=${with_project_root}../' \
189   '--with-project-top=${with_project_top}../' \
190   '--enable-rtemsbsp=$RTEMS_BSP' \
191   ],
192  [test x"$enable_tests" != x"no"])
193
194AC_SUBST([BSP_SUBDIRS],[$BSP_SUBDIRS])
195
196AS_IF([test "$host_cpu" = "sparc"],[
197  AC_DEFINE_UNQUOTED([CPU_U32_FIX],[1],
198    [whether to enable ipalignment work-around])
199])
200
201AM_CONDITIONAL([HAS_NETWORKING],[test "$HAS_NETWORKING" = "yes"])
202
203# FIXME: This is sick
204AM_CONDITIONAL([HAS_RDBG],[test "$HAS_RDBG" = "yes"])
205AM_CONDITIONAL([HAS_RDBG_i386],[test "$HAS_RDBG" = "yes" \
206 && test $RTEMS_CPU = "i386"])
207AM_CONDITIONAL([HAS_RDBG_m68k],[test "$HAS_RDBG" = "yes" \
208 && test $RTEMS_CPU = "m68k"])
209AM_CONDITIONAL([HAS_RDBG_powerpc],[test "$HAS_RDBG" = "yes" \
210 && test $RTEMS_CPU = "powerpc"])
211
212AM_CONDITIONAL(HAS_POSIX,test "$HAS_POSIX_API" = "yes")
213
214# The posix bsp doesn't support libchip
215# FIXME: We should use a feature based check, here
216AM_CONDITIONAL([LIBCHIP],[test "$RTEMS_BSP_FAMILY" != "posix"])
217
218# The bare bsp doesn't have libbsp.a
219# FIXME: We should use a feature based check, here
220AM_CONDITIONAL([HAS_LIBBSP],[test "$RTEMS_BSP_FAMILY" != "bare"])
221
222# FIXME: HACK
223# Temporarily, we need to consider 3 cases:
224# 1. 4.7-style: lib/libbsp/<cpu>/<bsp>/libbsp.a w/o wrapup/Makefile.am
225# 2. powerpc: lib/libbsp/<cpu>/<bsp>/libbsp.a w/ wrapup/Makefile.am
226# 3. 4.6-style: lib/libbsp/<cpu>/<bsp>/wrapup/$(ARCH)/libbsp.a w/ wrapup/Makefile.am
227
228AS_IF([test -f $srcdir/lib/libbsp/$RTEMS_CPU/$RTEMS_BSP_FAMILY/wrapup/Makefile.am],
229  [AS_IF([grep ___libbsp_a $srcdir/lib/libbsp/$RTEMS_CPU/$RTEMS_BSP_FAMILY/wrapup/Makefile.am >/dev/null],
230    [HAS_WRAPUP_LIBBSP=no],
231    [HAS_WRAPUP_LIBBSP=yes])],
232  [HAS_WRAPUP_LIBBSP=no])
233AM_CONDITIONAL([HAS_WRAPUP_LIBBSP],[test $HAS_WRAPUP_LIBBSP = yes])
234AM_CONDITIONAL([MULTILIB],[test x"${enable_multilib}" = x"yes"])
235
236AM_CONDITIONAL(RPCTOOLS, test "$rpctools" != "no")
237
238RTEMS_PROJECT_ROOT
239
240# Explicitly list all Makefiles here
241AC_CONFIG_FILES([Makefile],
242[${MAKE} make/${RTEMS_BSP}.cache],
243[RTEMS_BSP=${RTEMS_BSP}
244 MAKE=${MAKE}])
245
246AC_CONFIG_FILES([
247support/Makefile
248
249libnetworking/Makefile
250libnetworking/pppd/Makefile
251libnetworking/rtems_servers/Makefile
252libnetworking/rtems_telnetd/Makefile
253libnetworking/rtems_webserver/Makefile
254
255librdbg/Makefile
256
257libchip/Makefile
258
259optman/Makefile
260
261lib/Makefile
262
263lib/libcpu/Makefile
264
265lib/libbsp/Makefile
266
267wrapup/Makefile
268])
269
270AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.