aboutsummaryrefslogtreecommitdiff
path: root/sim/configure.in
blob: 85b24c5500710506f5afb48fd02b2feddea47a81 (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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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
extra_subdirs=common

# 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 ;;
  d10v-*-*)		sim_target=d10v ;;
# start-sanitize-d30v
  d30v-*-*)
	sim_target=d30v
	only_if_gcc=yes
	extra_subdirs="${extra_subdirs} igen testsuite"
	;;
# end-sanitize-d30v
  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
	;;
  mn10300*-*-*)
	# The mn10300 simulator can only be compiled by gcc.
	sim_target=mn10300
	only_if_gcc=yes
	;;
  mn10200*-*-*)
	sim_target=mn10200
	;;
  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
	#extra_subdirs="${extra_subdirs}"
	;;
# start-sanitize-tic80
  tic80-*-*)
	sim_target=tic80
	only_if_gcc=yes
	extra_subdirs="${extra_subdirs} igen"
	;;
# end-sanitize-tic80
# 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 ;;
  sparc64-*-*)
	sim_target=none # Don't build erc32 if sparc64.
	;;
  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

if test x"${sim_target}" != xnone ; then
	configdirs="${extra_subdirs} ${sim_target}"
	AC_CONFIG_SUBDIRS($configdirs)
fi

AC_OUTPUT(Makefile)

exit 0