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 ;; |
745a0437 | 51 | d10v-*-*) sim_target=d10v ;; |
1fe4ec07 AC |
52 | # start-sanitize-d30v |
53 | d30v-*-*) | |
54 | sim_target=d30v | |
55 | only_if_gcc=yes | |
52352d38 | 56 | extra_subdirs="${extra_subdirs} igen" |
1fe4ec07 AC |
57 | ;; |
58 | # end-sanitize-d30v | |
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 | |
72 | ;; | |
3788a2b1 JL |
73 | mn10200*-*-*) |
74 | sim_target=mn10200 | |
75 | ;; | |
126d9d0a | 76 | sh*-*-*) sim_target=sh ;; |
cf1e294c | 77 | powerpc*-*-eabi* | powerpc*-*-solaris* | powerpc*-*-sysv4* | powerpc*-*-elf* | powerpc*-*-linux* ) |
6cc77b01 DE |
78 | # The PowerPC simulator uses the GCC extension long long as well as |
79 | # ANSI prototypes, so don't enable it for random host compilers | |
80 | # unless asked to. | |
81 | sim_target=ppc | |
82 | only_if_gcc=yes | |
1fe4ec07 | 83 | #extra_subdirs="${extra_subdirs}" |
6cc77b01 | 84 | ;; |
15c16493 AC |
85 | # start-sanitize-tic80 |
86 | tic80-*-*) | |
87 | sim_target=tic80 | |
88 | only_if_gcc=yes | |
89 | extra_subdirs="${extra_subdirs} igen" | |
90 | ;; | |
91 | # end-sanitize-tic80 | |
aee4f36a | 92 | v850-*-*) |
6cc77b01 DE |
93 | # The V850 simulator can only be compiled by gcc. |
94 | sim_target=v850 | |
04258dee | 95 | extra_subdirs="${extra_subdirs} igen" |
6cc77b01 DE |
96 | only_if_gcc=yes |
97 | ;; | |
6ba5294a NC |
98 | # start-sanitize-v850e |
99 | v850e-*-*) | |
100 | # The V850 simulator can only be compiled by gcc. | |
101 | sim_target=v850 | |
04258dee | 102 | extra_subdirs="${extra_subdirs} igen" |
6ba5294a NC |
103 | only_if_gcc=yes |
104 | ;; | |
6ba5294a NC |
105 | v850eq-*-*) |
106 | # The V850 simulator can only be compiled by gcc. | |
107 | sim_target=v850 | |
944deab6 | 108 | extra_subdirs="${extra_subdirs} igen" |
6ba5294a NC |
109 | only_if_gcc=yes |
110 | ;; | |
f13f11b4 | 111 | # end-sanitize-v850e |
3f1a33d6 AC |
112 | w65-*-*) |
113 | sim_target=w65 | |
114 | # The w65 is suffering from gradual decay. | |
115 | only_if_enabled=yes | |
116 | ;; | |
1ffd292b | 117 | z8k*-*-*) sim_target=z8k ;; |
2a2eda4d | 118 | sparc64-*-*) |
4234ffa2 DE |
119 | sim_target=none # Don't build erc32 if sparc64. |
120 | ;; | |
6cc77b01 DE |
121 | sparc*-*-*) |
122 | # The SPARC simulator can only be compiled by gcc. | |
123 | sim_target=erc32 | |
124 | only_if_gcc=yes | |
247fccde AC |
125 | # Unfortunately erc32 won't build on many hosts, so only enable |
126 | # it if the user really really wants it. | |
127 | only_if_enabled=yes | |
6cc77b01 | 128 | ;; |
47dba87a | 129 | *) sim_target=none ;; |
b0c9f026 SC |
130 | esac |
131 | ||
52352d38 AC |
132 | |
133 | # Is there a testsuite directory for the target? | |
134 | testdir=`echo ${target} | sed -e 's/-.*-/-/'` | |
135 | if test -r ${srcdir}/testsuite/${testdir}/configure ; then | |
136 | extra_subdirs="${extra_subdirs} testsuite" | |
137 | fi | |
138 | ||
139 | ||
6cc77b01 DE |
140 | case "${enable_sim}" in |
141 | no) sim_target=none ;; | |
142 | yes) | |
143 | if test ${only_if_gcc} = yes ; then | |
144 | if test "${GCC}" != yes ; then | |
145 | echo "Can't enable simulator since not compiling with GCC." | |
146 | sim_target=none | |
147 | fi | |
148 | fi | |
149 | ;; | |
150 | *) | |
247fccde AC |
151 | if test ${only_if_enabled} = yes ; then |
152 | sim_target=none | |
153 | else | |
154 | if test ${only_if_gcc} = yes ; then | |
155 | if test "${GCC}" != yes ; then | |
156 | sim_target=none | |
157 | fi | |
6cc77b01 DE |
158 | fi |
159 | fi | |
160 | ;; | |
161 | esac | |
162 | ||
4234ffa2 | 163 | if test x"${sim_target}" != xnone ; then |
1fe4ec07 | 164 | configdirs="${extra_subdirs} ${sim_target}" |
2a2eda4d DE |
165 | AC_CONFIG_SUBDIRS($configdirs) |
166 | fi | |
b0c9f026 | 167 | |
1ffd292b | 168 | AC_OUTPUT(Makefile) |
23de525f PS |
169 | |
170 | exit 0 |