Commit | Line | Data |
---|---|---|
c906108c | 1 | dnl Process this file with autoconf to produce a configure script. |
c2d11a7d | 2 | AC_PREREQ(2.13)dnl |
c906108c SS |
3 | AC_INIT(Makefile.in) |
4 | ||
5 | AC_PROG_CC | |
6 | AC_PROG_INSTALL | |
7 | AC_CHECK_TOOL(AR, ar) | |
8 | AC_CHECK_TOOL(RANLIB, ranlib, :) | |
9 | ||
10 | AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..) | |
11 | AC_CANONICAL_SYSTEM | |
12 | AC_ARG_PROGRAM | |
13 | AC_PROG_CC | |
14 | AC_SUBST(CFLAGS) | |
15 | AC_SUBST(HDEFINES) | |
16 | AR=${AR-ar} | |
17 | AC_SUBST(AR) | |
18 | AC_PROG_RANLIB | |
19 | ||
20 | # Put a plausible default for CC_FOR_BUILD in Makefile. | |
c906108c SS |
21 | if test "x$cross_compiling" = "xno"; then |
22 | CC_FOR_BUILD='$(CC)' | |
23 | else | |
24 | CC_FOR_BUILD=gcc | |
25 | fi | |
26 | AC_SUBST(CC_FOR_BUILD) | |
27 | ||
28 | # If a cpu ever has more than one simulator to choose from, use | |
29 | # --enable-sim=... to choose. | |
30 | AC_ARG_ENABLE(sim, | |
31 | [ --enable-sim ], | |
32 | [case "${enableval}" in | |
33 | yes | no) ;; | |
34 | *) AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;; | |
35 | esac]) | |
36 | ||
37 | # Assume simulator can be built with cc. | |
38 | # If the user passes --enable-sim built it regardless of $(CC). | |
39 | only_if_gcc=no | |
40 | only_if_enabled=no | |
41 | extra_subdirs=common | |
42 | ||
43 | # WHEN ADDING ENTRIES TO THIS MATRIX: | |
44 | # Make sure that the left side always has two dashes. Otherwise you | |
45 | # can get spurious matches. Even for unambiguous cases, do this as a | |
46 | # convention, else the table becomes a real mess to understand and maintain. | |
47 | ||
48 | case "${target}" in | |
2acceee2 | 49 | arm*-*-* | thumb*-*-*) |
6426a772 JM |
50 | sim_target=arm |
51 | extra_subdirs="${extra_subdirs} testsuite" | |
52 | ;; | |
bcd65766 NC |
53 | strongarm*-*-*) |
54 | sim_target=arm | |
55 | extra_subdirs="${extra_subdirs} testsuite" | |
56 | ;; | |
c906108c SS |
57 | d10v-*-*) sim_target=d10v ;; |
58 | d30v-*-*) | |
59 | sim_target=d30v | |
60 | only_if_gcc=yes | |
61 | extra_subdirs="${extra_subdirs} igen" | |
62 | ;; | |
63 | fr30-*-*) sim_target=fr30 ;; | |
64 | h8300*-*-*) sim_target=h8300 ;; | |
65 | h8500-*-*) sim_target=h8500 ;; | |
66 | i960-*-*) sim_target=i960 ;; | |
67 | m32r-*-*) sim_target=m32r ;; | |
7a292a7a | 68 | mcore-*-*) sim_target=mcore ;; |
c906108c SS |
69 | mips*-*-*) |
70 | # The MIPS simulator can only be compiled by gcc. | |
71 | sim_target=mips | |
72 | only_if_gcc=yes | |
73 | extra_subdirs="${extra_subdirs} igen" | |
74 | ;; | |
75 | mn10300*-*-*) | |
76 | # The mn10300 simulator can only be compiled by gcc. | |
77 | sim_target=mn10300 | |
78 | only_if_gcc=yes | |
79 | extra_subdirs="${extra_subdirs} igen" | |
80 | ;; | |
81 | mn10200*-*-*) | |
82 | sim_target=mn10200 | |
83 | ;; | |
84 | sh*-*-*) sim_target=sh ;; | |
85 | powerpc*-*-eabi* | powerpc*-*-solaris* | powerpc*-*-sysv4* | powerpc*-*-elf* | powerpc*-*-linux* ) | |
86 | # The PowerPC simulator uses the GCC extension long long as well as | |
87 | # ANSI prototypes, so don't enable it for random host compilers | |
88 | # unless asked to. | |
89 | sim_target=ppc | |
90 | only_if_gcc=yes | |
91 | #extra_subdirs="${extra_subdirs}" | |
92 | ;; | |
6c29acca AC |
93 | tic80-*-*) |
94 | sim_target=tic80 | |
95 | only_if_gcc=yes | |
96 | extra_subdirs="${extra_subdirs} igen" | |
97 | ;; | |
c906108c SS |
98 | v850-*-*) |
99 | # The V850 simulator can only be compiled by gcc. | |
100 | sim_target=v850 | |
101 | extra_subdirs="${extra_subdirs} igen" | |
102 | only_if_gcc=yes | |
103 | ;; | |
104 | v850e-*-*) | |
105 | # The V850 simulator can only be compiled by gcc. | |
106 | sim_target=v850 | |
107 | extra_subdirs="${extra_subdirs} igen" | |
108 | only_if_gcc=yes | |
109 | ;; | |
110 | v850ea-*-*) | |
111 | # The V850 simulator can only be compiled by gcc. | |
112 | sim_target=v850 | |
113 | extra_subdirs="${extra_subdirs} igen" | |
114 | only_if_gcc=yes | |
115 | ;; | |
116 | w65-*-*) | |
117 | sim_target=w65 | |
118 | # The w65 is suffering from gradual decay. | |
119 | only_if_enabled=yes | |
120 | ;; | |
121 | z8k*-*-*) sim_target=z8k ;; | |
122 | sparc64-*-*) | |
123 | only_if_gcc=yes | |
7a292a7a | 124 | sim_target=none # Don't build erc32 if sparc64. |
c906108c SS |
125 | ;; |
126 | sparclite*-*-* | sparc86x*-*-*) | |
127 | # The SPARC simulator can only be compiled by gcc. | |
128 | only_if_gcc=yes | |
7a292a7a | 129 | sim_target=erc32 |
c906108c SS |
130 | ;; |
131 | sparc*-*-*) | |
132 | # The SPARC simulator can only be compiled by gcc. | |
133 | only_if_gcc=yes | |
7a292a7a SS |
134 | # Unfortunately erc32 won't build on many hosts, so only enable |
135 | # it if the user really really wants it. | |
136 | only_if_enabled=yes | |
137 | sim_target=erc32 | |
c906108c SS |
138 | ;; |
139 | *) sim_target=none ;; | |
140 | esac | |
141 | ||
142 | ||
c906108c SS |
143 | # Is there a testsuite directory for the target? |
144 | testdir=`echo ${target} | sed -e 's/-.*-/-/'` | |
145 | if test -r ${srcdir}/testsuite/${testdir}/configure ; then | |
146 | extra_subdirs="${extra_subdirs} testsuite" | |
147 | fi | |
148 | ||
149 | ||
150 | case "${enable_sim}" in | |
151 | no) sim_target=none ;; | |
152 | yes) | |
153 | if test ${only_if_gcc} = yes ; then | |
154 | if test "${GCC}" != yes ; then | |
155 | echo "Can't enable simulator since not compiling with GCC." | |
156 | sim_target=none | |
157 | fi | |
158 | fi | |
159 | ;; | |
160 | *) | |
161 | if test ${only_if_enabled} = yes ; then | |
162 | sim_target=none | |
163 | else | |
164 | if test ${only_if_gcc} = yes ; then | |
165 | if test "${GCC}" != yes ; then | |
166 | sim_target=none | |
167 | fi | |
168 | fi | |
169 | fi | |
170 | ;; | |
171 | esac | |
172 | ||
173 | if test x"${sim_target}" != xnone ; then | |
174 | configdirs="${extra_subdirs} ${sim_target}" | |
175 | AC_CONFIG_SUBDIRS($configdirs) | |
176 | fi | |
177 | ||
178 | AC_OUTPUT(Makefile) | |
179 | ||
180 | exit 0 |