OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [branches/] [stable_0_2_x/] [or1ksim/] [configure.in] - Blame information for rev 1507

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 jrydberg
dnl
2
dnl Configure script for the OpenRISC 1000 simulator
3
dnl
4
dnl report bugs to jrydberg@phx.pp.se
5
dnl
6
dnl Process this file with autoconf to produce a configure script.
7
 
8 18 lampret
AC_INIT(cpu/or32/execute.c)
9 10 jrydberg
AC_CANONICAL_SYSTEM
10 26 lampret
AM_INIT_AUTOMAKE(or1ksim, 1.3)
11 7 jrydberg
AM_CONFIG_HEADER(config.h)
12
 
13 18 lampret
AC_REVISION([for or1ksim-1.2, version 2.14, from autoconf version] AC_ACVERSION)
14
SIMVERSION=1.2
15 7 jrydberg
 
16
dnl make sure we are using a recent autoconf version
17
AC_PREREQ(2.10)
18
AC_CANONICAL_HOST
19
 
20 28 lampret
dnl yuck
21
case "$target_cpu" in
22
or32*)  CPU_ARCH=or32;
23
        ARCH_ISA=OR32;;
24
dlx*)   CPU_ARCH=dlx;
25
        ARCH_ISA=DLX;;
26 1448 nogj
*)      AC_MSG_ERROR(Unknown target architechture $target_cpu);;
27 28 lampret
esac
28
AC_SUBST(CPU_ARCH)
29
 
30 7 jrydberg
# We want these before the checks, so the checks can modify their values.
31 1308 phoenix
test -z "$CFLAGS" && CFLAGS="-g -Wall" auto_cflags=1
32 7 jrydberg
 
33
AC_PROG_CC
34
AC_MINIX
35
 
36 28 lampret
AC_PROG_MAKE_SET
37 7 jrydberg
 
38
# If we're using gcc and the user hasn't specified CFLAGS, add -O2 to CFLAGS.
39 28 lampret
test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O2 -D$ARCH_ISA"
40 7 jrydberg
 
41
AC_PROG_GCC_TRADITIONAL
42
AC_PROG_INSTALL
43
AC_CHECK_PROG(AR, ar, ar)
44
dnl Set default for ARFLAGS, since autoconf does not have a macro for it.
45
dnl This allows people to set it when running configure or make
46
test -n "$ARFLAGS" || ARFLAGS="cr"
47
AC_PROG_RANLIB
48
 
49
MAKE_SHELL=/bin/sh
50
 
51
AC_SUBST(MAKE_SHELL)
52
 
53 28 lampret
AC_TYPE_SIGNAL
54 7 jrydberg
AC_HEADER_STAT
55
AC_HEADER_DIRENT
56
AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr setlocale lstat)
57 1323 phoenix
AC_CHECK_FUNCS(strndup grantpt unlockpt ptsname on_exit isblank)
58 7 jrydberg
AC_FUNC_STRCOLL
59
AC_CHECK_HEADERS(unistd.h stdlib.h varargs.h stdarg.h string.h \
60 1242 hpanther
                sys/ptem.h sys/pte.h sys/stream.h sys/stropts.h sys/select.h \
61 345 erez
                termcap.h termios.h termio.h sys/file.h locale.h\
62 1350 nogj
                net/ethernet.h sys/ethernet.h malloc.h inttypes.h)
63 1242 hpanther
AC_C_BIGENDIAN
64 7 jrydberg
 
65 202 erez
dnl check for "long long" (added by Erez)
66
AC_TRY_COMPILE(,[long long ll; unsigned long long ull;],AC_DEFINE(CC_HAS_LONG_LONG))
67
 
68 1350 nogj
dnl check for {u,}int{8,16,32}_t in inttypes.h
69
AC_CHECK_TYPES([uint8_t, uint16_t, uint32_t],,, [#include ])
70
AC_CHECK_TYPES([int8_t, int16_t, int32_t],,, [#include ])
71
 
72
AC_CHECK_SIZEOF(char, 1)
73
AC_CHECK_SIZEOF(short, 1)
74
AC_CHECK_SIZEOF(int, 1)
75
AC_CHECK_SIZEOF(long, 1)
76
 
77 16 jrydberg
dnl check for GNU readline
78 1507 nogj
AC_CHECK_LIB(readline, add_history)
79 16 jrydberg
 
80 7 jrydberg
dnl yuck
81
case "$host_os" in
82
aix*)   prefer_curses=yes ;;
83
esac
84
 
85
case "$host_cpu" in
86
*cray*) LOCAL_CFLAGS=-DCRAY ;;
87
esac
88
 
89
case "$host_os" in
90
isc*)   LOCAL_CFLAGS=-Disc386 ;;
91
esac
92
 
93 132 chris
case "$host_os" in
94
solaris*) LIBS="-lsocket -lnsl" ;;
95
esac
96
 
97 175 markom
dnl define options
98
 
99 517 markom
AC_MSG_CHECKING(whether to enable profiling)
100
AC_ARG_ENABLE(profiling,
101
    [  --enable-profiling      generate profiling code], [
102
    case "$enableval" in
103
        yes) profile="-pg -a" ;;
104
    esac
105
])
106
AC_MSG_RESULT(${enable_profiling-no})
107
 
108 1450 nogj
execution="1"
109
 
110 1345 nogj
INCLUDES="-I\${top_builddir}/cpu/$CPU_ARCH"
111 1450 nogj
AC_MSG_CHECKING(which execution style to use)
112
AC_ARG_ENABLE(execution,
113 1453 nogj
    [  --enable-execution Execution style to use (simple/complex/dynamic)],
114 1450 nogj
    [
115 706 markom
    case "$enableval" in
116 1450 nogj
    simple)
117
      INCLUDES="-I\${top_srcdir}/cpu/$CPU_ARCH"
118
      execution="0"
119
      AC_MSG_RESULT(simple)
120
      ;;
121
    complex)
122
      INCLUDES="-I\${top_builddir}/cpu/$CPU_ARCH"
123
      execution="1"
124
      AC_MSG_RESULT(complex)
125
      ;;
126 1452 nogj
    dynamic)
127
      INCLUDES="-I\${top_srcdir}/cpu/$CPU_ARCH"
128
      execution="2"
129
      AC_MSG_RESULT(dynamic)
130
      ;;
131 1450 nogj
    *)
132 1452 nogj
      AC_MSG_ERROR("excecution must one of simple/complex/dynamic")
133 1450 nogj
      ;;
134 706 markom
    esac
135 1450 nogj
    ])
136 706 markom
 
137 849 markom
eth_phy="0"
138
AC_MSG_CHECKING(whether to enable ethernet phy emulation)
139
AC_ARG_ENABLE(ethphy,
140 894 simons
    [  --enable-ethphy    compiles sim with ethernet phy support], [
141 849 markom
    case "$enableval" in
142
  no)  eth_phy="0" ;;
143
        yes) eth_phy="1" ;;
144
    esac
145
])
146
AC_MSG_RESULT(${enable_eth_phy-no})
147
 
148
 
149 721 markom
raw_range_stats="0"
150
AC_MSG_CHECKING(whether to use raw range stats)
151
AC_ARG_ENABLE(range_stats,
152
    [  --enable-range-stats      Specifies, whether we should do register accesses over time analysis.], [
153
    case "$enableval" in
154
  no)  raw_range_stats="0" ;;
155
        yes) raw_range_stats="1" simple_execution="1" ;;
156
    esac
157
])
158
AC_MSG_RESULT(${enable_range_stats-no})
159
 
160 910 lampret
set_ov_flag="0"
161 721 markom
AC_MSG_CHECKING(whether instructions set overflow flag)
162
AC_ARG_ENABLE(ov_flag,
163
    [  --enable-ov-flag      Whether instructions set overflow flag.], [
164
    case "$enableval" in
165
  no)  set_ov_flag="0" ;;
166
        yes) set_ov_flag="1" ;;
167
    esac
168
])
169
AC_MSG_RESULT(${enable_ov_flag-no})
170
 
171 910 lampret
set_arith_flag="0"
172 721 markom
AC_MSG_CHECKING(whether arithmethic instructions set flag)
173
AC_ARG_ENABLE(arith_flag,
174
    [  --enable-arith-flag      Whether arithmethic instructions setflag.], [
175
    case "$enableval" in
176
  no)  set_arith_flag="0" ;;
177
        yes) set_arith_flag="1" ;;
178
    esac
179
])
180
AC_MSG_RESULT(${enable_arith_flag-no})
181
 
182
AC_DEFINE_UNQUOTED(RAW_RANGE_STATS, $raw_range_stats)
183
AC_DEFINE_UNQUOTED(SET_OV_FLAG, $set_ov_flag)
184
AC_DEFINE_UNQUOTED(ARITH_SET_FLAG, $set_arith_flag)
185 849 markom
AC_DEFINE_UNQUOTED(HAVE_ETH_PHY, $eth_phy)
186 1450 nogj
AC_DEFINE_UNQUOTED(SIMPLE_EXECUTION, $execution == 0)
187
AC_DEFINE_UNQUOTED(COMPLEX_EXECUTION, $execution == 1)
188 1452 nogj
AC_DEFINE_UNQUOTED(DYNAMIC_EXECUTION, $execution == 2)
189
AM_CONDITIONAL(GENERATE_NEEDED, test x$execution = x1)
190
AM_CONDITIONAL(DYNAMIC_EXECUTION, test x$execution = x2)
191 706 markom
 
192 721 markom
 
193 175 markom
AC_MSG_CHECKING(for implementation-specific data)
194
AC_ARG_ENABLE(impl,
195
    [  --enable-impl=     use -specific environment
196
                          (one of: bender, mp3, default)], [
197
    case "$enableval" in
198
        no|default)        IMPL="DEFAULT" ;;
199
        mp3)               IMPL="MP3"     ;;
200
        bender)            IMPL="BENDER"  ;;
201
        *)
202
            AC_MSG_RESULT(failed)
203
            AC_MSG_ERROR([bad --enable-impl option])
204
            ;;
205
    esac
206
])
207
AC_MSG_RESULT(${IMPL=DEFAULT})
208
if test "$IMPL" = "DEFAULT"
209
then
210
    AC_MSG_WARN([using default environment])
211
fi
212 517 markom
 
213
test -n "$profile"  && CFLAGS="$CFLAGS $profile" LDFLAGS="$LDFLAGS $profile"
214 175 markom
IMPL="-DIMPL_$IMPL"
215 518 markom
# CFLAGS="$CFLAGS -O4"
216 175 markom
 
217 7 jrydberg
BUILD_DIR=`pwd`
218
AC_SUBST(BUILD_DIR)
219
 
220
AC_SUBST(CFLAGS)
221
AC_SUBST(LOCAL_CFLAGS)
222 1452 nogj
AC_SUBST(LOCAL_LDFLAGS)
223 7 jrydberg
AC_SUBST(LOCAL_DEFS)
224
 
225
AC_SUBST(AR)
226
AC_SUBST(ARFLAGS)
227
 
228
AC_SUBST(host_cpu)
229
AC_SUBST(host_os)
230
AC_SUBST(host)
231
 
232
AC_SUBST(SUMVERSION)
233
AC_SUBST(TERMCAP_LIB)
234
 
235 123 markom
AC_DEFINE(HAS_EXECUTION)
236 371 markom
AC_DEFINE(HAS_DEBUG)
237 7 jrydberg
 
238
dnl yuck
239 1345 nogj
INCLUDES="$INCLUDES -I\${top_srcdir} -I\${top_srcdir}/cpu/common \
240
-I\${top_srcdir}/cpu/or1k -I\${top_srcdir}/cache -I\${top_srcdir}/mmu \
241 103 lampret
-I\${top_srcdir}/bpb -I\${top_srcdir}/peripheral -I\${top_srcdir}/tick \
242 1345 nogj
-I\${top_srcdir}/peripheral/channels -I\${top_srcdir}/pm -I\${top_srcdir}/pic \
243
-I\${top_srcdir}/debug -I\${top_srcdir}/vapi -I\${top_srcdir}/support \
244 1350 nogj
-I\${top_srcdir}/cuc -I\${top_srcdir}/port"
245 7 jrydberg
AC_SUBST(INCLUDES)
246
 
247
AC_OUTPUT([Makefile bpb/Makefile cache/Makefile cpu/Makefile
248 879 markom
        cpu/common/Makefile cpu/or32/Makefile cuc/Makefile
249 221 markom
        cpu/or1k/Makefile cpu/dlx/Makefile debug/Makefile
250 103 lampret
        support/Makefile mmu/Makefile peripheral/Makefile tick/Makefile
251 1074 rprescott
        peripheral/channels/Makefile
252 1350 nogj
        pm/Makefile pic/Makefile vapi/Makefile port/Makefile],
253 7 jrydberg
[
254
# Makefile uses this timestamp file to record whether config.h is up to date.
255
echo > stamp-h
256
])

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.