aboutsummaryrefslogtreecommitdiff
path: root/sim/configure.in
blob: 826d69991885bbb9e42376ee999bd6ad2b368244 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.5)dnl
AC_INIT(Makefile.in)

AC_PROG_CC
AC_PROG_INSTALL
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(RANLIB, ranlib, :)

AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
AC_CANONICAL_SYSTEM
AC_ARG_PROGRAM
AC_PROG_CC
AC_SUBST(CFLAGS)
AC_SUBST(HDEFINES)
AR=${AR-ar}
AC_SUBST(AR)
AC_PROG_RANLIB

# Put a plausible default for CC_FOR_BUILD in Makefile.
AC_C_CROSS
if test "x$cross_compiling" = "xno"; then
  CC_FOR_BUILD='$(CC)'
else
  CC_FOR_BUILD=gcc
fi
AC_SUBST(CC_FOR_BUILD)

# If a cpu ever has more than one simulator to choose from, use
# --enable-sim=... to choose.
AC_ARG_ENABLE(sim,
[  --enable-sim ],
[case "${enableval}" in
yes | no) ;;
*)	AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;;
esac])

# Assume simulator can be built with cc.
# If the user passes --enable-sim built it regardless of $(CC).
only_if_gcc=no

# WHEN ADDING ENTRIES TO THIS MATRIX:
#  Make sure that the left side always has two dashes.  Otherwise you
#  can get spurious matches.  Even for unambiguous cases, do this as a
#  convention, else the table becomes a real mess to understand and maintain.

case "${target}" in
  arm*-*-*)		sim_target=arm ;;
# start-sanitize-d10v
  d10v-*-*)		sim_target=d10v ;;
# end-sanitize-d10v
  h8300*-*-*)		sim_target=h8300 ;;
  h8500-*-*)		sim_target=h8500 ;;
  mips*-*-*)
	# The MIPS simulator can only be compiled by gcc.
	sim_target=mips
	only_if_gcc=yes
	;;
  mn10200*-*-*)
	# The mn10200 simulator can only be compiled by gcc.
	sim_target=mn10200
	only_if_gcc=yes
	;;
  mn10300*-*-*)
	# The mn10300 simulator can only be compiled by gcc.
	sim_target=mn10300
	only_if_gcc=yes
	;;
  sh*-*-*)		sim_target=sh ;;
  powerpc*-*-eabi* | powerpc*-*-solaris* | powerpc*-*-sysv4* | powerpc*-*-elf* | powerpc*-*-linux* )
	# The PowerPC simulator uses the GCC extension long long as well as
	# ANSI prototypes, so don't enable it for random host compilers
	# unless asked to.
	sim_target=ppc
	only_if_gcc=yes
	;;
# start-sanitize-v850
  v850-*-*)
	# The V850 simulator can only be compiled by gcc.
	sim_target=v850
	only_if_gcc=yes
	;;
# end-sanitize-v850
  w65-*-*)		sim_target=w65 ;;
  z8k*-*-*)		sim_target=z8k ;;
  sparc*-*-*)
	# The SPARC simulator can only be compiled by gcc.
	sim_target=erc32
	only_if_gcc=yes
	;;
  *)			sim_target=none ;;
esac

case "${enable_sim}" in
no)	sim_target=none ;;
yes)
	if test ${only_if_gcc} = yes ; then
		if test "${GCC}" != yes ; then
			echo "Can't enable simulator since not compiling with GCC."
			sim_target=none
		fi
	fi
	;;
*)
	if test ${only_if_gcc} = yes ; then
		if test "${GCC}" != yes ; then
			sim_target=none
		fi
	fi
	;;
esac

configdirs="common ${sim_target}"
AC_CONFIG_SUBDIRS($configdirs)

AC_OUTPUT(Makefile)

exit 0