1 | dnl Process this file with autoconf to produce a configure script. |
---|
2 | dnl |
---|
3 | dnl $Id$ |
---|
4 | |
---|
5 | AC_PREREQ(2.13) |
---|
6 | AC_INIT(src) |
---|
7 | RTEMS_TOP(..) |
---|
8 | AC_CONFIG_AUX_DIR(..) |
---|
9 | |
---|
10 | RTEMS_CANONICAL_TARGET_CPU |
---|
11 | |
---|
12 | AM_INIT_AUTOMAKE(rtems-c,$RTEMS_VERSION,no) |
---|
13 | AM_MAINTAINER_MODE |
---|
14 | |
---|
15 | dnl These options are used within this file. |
---|
16 | RTEMS_ENABLE_BARE |
---|
17 | RTEMS_ENABLE_RTEMSBSP(rtems_bsp) |
---|
18 | |
---|
19 | RTEMS_CHECK_CPU |
---|
20 | RTEMS_CANONICAL_HOST |
---|
21 | |
---|
22 | if test -z "$rtems_bsp"; then |
---|
23 | RTEMS_CHECK_BSPS(rtems_bsp) |
---|
24 | fi |
---|
25 | |
---|
26 | for i in $rtems_bsp; do |
---|
27 | |
---|
28 | # make sure there is a make/custom file for the bsp |
---|
29 | RTEMS_CHECK_CUSTOM_BSP(i) |
---|
30 | |
---|
31 | RTEMS_BSP_ALIAS($i,bspdir) |
---|
32 | |
---|
33 | # Is there code where there should be for this BSP? |
---|
34 | # The bare bsp is a special case as it is not under the RTEMS_CPU path |
---|
35 | case $bspdir in |
---|
36 | bare) |
---|
37 | bspcpudir= |
---|
38 | if test "X${BARE_CPU_CFLAGS}" = "X" ; then |
---|
39 | AC_MSG_ERROR([--enable-bare-cpu-cflags not specified for bare bsp]) |
---|
40 | fi |
---|
41 | if test "X${BARE_CPU_MODEL}" = "X" ; then |
---|
42 | AC_MSG_ERROR([--enable-bare-cpu-model not specified for bare bsp]) |
---|
43 | fi |
---|
44 | ;; |
---|
45 | *) |
---|
46 | bspcpudir=$RTEMS_CPU/ |
---|
47 | ;; |
---|
48 | esac |
---|
49 | |
---|
50 | if test -d "$srcdir/$RTEMS_TOPdir/c/src/lib/libbsp/$bspcpudir$bspdir"; then |
---|
51 | RTEMS_BSP_LIST="$RTEMS_BSP_LIST $i" |
---|
52 | else |
---|
53 | AC_MSG_ERROR([unable to find libbsp directory ($bspdir) for $i]) |
---|
54 | fi |
---|
55 | done |
---|
56 | |
---|
57 | # |
---|
58 | # Compose the configuration arguments to be passed to c/src/configure |
---|
59 | # |
---|
60 | ## |
---|
61 | ## Partially borrowed from autoconf-2.13 |
---|
62 | ## |
---|
63 | |
---|
64 | ## Adjust paths |
---|
65 | case $srcdir in |
---|
66 | /*) rtems_bsp_configure="$srcdir/src/configure";; |
---|
67 | *) rtems_bsp_configure="../$srcdir/src/configure";; |
---|
68 | esac |
---|
69 | |
---|
70 | ## Remove --cache-file, --srcdir and --enable-rtemsbsp arguments |
---|
71 | ## so they do not pile up |
---|
72 | rtems_bsp_configure_args= |
---|
73 | for ac_arg in $ac_configure_args; do |
---|
74 | if test -n "$ac_prev"; then |
---|
75 | ac_prev= |
---|
76 | continue |
---|
77 | fi |
---|
78 | case "$ac_arg" in |
---|
79 | -cache-file | --cache-file | --cache-fil | --cache-fi \ |
---|
80 | | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) |
---|
81 | ac_prev=cache_file ;; |
---|
82 | -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ |
---|
83 | | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) |
---|
84 | ;; |
---|
85 | -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) |
---|
86 | ac_prev=srcdir ;; |
---|
87 | -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) |
---|
88 | ;; |
---|
89 | --enable-rtemsbsp*) ;; |
---|
90 | -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) |
---|
91 | ;; |
---|
92 | *) rtems_bsp_configure_args="$rtems_bsp_configure_args $ac_arg" ;; |
---|
93 | esac |
---|
94 | done |
---|
95 | |
---|
96 | rtems_bsp_configure="$rtems_bsp_configure $rtems_bsp_configure_args" |
---|
97 | AC_SUBST(rtems_bsp_configure) |
---|
98 | |
---|
99 | AC_SUBST(RTEMS_BSP_LIST) |
---|
100 | |
---|
101 | AC_CONFIG_SUBDIRS(make) |
---|
102 | |
---|
103 | AC_CONFIG_SUBDIRS(make) |
---|
104 | |
---|
105 | AC_OUTPUT( |
---|
106 | Makefile |
---|
107 | ) |
---|
108 | |
---|
109 | echo |
---|
110 | echo target architecture: $target_cpu. |
---|
111 | echo available BSPs: $rtems_bsp. |
---|
112 | echo \'make all\' will build the following BSPs: $RTEMS_BSP_LIST. |
---|
113 | echo other BSPs can be built with \'make RTEMS_BSP=\"bsp1 bsp2 ...\"\' |
---|
114 | echo |
---|