Commit | Line | Data |
---|---|---|
1ffd292b | 1 | dnl Process this file with autoconf to produce a configure script. |
78c09e4a | 2 | AC_PREREQ(2.5)dnl |
1ffd292b | 3 | AC_INIT(Makefile.in) |
b0c9f026 | 4 | |
ed086b0a | 5 | AC_PROG_CC |
78c09e4a | 6 | AC_PROG_INSTALL |
ed086b0a FF |
7 | AC_CHECK_TOOL(AR, ar) |
8 | AC_CHECK_TOOL(RANLIB, ranlib, :) | |
9 | ||
1ffd292b C |
10 | AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..) |
11 | AC_CANONICAL_SYSTEM | |
12 | AC_ARG_PROGRAM | |
6f07ee29 MM |
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. | |
21 | AC_C_CROSS | |
22 | if test "x$cross_compiling" = "xno"; then | |
23 | CC_FOR_BUILD='$(CC)' | |
24 | else | |
25 | CC_FOR_BUILD=gcc | |
26 | fi | |
27 | AC_SUBST(CC_FOR_BUILD) | |
b0c9f026 | 28 | |
6cc77b01 DE |
29 | # If a cpu ever has more than one simulator to choose from, use |
30 | # --enable-sim=... to choose. | |
31 | AC_ARG_ENABLE(sim, | |
32 | [ --enable-sim ], | |
f50dc105 | 33 | [case "${enableval}" in |
6cc77b01 DE |
34 | yes | no) ;; |
35 | *) AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;; | |
36 | esac]) | |
37 | ||
38 | # Assume simulator can be built with cc. | |
39 | # If the user passes --enable-sim built it regardless of $(CC). | |
40 | only_if_gcc=no | |
247fccde | 41 | only_if_enabled=no |
1fe4ec07 | 42 | extra_subdirs=common |
f50dc105 | 43 | |
b0c9f026 SC |
44 | # WHEN ADDING ENTRIES TO THIS MATRIX: |
45 | # Make sure that the left side always has two dashes. Otherwise you | |
46 | # can get spurious matches. Even for unambiguous cases, do this as a | |
47 | # convention, else the table becomes a real mess to understand and maintain. | |
48 | ||
49 | case "${target}" in | |
d32033ad | 50 | arm*-*-*) sim_target=arm ;; |
89b993af | 51 | thumb*-*-*) sim_target=arm ;; |
745a0437 | 52 | d10v-*-*) sim_target=d10v ;; |
1fe4ec07 AC |
53 | d30v-*-*) |
54 | sim_target=d30v | |
55 | only_if_gcc=yes | |
52352d38 | 56 | extra_subdirs="${extra_subdirs} igen" |
1fe4ec07 | 57 | ;; |
168c5ef4 | 58 | fr30-*-*) sim_target=fr30 ;; |
1ffd292b | 59 | h8300*-*-*) sim_target=h8300 ;; |
47dba87a | 60 | h8500-*-*) sim_target=h8500 ;; |
aafb68ad | 61 | m32r-*-*) sim_target=m32r ;; |
68867afb | 62 | mips*-*-*) |
6cc77b01 DE |
63 | # The MIPS simulator can only be compiled by gcc. |
64 | sim_target=mips | |
65 | only_if_gcc=yes | |
2875c6c6 | 66 | extra_subdirs="${extra_subdirs} igen" |
6cc77b01 | 67 | ;; |
05ccbdfd JL |
68 | mn10300*-*-*) |
69 | # The mn10300 simulator can only be compiled by gcc. | |
70 | sim_target=mn10300 | |
71 | only_if_gcc=yes | |
9bd4b461 | 72 | extra_subdirs="${extra_subdirs} igen" |
05ccbdfd | 73 | ;; |
3788a2b1 JL |
74 | mn10200*-*-*) |
75 | sim_target=mn10200 | |
76 | ;; | |
126d9d0a | 77 | sh*-*-*) sim_target=sh ;; |
cf1e294c | 78 | powerpc*-*-eabi* | powerpc*-*-solaris* | powerpc*-*-sysv4* | powerpc*-*-elf* | powerpc*-*-linux* ) |
6cc77b01 DE |
79 | # The PowerPC simulator uses the GCC extension long long as well as |
80 | # ANSI prototypes, so don't enable it for random host compilers | |
81 | # unless asked to. | |
82 | sim_target=ppc | |
83 | only_if_gcc=yes | |
1fe4ec07 | 84 | #extra_subdirs="${extra_subdirs}" |
6cc77b01 | 85 | ;; |
15c16493 AC |
86 | # start-sanitize-tic80 |
87 | tic80-*-*) | |
88 | sim_target=tic80 | |
89 | only_if_gcc=yes | |
90 | extra_subdirs="${extra_subdirs} igen" | |
91 | ;; | |
92 | # end-sanitize-tic80 | |
aee4f36a | 93 | v850-*-*) |
6cc77b01 DE |
94 | # The V850 simulator can only be compiled by gcc. |
95 | sim_target=v850 | |
04258dee | 96 | extra_subdirs="${extra_subdirs} igen" |
6cc77b01 DE |
97 | only_if_gcc=yes |
98 | ;; | |
6ba5294a NC |
99 | # start-sanitize-v850e |
100 | v850e-*-*) | |
101 | # The V850 simulator can only be compiled by gcc. | |
102 | sim_target=v850 | |
04258dee | 103 | extra_subdirs="${extra_subdirs} igen" |
6ba5294a NC |
104 | only_if_gcc=yes |
105 | ;; | |
61c550e0 | 106 | v850ea-*-*) |
6ba5294a NC |
107 | # The V850 simulator can only be compiled by gcc. |
108 | sim_target=v850 | |
944deab6 | 109 | extra_subdirs="${extra_subdirs} igen" |
6ba5294a NC |
110 | only_if_gcc=yes |
111 | ;; | |
f13f11b4 | 112 | # end-sanitize-v850e |
3f1a33d6 AC |
113 | w65-*-*) |
114 | sim_target=w65 | |
115 | # The w65 is suffering from gradual decay. | |
116 | only_if_enabled=yes | |
117 | ;; | |
1ffd292b | 118 | z8k*-*-*) sim_target=z8k ;; |
2a2eda4d | 119 | sparc64-*-*) |
4234ffa2 DE |
120 | sim_target=none # Don't build erc32 if sparc64. |
121 | ;; | |
1c57e295 MA |
122 | sparclite*-*-* | sparc86x*-*-*) |
123 | # The SPARC simulator can only be compiled by gcc. | |
124 | sim_target=erc32 | |
125 | only_if_gcc=yes | |
126 | ;; | |
6cc77b01 DE |
127 | sparc*-*-*) |
128 | # The SPARC simulator can only be compiled by gcc. | |
129 | sim_target=erc32 | |
130 | only_if_gcc=yes | |
247fccde AC |
131 | # Unfortunately erc32 won't build on many hosts, so only enable |
132 | # it if the user really really wants it. | |
133 | only_if_enabled=yes | |
6cc77b01 | 134 | ;; |
47dba87a | 135 | *) sim_target=none ;; |
b0c9f026 SC |
136 | esac |
137 | ||
52352d38 | 138 | |
92fa4579 FCE |
139 | # start-sanitize-gxsim |
140 | AC_ARG_ENABLE(sim-gx, [], | |
141 | [case "${enableval}" in | |
142 | yes) | |
143 | if test -d ${srcdir}/${sim_target}-gx ; then | |
144 | extra_subdirs="${sim_target}-gx" | |
145 | else | |
146 | AC_MSG_WARN(GX simulator not available for ${sim_target}) | |
147 | fi ;; | |
148 | esac])dnl | |
149 | # end-sanitize-gxsim | |
150 | ||
151 | ||
52352d38 AC |
152 | # Is there a testsuite directory for the target? |
153 | testdir=`echo ${target} | sed -e 's/-.*-/-/'` | |
154 | if test -r ${srcdir}/testsuite/${testdir}/configure ; then | |
155 | extra_subdirs="${extra_subdirs} testsuite" | |
156 | fi | |
157 | ||
158 | ||
6cc77b01 DE |
159 | case "${enable_sim}" in |
160 | no) sim_target=none ;; | |
161 | yes) | |
162 | if test ${only_if_gcc} = yes ; then | |
163 | if test "${GCC}" != yes ; then | |
164 | echo "Can't enable simulator since not compiling with GCC." | |
165 | sim_target=none | |
166 | fi | |
167 | fi | |
168 | ;; | |
169 | *) | |
247fccde AC |
170 | if test ${only_if_enabled} = yes ; then |
171 | sim_target=none | |
172 | else | |
173 | if test ${only_if_gcc} = yes ; then | |
174 | if test "${GCC}" != yes ; then | |
175 | sim_target=none | |
176 | fi | |
6cc77b01 DE |
177 | fi |
178 | fi | |
179 | ;; | |
180 | esac | |
181 | ||
4234ffa2 | 182 | if test x"${sim_target}" != xnone ; then |
1fe4ec07 | 183 | configdirs="${extra_subdirs} ${sim_target}" |
2a2eda4d DE |
184 | AC_CONFIG_SUBDIRS($configdirs) |
185 | fi | |
b0c9f026 | 186 | |
1ffd292b | 187 | AC_OUTPUT(Makefile) |
23de525f PS |
188 | |
189 | exit 0 |