aboutsummaryrefslogtreecommitdiff
path: root/sim/mips/configure.in
blob: c98b231a4242e8ba5bbf68734881d6ff662ec3d7 (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.
sinclude(../common/aclocal.m4)
AC_PREREQ(2.5)dnl
AC_INIT(Makefile.in)

SIM_AC_COMMON

dnl Options available in this module
SIM_AC_OPTION_INLINE(0)
SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
SIM_AC_OPTION_HOSTENDIAN
SIM_AC_OPTION_WARNINGS


# Ensure a reasonable default simulator is constructed:
case "${target}" in
# start-sanitize-tx19
  mipstx19*-*-*)        SIMCONF="-mips1 -mcpu=r1900 -mno-fp --warnings";;
# end-sanitize-tx19
# start-sanitize-r5900
  mips64r59*-*-*)      SIMCONF="-mips3 --warnings -mcpu=r5900";;
# end-sanitize-r5900
  mips64*-*-*)          SIMCONF="-mips0 --warnings";;
  mips16*-*-*)          SIMCONF="-mips0 --warnings";;
  mips*-*-*)            SIMCONF="-mips2 --warnings";;
  *)                    SIMCONF="-mips0 --warnings";;
esac
AC_SUBST(SIMCONF)

case "${target}" in
# start-sanitize-tx19
  mipstx19*-*-*)        SIM_SUBTARGET="-DSUBTARGET_R3900=1";;
# end-sanitize-tx19
  *)                    SIM_SUBTARGET="";;
esac
AC_SUBST(SIM_SUBTARGET)


#
# Select the byte order of the target
#
case "${target}" in
# start-sanitize-tx19
  mipstx19*-*-*)        mips_endian=0 ;;
# end-sanitize-tx19
# start-sanitize-r5900
  mips64r59*-*-*)	mips_endian=LITTLE_ENDIAN ;;
# end-sanitize-r5900
  mips64*-*-*)          mips_endian=0 ;;
  mips16*-*-*)          mips_endian=0 ;;
  mips*-*-*)            mips_endian=0 ;;
  *)                    mips_endian=0 ;;
esac
SIM_AC_OPTION_ENDIAN($mips_endian)


#
# Select the bitsize of the target
#
case "${target}" in
# start-sanitize-tx19
  mipstx19*-*-*)        mips_bitsize=32 ; mips_msb=31 ;;
# end-sanitize-tx19
# start-sanitize-r5900
  mips64r59*-*-*)	mips_bitsize=64 ; mips_msb=63 ;;
# end-sanitize-r5900
  mips64*-*-*)          mips_bitsize=64 ; mips_msb=63 ;;
  mips16*-*-*)          mips_bitsize=64 ; mips_msb=63 ;;
  mips*-*-*)            mips_bitsize=32 ; mips_msb=31 ;;
  *)                    mips_bitsize=64 ; mips_msb=63 ;;
esac
SIM_AC_OPTION_BITSIZE($mips_bitsize,$mips_msb)


#
# Select the floating hardware support of the target
#
mips_fpu=HARDWARE_FLOATING_POINT
case "${target}" in
# start-sanitize-tx19
  mipstx19*-*-*)        mips_fpu=SOFT_FLOATING_POINT ;;
# end-sanitize-tx19
# start-sanitize-r5900
  mips64r59*-*-*)       mips_fpu=HARD_FLOATING_POINT ;;
# end-sanitize-r5900
  mips64*-*-*)          mips_fpu=HARD_FLOATING_POINT ;;
  mips16*-*-*)          mips_fpu=HARD_FLOATING_POINT ;;
  mips*-*-*)            mips_fpu=HARD_FLOATING_POINT ;;
  *)                    mips_fpu=HARD_FLOATING_POINT ;;
esac
SIM_AC_OPTION_FLOAT($mips_fpu)


#
# Select the sim generator & architecture
#
sim_gen=NO
case "${target}" in
# start-sanitize-tx19
  mipstx19*-*-*)	sim_gen=M16 ;;
# end-sanitize-tx19
# start-sanitize-r5900
#  mips64r59*-*-*)       sim_gen=IGEN ;;
# end-sanitize-r5900
# start-sanitize-vr5400
  mips64vr54*-*-*)	sim_gen=IGEN ;;
# end-sanitize-vr5400
#  mips16*-*-*)          sim_gen=M16 ;;
  *)                     sim_gen=NO ;;
esac
AC_SUBST(sim_gen)


AC_CHECK_HEADERS(string.h strings.h stdlib.h stdlib.h)
AC_CHECK_LIB(m, fabs)
AC_CHECK_FUNCS(aint anint sqrt)

SIM_AC_OUTPUT