SConscript (3581:42242aef2724) SConscript (3583:f2b9961c45bd)
1# -*- mode:python -*-
2
3# Copyright (c) 2004-2005 The Regents of The University of Michigan
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are
8# met: redistributions of source code must retain the above copyright

--- 16 unchanged lines hidden (view full) ---

25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29# Authors: Steve Reinhardt
30
31import os
32import sys
1# -*- mode:python -*-
2
3# Copyright (c) 2004-2005 The Regents of The University of Michigan
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are
8# met: redistributions of source code must retain the above copyright

--- 16 unchanged lines hidden (view full) ---

25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29# Authors: Steve Reinhardt
30
31import os
32import sys
33from os.path import isdir
33from os.path import isfile, join as joinpath
34
35# This file defines how to build a particular configuration of M5
36# based on variable settings in the 'env' build environment.
37
38# Import build environment variable from SConstruct.
39Import('env')
40
41###################################################

--- 99 unchanged lines hidden (view full) ---

141 sim/sim_object.cc
142 sim/startup.cc
143 sim/stat_context.cc
144 sim/stat_control.cc
145 sim/system.cc
146 sim/trace_context.cc
147 ''')
148
34
35# This file defines how to build a particular configuration of M5
36# based on variable settings in the 'env' build environment.
37
38# Import build environment variable from SConstruct.
39Import('env')
40
41###################################################

--- 99 unchanged lines hidden (view full) ---

141 sim/sim_object.cc
142 sim/startup.cc
143 sim/stat_context.cc
144 sim/stat_control.cc
145 sim/system.cc
146 sim/trace_context.cc
147 ''')
148
149# Old FullCPU sources
150full_cpu_sources = Split('''
151 encumbered/cpu/full/bpred.cc
152 encumbered/cpu/full/commit.cc
153 encumbered/cpu/full/cpu.cc
154 encumbered/cpu/full/create_vector.cc
155 encumbered/cpu/full/cv_spec_state.cc
156 encumbered/cpu/full/dd_queue.cc
157 encumbered/cpu/full/dep_link.cc
158 encumbered/cpu/full/dispatch.cc
159 encumbered/cpu/full/dyn_inst.cc
160 encumbered/cpu/full/execute.cc
161 encumbered/cpu/full/fetch.cc
162 encumbered/cpu/full/floss_reasons.cc
163 encumbered/cpu/full/fu_pool.cc
164 encumbered/cpu/full/inst_fifo.cc
165 encumbered/cpu/full/instpipe.cc
166 encumbered/cpu/full/issue.cc
167 encumbered/cpu/full/ls_queue.cc
168 encumbered/cpu/full/machine_queue.cc
169 encumbered/cpu/full/pipetrace.cc
170 encumbered/cpu/full/readyq.cc
171 encumbered/cpu/full/reg_info.cc
172 encumbered/cpu/full/rob_station.cc
173 encumbered/cpu/full/spec_memory.cc
174 encumbered/cpu/full/spec_state.cc
175 encumbered/cpu/full/storebuffer.cc
176 encumbered/cpu/full/writeback.cc
177 encumbered/cpu/full/iq/iq_station.cc
178 encumbered/cpu/full/iq/iqueue.cc
179 encumbered/cpu/full/iq/segmented/chain_info.cc
180 encumbered/cpu/full/iq/segmented/chain_wire.cc
181 encumbered/cpu/full/iq/segmented/iq_seg.cc
182 encumbered/cpu/full/iq/segmented/iq_segmented.cc
183 encumbered/cpu/full/iq/segmented/seg_chain.cc
184 encumbered/cpu/full/iq/seznec/iq_seznec.cc
185 encumbered/cpu/full/iq/standard/iq_standard.cc
186 ''')
187
188trace_reader_sources = Split('''
189 cpu/trace/reader/mem_trace_reader.cc
190 cpu/trace/reader/ibm_reader.cc
191 cpu/trace/reader/itx_reader.cc
192 cpu/trace/reader/m5_reader.cc
193 cpu/trace/opt_cpu.cc
194 cpu/trace/trace_cpu.cc
195 ''')

--- 28 unchanged lines hidden (view full) ---

224if env['TARGET_ISA'] == 'alpha':
225 full_system_sources += Split('''
226 kern/tru64/dump_mbuf.cc
227 kern/tru64/printf.cc
228 kern/tru64/tru64_events.cc
229 kern/tru64/tru64_syscalls.cc
230 ''')
231
149trace_reader_sources = Split('''
150 cpu/trace/reader/mem_trace_reader.cc
151 cpu/trace/reader/ibm_reader.cc
152 cpu/trace/reader/itx_reader.cc
153 cpu/trace/reader/m5_reader.cc
154 cpu/trace/opt_cpu.cc
155 cpu/trace/trace_cpu.cc
156 ''')

--- 28 unchanged lines hidden (view full) ---

185if env['TARGET_ISA'] == 'alpha':
186 full_system_sources += Split('''
187 kern/tru64/dump_mbuf.cc
188 kern/tru64/printf.cc
189 kern/tru64/tru64_events.cc
190 kern/tru64/tru64_syscalls.cc
191 ''')
192
232# turbolaser encumbered sources
233turbolaser_sources = Split('''
234 encumbered/dev/dma.cc
235 encumbered/dev/etherdev.cc
236 encumbered/dev/scsi.cc
237 encumbered/dev/scsi_ctrl.cc
238 encumbered/dev/scsi_disk.cc
239 encumbered/dev/scsi_none.cc
240 encumbered/dev/tlaser_clock.cc
241 encumbered/dev/tlaser_ipi.cc
242 encumbered/dev/tlaser_mbox.cc
243 encumbered/dev/tlaser_mc146818.cc
244 encumbered/dev/tlaser_node.cc
245 encumbered/dev/tlaser_pcia.cc
246 encumbered/dev/tlaser_pcidev.cc
247 encumbered/dev/tlaser_serial.cc
248 encumbered/dev/turbolaser.cc
249 encumbered/dev/uart8530.cc
250 ''')
251
252# Syscall emulation (non-full-system) sources
253syscall_emulation_sources = Split('''
254 mem/translating_port.cc
255 mem/page_table.cc
256 sim/process.cc
257 sim/syscall_emul.cc
258 ''')
259
260#if env['TARGET_ISA'] == 'alpha':
261# syscall_emulation_sources += Split('''
262# kern/tru64/tru64.cc
263# ''')
264
193# Syscall emulation (non-full-system) sources
194syscall_emulation_sources = Split('''
195 mem/translating_port.cc
196 mem/page_table.cc
197 sim/process.cc
198 sim/syscall_emul.cc
199 ''')
200
201#if env['TARGET_ISA'] == 'alpha':
202# syscall_emulation_sources += Split('''
203# kern/tru64/tru64.cc
204# ''')
205
265alpha_eio_sources = Split('''
266 encumbered/eio/exolex.cc
267 encumbered/eio/libexo.cc
268 encumbered/eio/eio.cc
269 ''')
270
271if env['TARGET_ISA'] == 'alpha':
272 syscall_emulation_sources += alpha_eio_sources
273
274memtest_sources = Split('''
275 cpu/memtest/memtest.cc
276 ''')
277
278# Include file paths are rooted in this directory. SCons will
279# automatically expand '.' to refer to both the source directory and
280# the corresponding build directory to pick up generated include
281# files.
282env.Append(CPPPATH=Dir('.'))
283
284# Add a flag defining what THE_ISA should be for all compilation
285env.Append(CPPDEFINES=[('THE_ISA','%s_ISA' % env['TARGET_ISA'].upper())])
286
287arch_sources = SConscript(os.path.join('arch', 'SConscript'), exports = 'env')
288
289cpu_sources = SConscript(os.path.join('cpu', 'SConscript'), exports = 'env')
290
291if env['FULL_SYSTEM']:
206memtest_sources = Split('''
207 cpu/memtest/memtest.cc
208 ''')
209
210# Include file paths are rooted in this directory. SCons will
211# automatically expand '.' to refer to both the source directory and
212# the corresponding build directory to pick up generated include
213# files.
214env.Append(CPPPATH=Dir('.'))
215
216# Add a flag defining what THE_ISA should be for all compilation
217env.Append(CPPDEFINES=[('THE_ISA','%s_ISA' % env['TARGET_ISA'].upper())])
218
219arch_sources = SConscript(os.path.join('arch', 'SConscript'), exports = 'env')
220
221cpu_sources = SConscript(os.path.join('cpu', 'SConscript'), exports = 'env')
222
223if env['FULL_SYSTEM']:
292 dev_sources = SConscript(os.path.join('dev', 'SConscript'), exports = 'env')
224 dev_sources = SConscript(os.path.join('dev', 'SConscript'),
225 exports = 'env')
293 full_system_sources += dev_sources
294
226 full_system_sources += dev_sources
227
295 kern_sources = SConscript(os.path.join('kern', 'SConscript'), exports = 'env')
228 kern_sources = SConscript(os.path.join('kern', 'SConscript'),
229 exports = 'env')
296 full_system_sources += kern_sources
297
230 full_system_sources += kern_sources
231
298# This is outside of cpu/SConscript since the source directory isn't
299# underneath 'cpu'.
300if 'FullCPU' in env['CPU_MODELS']:
301 cpu_sources += full_cpu_sources
302
303# Set up complete list of sources based on configuration.
304sources = base_sources + arch_sources + cpu_sources
305
232# Set up complete list of sources based on configuration.
233sources = base_sources + arch_sources + cpu_sources
234
235# encumbered should be last because we're adding to some of the other groups
236if isfile(joinpath(env['SRCDIR'], 'encumbered/SConscript')):
237 sources += SConscript('encumbered/SConscript', exports = 'env')
238
239
306if env['FULL_SYSTEM']:
307 sources += full_system_sources
240if env['FULL_SYSTEM']:
241 sources += full_system_sources
308 if env['ALPHA_TLASER']:
309 sources += turbolaser_sources
310else:
311 sources += syscall_emulation_sources
312
313if env['USE_MYSQL']:
314 sources += mysql_sources
315
316for opt in env.ExportOptions:
317 env.ConfigFile(opt)

--- 85 unchanged lines hidden ---
242else:
243 sources += syscall_emulation_sources
244
245if env['USE_MYSQL']:
246 sources += mysql_sources
247
248for opt in env.ExportOptions:
249 env.ConfigFile(opt)

--- 85 unchanged lines hidden ---