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

Subversion Repositories or1k

[/] [or1k/] [tags/] [stable_0_2_0/] [or1ksim/] [configure.in] - Blame information for rev 1778

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 1576 phoenix
AC_INIT
9
AC_CONFIG_SRCDIR([cpu/or32/execute.c])
10
AC_CANONICAL_TARGET([])
11 26 lampret
AM_INIT_AUTOMAKE(or1ksim, 1.3)
12 1576 phoenix
AC_CONFIG_HEADERS([config.h])
13 7 jrydberg
 
14 18 lampret
AC_REVISION([for or1ksim-1.2, version 2.14, from autoconf version] AC_ACVERSION)
15
SIMVERSION=1.2
16 7 jrydberg
 
17
dnl make sure we are using a recent autoconf version
18 1576 phoenix
AC_PREREQ(2.59)
19 7 jrydberg
 
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 1576 phoenix
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[long long ll; unsigned long long ull;]])],[AC_DEFINE(CC_HAS_LONG_LONG, 1, "Whether the compiler supports 'long long'.")],[])
67 202 erez
 
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 1576 phoenix
    ],
136
    [
137
      AC_MSG_RESULT(complex)
138 1450 nogj
    ])
139 706 markom
 
140 849 markom
eth_phy="0"
141
AC_MSG_CHECKING(whether to enable ethernet phy emulation)
142
AC_ARG_ENABLE(ethphy,
143 894 simons
    [  --enable-ethphy    compiles sim with ethernet phy support], [
144 849 markom
    case "$enableval" in
145
  no)  eth_phy="0" ;;
146
        yes) eth_phy="1" ;;
147
    esac
148
])
149
AC_MSG_RESULT(${enable_eth_phy-no})
150
 
151
 
152 721 markom
raw_range_stats="0"
153
AC_MSG_CHECKING(whether to use raw range stats)
154
AC_ARG_ENABLE(range_stats,
155
    [  --enable-range-stats      Specifies, whether we should do register accesses over time analysis.], [
156
    case "$enableval" in
157
  no)  raw_range_stats="0" ;;
158
        yes) raw_range_stats="1" simple_execution="1" ;;
159
    esac
160
])
161
AC_MSG_RESULT(${enable_range_stats-no})
162
 
163 910 lampret
set_ov_flag="0"
164 721 markom
AC_MSG_CHECKING(whether instructions set overflow flag)
165
AC_ARG_ENABLE(ov_flag,
166
    [  --enable-ov-flag      Whether instructions set overflow flag.], [
167
    case "$enableval" in
168
  no)  set_ov_flag="0" ;;
169
        yes) set_ov_flag="1" ;;
170
    esac
171
])
172
AC_MSG_RESULT(${enable_ov_flag-no})
173
 
174 910 lampret
set_arith_flag="0"
175 721 markom
AC_MSG_CHECKING(whether arithmethic instructions set flag)
176
AC_ARG_ENABLE(arith_flag,
177
    [  --enable-arith-flag      Whether arithmethic instructions setflag.], [
178
    case "$enableval" in
179
  no)  set_arith_flag="0" ;;
180
        yes) set_arith_flag="1" ;;
181
    esac
182
])
183
AC_MSG_RESULT(${enable_arith_flag-no})
184
 
185 1576 phoenix
AC_DEFINE_UNQUOTED(RAW_RANGE_STATS, $raw_range_stats, [ Specifies, whether we should do register accesses over time analysis. Simple execution must be enabled!])
186
AC_DEFINE_UNQUOTED(SET_OV_FLAG, $set_ov_flag, [ Whether instructions set overflow flag])
187
AC_DEFINE_UNQUOTED(ARITH_SET_FLAG, $set_arith_flag, [Whether arithmethic instructions set flag on zero])
188
AC_DEFINE_UNQUOTED(HAVE_ETH_PHY, $eth_phy, [Whether we have ethernet PHY support])
189
AC_DEFINE_UNQUOTED(SIMPLE_EXECUTION, $execution == 0, [Whether we are building with simple execution module])
190
AC_DEFINE_UNQUOTED(COMPLEX_EXECUTION, $execution == 1, [Whether we are building with complex execution module])
191
AC_DEFINE_UNQUOTED(DYNAMIC_EXECUTION, $execution == 2, [Whether we are building with dynamic execution module])
192 1452 nogj
AM_CONDITIONAL(GENERATE_NEEDED, test x$execution = x1)
193
AM_CONDITIONAL(DYNAMIC_EXECUTION, test x$execution = x2)
194 706 markom
 
195 721 markom
 
196 517 markom
test -n "$profile"  && CFLAGS="$CFLAGS $profile" LDFLAGS="$LDFLAGS $profile"
197 518 markom
# CFLAGS="$CFLAGS -O4"
198 175 markom
 
199 7 jrydberg
BUILD_DIR=`pwd`
200
AC_SUBST(BUILD_DIR)
201
 
202
AC_SUBST(CFLAGS)
203
AC_SUBST(LOCAL_CFLAGS)
204 1452 nogj
AC_SUBST(LOCAL_LDFLAGS)
205 7 jrydberg
AC_SUBST(LOCAL_DEFS)
206
 
207
AC_SUBST(AR)
208
AC_SUBST(ARFLAGS)
209
 
210
AC_SUBST(host_cpu)
211
AC_SUBST(host_os)
212
AC_SUBST(host)
213
 
214
AC_SUBST(SUMVERSION)
215
AC_SUBST(TERMCAP_LIB)
216
 
217 1576 phoenix
AC_DEFINE(HAS_EXECUTION, 1, [ Some shared files require to know, whether we have execution functions defined.])
218
AC_DEFINE(HAS_DEBUG, 1, [ Some shared files require to know, whether we have debug functions.])
219 7 jrydberg
 
220
dnl yuck
221 1345 nogj
INCLUDES="$INCLUDES -I\${top_srcdir} -I\${top_srcdir}/cpu/common \
222
-I\${top_srcdir}/cpu/or1k -I\${top_srcdir}/cache -I\${top_srcdir}/mmu \
223 103 lampret
-I\${top_srcdir}/bpb -I\${top_srcdir}/peripheral -I\${top_srcdir}/tick \
224 1345 nogj
-I\${top_srcdir}/peripheral/channels -I\${top_srcdir}/pm -I\${top_srcdir}/pic \
225
-I\${top_srcdir}/debug -I\${top_srcdir}/vapi -I\${top_srcdir}/support \
226 1350 nogj
-I\${top_srcdir}/cuc -I\${top_srcdir}/port"
227 7 jrydberg
AC_SUBST(INCLUDES)
228
 
229 1576 phoenix
AC_CONFIG_FILES([Makefile bpb/Makefile cache/Makefile cpu/Makefile
230 879 markom
        cpu/common/Makefile cpu/or32/Makefile cuc/Makefile
231 221 markom
        cpu/or1k/Makefile cpu/dlx/Makefile debug/Makefile
232 103 lampret
        support/Makefile mmu/Makefile peripheral/Makefile tick/Makefile
233 1074 rprescott
        peripheral/channels/Makefile
234 1576 phoenix
        pm/Makefile pic/Makefile vapi/Makefile port/Makefile])
235
AC_CONFIG_COMMANDS([default],[[
236 7 jrydberg
# Makefile uses this timestamp file to record whether config.h is up to date.
237
echo > stamp-h
238 1576 phoenix
]],[[]])
239
AC_OUTPUT

powered by: WebSVN 2.1.0

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