configure sparc subdir if --with-cgen
[external/binutils.git] / sim / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_PREREQ(2.12.1)dnl
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.
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)
28
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 ],
33 [case "${enableval}" in
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
41 only_if_enabled=no
42 extra_subdirs=common
43
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
50   arm*-*-*)             sim_target=arm ;;
51   thumb*-*-*)           sim_target=arm ;;
52   d10v-*-*)             sim_target=d10v ;;
53   d30v-*-*)
54         sim_target=d30v
55         only_if_gcc=yes
56         extra_subdirs="${extra_subdirs} igen"
57         ;;
58   fr30-*-*)             sim_target=fr30 ;;
59   h8300*-*-*)           sim_target=h8300 ;;
60   h8500-*-*)            sim_target=h8500 ;;
61   i960-*-*)             sim_target=i960 ;;
62   m32r-*-*)             sim_target=m32r ;;
63   mips*-*-*)
64         # The MIPS simulator can only be compiled by gcc.
65         sim_target=mips
66         only_if_gcc=yes
67         extra_subdirs="${extra_subdirs} igen"
68         ;;
69   mn10300*-*-*)
70         # The mn10300 simulator can only be compiled by gcc.
71         sim_target=mn10300
72         only_if_gcc=yes
73         extra_subdirs="${extra_subdirs} igen"
74         ;;
75   mn10200*-*-*)
76         sim_target=mn10200
77         ;;
78   sh*-*-*)              sim_target=sh ;;
79   powerpc*-*-eabi* | powerpc*-*-solaris* | powerpc*-*-sysv4* | powerpc*-*-elf* | powerpc*-*-linux* )
80         # The PowerPC simulator uses the GCC extension long long as well as
81         # ANSI prototypes, so don't enable it for random host compilers
82         # unless asked to.
83         sim_target=ppc
84         only_if_gcc=yes
85         #extra_subdirs="${extra_subdirs}"
86         ;;
87 # start-sanitize-tic80
88   tic80-*-*)
89         sim_target=tic80
90         only_if_gcc=yes
91         extra_subdirs="${extra_subdirs} igen"
92         ;;
93 # end-sanitize-tic80
94   v850-*-*)
95         # The V850 simulator can only be compiled by gcc.
96         sim_target=v850
97         extra_subdirs="${extra_subdirs} igen"
98         only_if_gcc=yes
99         ;;
100   v850e-*-*)
101         # The V850 simulator can only be compiled by gcc.
102         sim_target=v850
103         extra_subdirs="${extra_subdirs} igen"
104         only_if_gcc=yes
105         ;;
106   v850ea-*-*)
107         # The V850 simulator can only be compiled by gcc.
108         sim_target=v850
109         extra_subdirs="${extra_subdirs} igen"
110         only_if_gcc=yes
111         ;;
112   w65-*-*)
113         sim_target=w65
114         # The w65 is suffering from gradual decay.
115         only_if_enabled=yes
116         ;;
117   z8k*-*-*)             sim_target=z8k ;;
118   sparc64-*-*)
119         only_if_gcc=yes
120         if test "x${with_cgen}" = xyes ; then
121                 sim_target=sparc
122                 extra_subdirs="${extra_subdirs} testsuite"
123         else
124                 sim_target=none # Don't build erc32 if sparc64.
125         fi
126         ;;
127   sparclite*-*-* | sparc86x*-*-*)
128         # The SPARC simulator can only be compiled by gcc.
129         only_if_gcc=yes
130         if test "x${with_cgen}" = xyes ; then
131                 sim_target=sparc
132                 extra_subdirs="${extra_subdirs} testsuite"
133         else
134                 sim_target=erc32
135         fi
136         ;;
137   sparc*-*-*)
138         # The SPARC simulator can only be compiled by gcc.
139         only_if_gcc=yes
140         if test "x${with_cgen}" = xyes ; then
141                 sim_target=sparc
142                 extra_subdirs="${extra_subdirs} testsuite"
143         else
144                 # Unfortunately erc32 won't build on many hosts, so only enable
145                 # it if the user really really wants it.
146                 only_if_enabled=yes
147                 sim_target=erc32
148         fi
149         ;;
150   *)                    sim_target=none ;;
151 esac
152
153
154 # start-sanitize-gxsim
155 AC_ARG_ENABLE(sim-gx, [],
156 [case "${enableval}" in
157   yes) 
158     if test -d ${srcdir}/${sim_target}-gx ; then
159        extra_subdirs="${sim_target}-gx"
160     else
161         AC_MSG_WARN(GX simulator not available for ${sim_target})
162     fi ;;
163 esac])dnl
164 # end-sanitize-gxsim
165
166
167 # Is there a testsuite directory for the target?
168 testdir=`echo ${target} | sed -e 's/-.*-/-/'`
169 if test -r ${srcdir}/testsuite/${testdir}/configure ; then
170   extra_subdirs="${extra_subdirs} testsuite"
171 fi
172
173
174 case "${enable_sim}" in
175 no)     sim_target=none ;;
176 yes)
177         if test ${only_if_gcc} = yes ; then
178                 if test "${GCC}" != yes ; then
179                         echo "Can't enable simulator since not compiling with GCC."
180                         sim_target=none
181                 fi
182         fi
183         ;;
184 *)
185         if test ${only_if_enabled} = yes ; then
186                 sim_target=none
187         else
188                 if test ${only_if_gcc} = yes ; then
189                         if test "${GCC}" != yes ; then
190                                 sim_target=none
191                         fi
192                 fi
193         fi
194         ;;
195 esac
196
197 if test x"${sim_target}" != xnone ; then
198         configdirs="${extra_subdirs} ${sim_target}"
199         AC_CONFIG_SUBDIRS($configdirs)
200 fi
201
202 AC_OUTPUT(Makefile)
203
204 exit 0