Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-06 Thread Steve Reinhardt

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/366/
---

(Updated 2011-01-06 11:04:43.691088)


Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Summary (updated)
---

scons: show sources and targets when building.

I like the brevity of Ali's recent change, but the ambiguity of
sometimes showing the source and sometimes the target is a little
confusing.  This patch makes scons typically list all sources and
all targets for each action, with the common path prefix factored
out for brevity.  It's a little more verbose now but also more
informative.


Diffs (updated)
-

  SConstruct 9f9e10967912 
  src/SConscript 9f9e10967912 
  src/arch/SConscript 9f9e10967912 
  src/arch/isa_parser.py 9f9e10967912 

Diff: http://reviews.m5sim.org/r/366/diff


Testing
---

quick regressions pass


Thanks,

Steve

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-06 Thread Steve Reinhardt
So is it possible to populate the Changes section with some comments when
you update a patch using 'hg postreview -e NNN'?  I've tried it with and
without '-u' and each time it publishes the updated diff without giving me a
chance to add/edit comments on the website like it does with the original
request.

Anyway, here are the comments I would have entered:

This update uses Nate's callable-object suggestion, which I think cleans
things up a bit, and also adds colorization, including --color and
--no-color options to force colors on or off (overriding the default
behavior of using sys.stdout.isatty() to decide).  I made a stab at a
maize-and-blue color scheme, but I'm not really sold on it; suggestions for
a better color scheme are welcome.

Steve
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-06 Thread Steve Reinhardt

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/366/
---

(Updated 2011-01-06 11:15:30.932181)


Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Changes
---

Added a screenshot to show color scheme.


Summary
---

scons: show sources and targets when building.

I like the brevity of Ali's recent change, but the ambiguity of
sometimes showing the source and sometimes the target is a little
confusing.  This patch makes scons typically list all sources and
all targets for each action, with the common path prefix factored
out for brevity.  It's a little more verbose now but also more
informative.


Diffs
-

  SConstruct 9f9e10967912 
  src/SConscript 9f9e10967912 
  src/arch/SConscript 9f9e10967912 
  src/arch/isa_parser.py 9f9e10967912 

Diff: http://reviews.m5sim.org/r/366/diff


Testing
---

quick regressions pass


Screenshots
---

sample colorized output
  http://reviews.m5sim.org/r/366/s/1/


Thanks,

Steve

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-06 Thread Nathan Binkert

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/366/#review632
---

Ship it!


We've beaten this to death, so I don't care about any of my comments enough to 
hold you up if you don't want to deal with them at all.


SConstruct
http://reviews.m5sim.org/r/366/#comment847

Can you derive from object?  I really hate classic classes as they make 
various things annoying and the cause is not always obvious.



SConstruct
http://reviews.m5sim.org/r/366/#comment851

I hate lines like this.  I'll register my annoyance, but won't continue 
further discussion.



SConstruct
http://reviews.m5sim.org/r/366/#comment848

This is probably pedantic, but these could be @classmethod (and self should 
be cls)



SConstruct
http://reviews.m5sim.org/r/366/#comment849

99 seems like a lot and goes against the idea of being concise.  I don't 
care much though.

Would anyone object to [%-8s] instead?  the right justified seems odd.



SConstruct
http://reviews.m5sim.org/r/366/#comment850

out of curiosity, can you do the following instead?
main['CCCOMSTR'] = TRANSFORM(CC)

Certainly, I am pretty sure that the parameter to MakeAction/Action could 
be the callable and not the string.  (String substitution just slows down SCons)


- Nathan


On 2011-01-06 11:15:30, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/366/
 ---
 
 (Updated 2011-01-06 11:15:30)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 scons: show sources and targets when building.
 
 I like the brevity of Ali's recent change, but the ambiguity of
 sometimes showing the source and sometimes the target is a little
 confusing.  This patch makes scons typically list all sources and
 all targets for each action, with the common path prefix factored
 out for brevity.  It's a little more verbose now but also more
 informative.
 
 
 Diffs
 -
 
   SConstruct 9f9e10967912 
   src/SConscript 9f9e10967912 
   src/arch/SConscript 9f9e10967912 
   src/arch/isa_parser.py 9f9e10967912 
 
 Diff: http://reviews.m5sim.org/r/366/diff
 
 
 Testing
 ---
 
 quick regressions pass
 
 
 Screenshots
 ---
 
 sample colorized output
   http://reviews.m5sim.org/r/366/s/1/
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-06 Thread Steve Reinhardt


 On 2011-01-06 11:42:18, Nathan Binkert wrote:
  SConstruct, line 379
  http://reviews.m5sim.org/r/366/diff/3/?file=8481#file8481line379
 
  Can you derive from object?  I really hate classic classes as they make 
  various things annoying and the cause is not always obvious.

No problem, it was just an oversight.


 On 2011-01-06 11:42:18, Nathan Binkert wrote:
  SConstruct, line 418
  http://reviews.m5sim.org/r/366/diff/3/?file=8481#file8481line418
 
  99 seems like a lot and goes against the idea of being concise.  I 
  don't care much though.
  
  Would anyone object to [%-8s] instead?  the right justified seems odd.

The 99 is just a practical approximation of infinity, not meant to be hit in 
practice... the main idea is to give a parameter you can explicitly set if you 
don't want all (or any) of the sources listed, so I can cleanly replace the 
TRANSFORM_NOSRC and TRANSFORM_1SRC things I had in the earlier version.


 On 2011-01-06 11:42:18, Nathan Binkert wrote:
  SConstruct, line 481
  http://reviews.m5sim.org/r/366/diff/3/?file=8481#file8481line481
 
  out of curiosity, can you do the following instead?
  main['CCCOMSTR'] = TRANSFORM(CC)
  
  Certainly, I am pretty sure that the parameter to MakeAction/Action 
  could be the callable and not the string.  (String substitution just slows 
  down SCons)

TRANSFORM(CC) doesn't work, but Transform(CC) does.  I had tried this 
before and it didn't work so I gave up on it, but I must have had some other 
error at the time.


 On 2011-01-06 11:42:18, Nathan Binkert wrote:
  SConstruct, line 406
  http://reviews.m5sim.org/r/366/diff/3/?file=8481#file8481line406
 
  This is probably pedantic, but these could be @classmethod (and self 
  should be cls)

Yea, I knew that, but I didn't see any point to it, so I figured why bother 
with the extra verbiage.  If there's an advantage to it I'd be glad to do it 
though.  The one thing I would like would be to define color() in a way where I 
could use it immediately, so I could do 'Arrow = color(arrow_color,  - )' 
instead of the current expression, but I couldn't find a reasonable way to get 
that to work.


 On 2011-01-06 11:42:18, Nathan Binkert wrote:
  SConstruct, line 383
  http://reviews.m5sim.org/r/366/diff/3/?file=8481#file8481line383
 
  I hate lines like this.  I'll register my annoyance, but won't continue 
  further discussion.

This is one of the few places I feel like lines like this are useful... this 
whole colorization thing already chews up way too many lines for the value it 
brings IMO :-).  I'm also tempted to do this:

def color_pfx(self, s):  return self.color(self.pfx_color, s)
def color_srcs(self, s): return self.color(self.srcs_color, s)
def color_tgts(self, s): return self.color(self.tgts_color, s)

just because I hate repetitive stuff chewing up vertical screen space.


- Steve


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/366/#review632
---


On 2011-01-06 11:15:30, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/366/
 ---
 
 (Updated 2011-01-06 11:15:30)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 scons: show sources and targets when building.
 
 I like the brevity of Ali's recent change, but the ambiguity of
 sometimes showing the source and sometimes the target is a little
 confusing.  This patch makes scons typically list all sources and
 all targets for each action, with the common path prefix factored
 out for brevity.  It's a little more verbose now but also more
 informative.
 
 
 Diffs
 -
 
   SConstruct 9f9e10967912 
   src/SConscript 9f9e10967912 
   src/arch/SConscript 9f9e10967912 
   src/arch/isa_parser.py 9f9e10967912 
 
 Diff: http://reviews.m5sim.org/r/366/diff
 
 
 Testing
 ---
 
 quick regressions pass
 
 
 Screenshots
 ---
 
 sample colorized output
   http://reviews.m5sim.org/r/366/s/1/
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-06 Thread Ali Saidi

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/366/#review636
---


How about leaving the tool name grey?

Ali


- Ali


On 2011-01-06 11:15:30, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/366/
 ---
 
 (Updated 2011-01-06 11:15:30)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 scons: show sources and targets when building.
 
 I like the brevity of Ali's recent change, but the ambiguity of
 sometimes showing the source and sometimes the target is a little
 confusing.  This patch makes scons typically list all sources and
 all targets for each action, with the common path prefix factored
 out for brevity.  It's a little more verbose now but also more
 informative.
 
 
 Diffs
 -
 
   SConstruct 9f9e10967912 
   src/SConscript 9f9e10967912 
   src/arch/SConscript 9f9e10967912 
   src/arch/isa_parser.py 9f9e10967912 
 
 Diff: http://reviews.m5sim.org/r/366/diff
 
 
 Testing
 ---
 
 quick regressions pass
 
 
 Screenshots
 ---
 
 sample colorized output
   http://reviews.m5sim.org/r/366/s/1/
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-06 Thread Gabe Black
Hehe.

http://www.imdb.com/title/tt0584442/quotes?qt0399229

Ali Saidi wrote:
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/366/


 How about leaving the tool name grey?

 Ali
   

 - Ali


 On January 6th, 2011, 11:15 a.m., Steve Reinhardt wrote:

 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt,
 and Nathan Binkert.
 By Steve Reinhardt.

 /Updated 2011-01-06 11:15:30/


   Description

 scons: show sources and targets when building.

 I like the brevity of Ali's recent change, but the ambiguity of
 sometimes showing the source and sometimes the target is a little
 confusing.  This patch makes scons typically list all sources and
 all targets for each action, with the common path prefix factored
 out for brevity.  It's a little more verbose now but also more
 informative.


   Testing

 quick regressions pass


   Diffs

 * SConstruct (9f9e10967912)
 * src/SConscript (9f9e10967912)
 * src/arch/SConscript (9f9e10967912)
 * src/arch/isa_parser.py (9f9e10967912)

 View Diff http://reviews.m5sim.org/r/366/diff/


   Screenshots

 sample colorized output http://reviews.m5sim.org/r/366/s/1/

 

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev
   

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-05 Thread Steve Reinhardt
On Tue, Jan 4, 2011 at 10:09 PM, nathan binkert n...@binkert.org wrote:

  Neat idea, but you need to check sys.stdout.isatty() and conditionally
  add the color.  Then you're going to want a way to override that if
 you're
  piping through less :)  Seems like we could add a --color option to the
  SCons command line.
 
  It actually crossed my mind earlier today to use colorization to
 distinguish
  the common prefix part of the source path from the source-specific part,
 as
  a way of eliminating the ambiguity of how to form the target.
 
  The isatty check would take care of the less problem, though...
 Actually less -r allows you to take the control characters, so the
 --color would override the isatty() == false and output the control
 codes anyway.


Ah, got it, I misunderstood your comment.


 As a thought, TRANSFORM should probably take the action abbreviation
 (e.g. CC) as a parameter if you're going to do the colorization.


I don't follow... do you think the filenames should be colorized differently
depending on the command?  Note that the TRANSFORM* functions don't get
called directly by the user so you can't add params anyway (unless there's a
mechanism I'm unaware of).


 This is all overkill, but is a nice feature imho.


True enough...

Steve
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-05 Thread nathan binkert
 As a thought, TRANSFORM should probably take the action abbreviation
 (e.g. CC) as a parameter if you're going to do the colorization.

 I don't follow... do you think the filenames should be colorized differently
 depending on the command?  Note that the TRANSFORM* functions don't get
 called directly by the user so you can't add params anyway (unless there's a
 mechanism I'm unaware of).
No, I think all of the colorization should be in a single function.
It's definitely a mechanism to allow transform to take an argument.
So you change this:

main['CCCOMSTR']= ' [  CC] $TRANSFORM'

to this:

main['CCCOMSTR']= ' $TRANSFORM(CC)'

I had initially implemented the STRIP stuff like that and I don't
remember exactly how it worked, but my recollection is that
TRANSFORM(CC) was called, expected to return a callable, then that
callable was called as TRANSFORM is now (I just created a class).  All
that said, I think that the RHS of this thing is also allowed to be a
function and we don't have to use the SCons string substitution.
You'd want to do the same callable object thing.

Make sense?

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-04 Thread Steve Reinhardt
On Mon, Jan 3, 2011 at 10:41 PM, nathan binkert n...@binkert.org wrote:

  So far I've found two oddities with a straightforward implementation of
 this
  approach:
 
  (1) It breaks down when the target is a prefix of the source:
 
   [   STRIP] ALPHA_SE/m5.fast.unstripped -
 
  instead of
 
   [   STRIP] ALPHA_SE/m5.fast: .unstripped -
 
  (2) It gives the wrong impression when targets are in a parent directory
  relative to the source:
 
   [ISA DESC] ALPHA_SE/arch/alpha/isa/main.isa - decoder.cc, decoder.hh,
  max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc,
  o3_cpu_exec.cc, timing_simple_cpu_exec.cc
 
  instead of
 
   [ISA DESC] ALPHA_SE/arch/alpha: isa/main.isa - decoder.cc, decoder.hh,
  max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc,
  o3_cpu_exec.cc, timing_simple_cpu_exec.cc
 
  I don't see these as deal-breakers, and I'm fine with leaving them as
 they
  are unless someone has a reasonable idea about how to address them, but I
  thought I'd point out that the ambiguities aren't purely theoretical.

 hmmm  I guess I still like the ability to cut and paste, but the
 ambiguity is annoying (and there are bound to be others.  I'll let you
 decide.  For #2, you could do ../decoder.cc, for #1, if you want, you
 could detect that the RHS is empty and do the whole basename.  These
 ideas might be overkill.  (Don't you love how a simple idea always
 gets more complicated?)


Yea, given the amount of time I've spent on this already I'm not inclined to
add a lot of sophisticated handling for a few exceptional cases.  #2 in
particular doesn't seem that bad to me; it is ambiguous, but in a sort of
reasonable way, and adding a bunch of path-handling code seems like
overkill.  For #1, the output is less intuitive with the blank RHS, and it's
pretty easy to check that the target is the same length as the common prefix
to know that there's a problem.  The question is what to do about it... one
simple possibility is just to reverse the arrow:

 [   STRIP] ALPHA_SE/m5.fast - .unstripped

Or I could trim back to the path separator:

 [   STRIP] ALPHA_SE/m5.fast.unstripped - m5.fast

Or trim to the nearest '.' or path sep:

 [   STRIP] ALPHA_SE/m5.fast.unstripped - .fast

Any preferences?

Steve
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-04 Thread nathan binkert
  [   STRIP] ALPHA_SE/m5.fast - .unstripped
Would it be for just this one, or all? I think that we generally want
to cut and paste the source, not the target, so either way, this
doesn't seem like a great option.

 Or I could trim back to the path separator:
  [   STRIP] ALPHA_SE/m5.fast.unstripped - m5.fast

 Or trim to the nearest '.' or path sep:
  [   STRIP] ALPHA_SE/m5.fast.unstripped - .fast
Again, would this apply to all?  if so, I'd probably opt for the last
one since we don't need it in the majority of cases.

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-04 Thread Steve Reinhardt
On Tue, Jan 4, 2011 at 11:24 AM, nathan binkert n...@binkert.org wrote:

   [   STRIP] ALPHA_SE/m5.fast - .unstripped
 Would it be for just this one, or all? I think that we generally want
 to cut and paste the source, not the target, so either way, this
 doesn't seem like a great option.


For all of these, I was thinking just for this case (or strictly, just for
the ones where the common prefix is equal to the entire target, which leaves
the RHS empty with the current code).

If you always reverse the arrow, you'll end up having the same problem in
the other direction (e.g., for the python embed step where foo.py -
foo.py.cc).


   Or I could trim back to the path separator:
   [   STRIP] ALPHA_SE/m5.fast.unstripped - m5.fast
 
  Or trim to the nearest '.' or path sep:
   [   STRIP] ALPHA_SE/m5.fast.unstripped - .fast
 Again, would this apply to all?  if so, I'd probably opt for the last
 one since we don't need it in the majority of cases.


 The current code works 99% of the time... always trimming back to the
nearest anything can cause issues; for example, with the swig lines:
bar/foo.i - _wrap.cc, .py
it looks nice as it is, but the common prefix is just bar/foo, so you don't
want to unconditionally go back to look for a . or path sep.

OTOH, I already back up a char when the common prefix ends in '.', otherwise
you'd get
foo.cc - o
instead of
foo.cc - .o
so maybe I can find a way to generalize that which will take care of the
.unstripped case.

Steve
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-04 Thread Ali Saidi

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/366/#review620
---

Ship it!


I think we talked about this and I'm ok with what we ended up on the mailing 
list... Bonus points if you colorize the output :)... 
Blue= '\033[94m'
Yellow =  '\033[94m'
Green = '\033[92m'
End = '\0330m'
CCCOMSTR = Blue + ' [  CC] ' + Yellow + '$TRANSFORMATION' + End






- Ali


On 2011-01-03 16:10:27, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/366/
 ---
 
 (Updated 2011-01-03 16:10:27)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 scons: show sources and targets when building.
 
 I like the brevity of Ali's recent change, but the ambiguity of
 sometimes showing the source and sometimes the target is a little
 confusing.  This patch makes scons typically list all sources and
 all targets for each action, with the common path prefix factored
 out for brevity.  It's a little more verbose now but also more
 informative.
 
 I'm not intending to add this to the commit message, but for review purposes, 
 here's some example output:
  [ CXX] ALPHA_SE/sim: main.cc - main.do
 Defining FAST_ALLOC_DEBUG as 0 in build/ALPHA_SE/config/fast_alloc_debug.hh.
 Defining FAST_ALLOC_STATS as 0 in build/ALPHA_SE/config/fast_alloc_stats.hh.
 Defining NO_FAST_ALLOC as 0 in build/ALPHA_SE/config/no_fast_alloc.hh.
  [ TRACING] ALPHA_SE/base:  - traceflags.hh
  [ CXX] ALPHA_SE/python/swig: pyevent.cc - pyevent.do
 Defining FULL_SYSTEM as 0 in build/ALPHA_SE/config/full_system.hh.
  [SO PARAM] MemObject - ALPHA_SE/params/MemObject.hh
  [SO PARAM] SimObject - ALPHA_SE/params/SimObject.hh
  [GENERATE] ALPHA_SE/arch:  - isa_traits.hh
  [ CXX] ALPHA_SE/python/swig: pyobject.cc - pyobject.do
  [SWIG] ALPHA_SE/python/swig: core.i - core_wrap.cc, core.py
  [ CXX] ALPHA_SE/python/swig: core_wrap.cc - core_wrap.do
  [SWIG] ALPHA_SE/python/swig: debug.i - debug_wrap.cc, debug.py
  [ CXX] ALPHA_SE/python/swig: debug_wrap.cc - debug_wrap.do
 (...skipping...)
  [GENERATE] ALPHA_SE/arch:  - vtophys.hh
  [ CFG ISA] alpha, arm, mips, no, power, sparc, x86 - 
 ALPHA_SE/config/the_isa.hh
  [GENERATE] ALPHA_SE/arch:  - types.hh
  [GENERATE] ALPHA_SE/arch:  - registers.hh
  [GENERATE] static_inst_exec_sigs.hh: AtomicSimpleCPU, InOrderCPU, O3CPU, 
 TimingSimpleCPU
  [EN PARAM] MemoryMode - ALPHA_SE/enums/MemoryMode.hh
  [SO PARAM] System - ALPHA_SE/params/System.hh
  [EN PARAM] OpClass - ALPHA_SE/enums/OpClass.hh
  [SO PARAM] PhysicalMemory - ALPHA_SE/params/PhysicalMemory.hh
  [ISA DESC] ALPHA_SE/arch/alpha: isa/main.isa - decoder.cc, decoder.hh, 
 max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc, 
 o3_cpu_exec.cc, timing_simple_cpu_exec.cc
  [ CXX] ALPHA_SE/base: remote_gdb.cc - remote_gdb.do
  [ CXX] ALPHA_SE/base: socket.cc - socket.do
 (...skipping...)
  [SW PARAM] Process - ALPHA_SE/python/m5/internal/vptype_Process.i
  [BLDPARAM] Process - ALPHA_SE/python/m5/internal/param_Process.i
  [BLDPARAM] SimObject - ALPHA_SE/python/m5/internal/param_SimObject.i
  [BLDPARAM] System - ALPHA_SE/python/m5/internal/param_System.i
  [ENUMSWIG] MemoryMode - ALPHA_SE/python/m5/internal/enum_MemoryMode.i
  [BLDPARAM] PhysicalMemory - 
 ALPHA_SE/python/m5/internal/param_PhysicalMemory.i
  [BLDPARAM] MemObject - ALPHA_SE/python/m5/internal/param_MemObject.i
  [SWIG] ALPHA_SE/python/m5/internal: vptype_Process.i - 
 vptype_Process_wrap.cc, vptype_Process.py
  [ CXX] ALPHA_SE/python/m5/internal: vptype_Process_wrap.cc - 
 vptype_Process_wrap.do
  [SW PARAM] AddrRange - ALPHA_SE/python/m5/internal/vptype_AddrRange.i
  [SWIG] ALPHA_SE/python/m5/internal: vptype_AddrRange.i - 
 vptype_AddrRange_wrap.cc, vptype_AddrRange.py
  [ CXX] ALPHA_SE/python/m5/internal: vptype_AddrRange_wrap.cc - 
 vptype_AddrRange_wrap.do
 (...skipping...)
  [EMBED PY] ALPHA_SE/python/m5/internal: param_BaseSimpleCPU.py - 
 param_BaseSimpleCPU.py.cc
  [ CXX] ALPHA_SE/python/m5/internal: param_BaseSimpleCPU.py.cc - 
 param_BaseSimpleCPU.py.do
  [EMBED PY] ALPHA_SE/python/m5/internal: param_LiveProcess.py - 
 param_LiveProcess.py.cc
  [ CXX] ALPHA_SE/python/m5/internal: param_LiveProcess.py.cc - 
 param_LiveProcess.py.do
  [ TRACING] ALPHA_SE/base:  - traceflags.py
  [EMBED PY] ALPHA_SE/base: traceflags.py - traceflags.py.cc
  [ CXX] ALPHA_SE/base: traceflags.py.cc - traceflags.py.do
  [ CXX] ALPHA_SE/base: date.cc - date.do
  [LINK] ALPHA_SE:  - m5.debug
 
 
 Diffs
 -
 
   SConstruct 7338bc628489 
   src/SConscript 7338bc628489 
   src/arch/SConscript 7338bc628489 
   src/arch/isa_parser.py 7338bc628489 
 
 

Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-04 Thread nathan binkert

 I think we talked about this and I'm ok with what we ended up on the mailing 
 list... Bonus points if you colorize the output :)...
 Blue  = '\033[94m'
 Yellow =  '\033[94m'
 Green = '\033[92m'
 End = '\0330m'
 CCCOMSTR = Blue + ' [  CC] ' + Yellow + '$TRANSFORMATION' + End

 Neat idea, but you need to check sys.stdout.isatty() and conditionally
add the color.  Then you're going to want a way to override that if you're
piping through less :)  Seems like we could add a --color option to the
SCons command line.

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-04 Thread Steve Reinhardt
On Tue, Jan 4, 2011 at 5:44 PM, nathan binkert n...@binkert.org wrote:

 I think we talked about this and I'm ok with what we ended up on the mailing 
 list... Bonus points if you colorize the output :)...
 Blue = '\033[94m'
 Yellow =  '\033[94m'
 Green = '\033[92m'
 End = '\0330m'
 CCCOMSTR = Blue + ' [  CC] ' + Yellow + '$TRANSFORMATION' + End

 Neat idea, but you need to check sys.stdout.isatty() and conditionally
 add the color.  Then you're going to want a way to override that if you're
 piping through less :)  Seems like we could add a --color option to the
 SCons command line.


It actually crossed my mind earlier today to use colorization to distinguish
the common prefix part of the source path from the source-specific part, as
a way of eliminating the ambiguity of how to form the target.

The isatty check would take care of the less problem, though...

Steve
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-04 Thread nathan binkert
 Neat idea, but you need to check sys.stdout.isatty() and conditionally
 add the color.  Then you're going to want a way to override that if you're
 piping through less :)  Seems like we could add a --color option to the
 SCons command line.

 It actually crossed my mind earlier today to use colorization to distinguish
 the common prefix part of the source path from the source-specific part, as
 a way of eliminating the ambiguity of how to form the target.

 The isatty check would take care of the less problem, though...
Actually less -r allows you to take the control characters, so the
--color would override the isatty() == false and output the control
codes anyway.

As a thought, TRANSFORM should probably take the action abbreviation
(e.g. CC) as a parameter if you're going to do the colorization.

This is all overkill, but is a nice feature imho.

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


[m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Steve Reinhardt

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/366/
---

Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Summary
---

scons: show sources and targets when building.

I like the brevity of Ali's recent change, but the ambiguity of
sometimes showing the source and sometimes the target is a little
confusing.  This patch makes scons typically list all sources and
all targets for each action, with the common path prefix factored
out for brevity.  It's a little more verbose now but also more
informative.

I'm not intending to add this to the commit message, but for review purposes, 
here's some example output:
 [ CXX] ALPHA_SE/sim: main.cc - main.do
Defining FAST_ALLOC_DEBUG as 0 in build/ALPHA_SE/config/fast_alloc_debug.hh.
Defining FAST_ALLOC_STATS as 0 in build/ALPHA_SE/config/fast_alloc_stats.hh.
Defining NO_FAST_ALLOC as 0 in build/ALPHA_SE/config/no_fast_alloc.hh.
 [ TRACING] ALPHA_SE/base:  - traceflags.hh
 [ CXX] ALPHA_SE/python/swig: pyevent.cc - pyevent.do
Defining FULL_SYSTEM as 0 in build/ALPHA_SE/config/full_system.hh.
 [SO PARAM] MemObject - ALPHA_SE/params/MemObject.hh
 [SO PARAM] SimObject - ALPHA_SE/params/SimObject.hh
 [GENERATE] ALPHA_SE/arch:  - isa_traits.hh
 [ CXX] ALPHA_SE/python/swig: pyobject.cc - pyobject.do
 [SWIG] ALPHA_SE/python/swig: core.i - core_wrap.cc, core.py
 [ CXX] ALPHA_SE/python/swig: core_wrap.cc - core_wrap.do
 [SWIG] ALPHA_SE/python/swig: debug.i - debug_wrap.cc, debug.py
 [ CXX] ALPHA_SE/python/swig: debug_wrap.cc - debug_wrap.do
(...skipping...)
 [GENERATE] ALPHA_SE/arch:  - vtophys.hh
 [ CFG ISA] alpha, arm, mips, no, power, sparc, x86 - 
ALPHA_SE/config/the_isa.hh
 [GENERATE] ALPHA_SE/arch:  - types.hh
 [GENERATE] ALPHA_SE/arch:  - registers.hh
 [GENERATE] static_inst_exec_sigs.hh: AtomicSimpleCPU, InOrderCPU, O3CPU, 
TimingSimpleCPU
 [EN PARAM] MemoryMode - ALPHA_SE/enums/MemoryMode.hh
 [SO PARAM] System - ALPHA_SE/params/System.hh
 [EN PARAM] OpClass - ALPHA_SE/enums/OpClass.hh
 [SO PARAM] PhysicalMemory - ALPHA_SE/params/PhysicalMemory.hh
 [ISA DESC] ALPHA_SE/arch/alpha: isa/main.isa - decoder.cc, decoder.hh, 
max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc, 
o3_cpu_exec.cc, timing_simple_cpu_exec.cc
 [ CXX] ALPHA_SE/base: remote_gdb.cc - remote_gdb.do
 [ CXX] ALPHA_SE/base: socket.cc - socket.do
(...skipping...)
 [SW PARAM] Process - ALPHA_SE/python/m5/internal/vptype_Process.i
 [BLDPARAM] Process - ALPHA_SE/python/m5/internal/param_Process.i
 [BLDPARAM] SimObject - ALPHA_SE/python/m5/internal/param_SimObject.i
 [BLDPARAM] System - ALPHA_SE/python/m5/internal/param_System.i
 [ENUMSWIG] MemoryMode - ALPHA_SE/python/m5/internal/enum_MemoryMode.i
 [BLDPARAM] PhysicalMemory - ALPHA_SE/python/m5/internal/param_PhysicalMemory.i
 [BLDPARAM] MemObject - ALPHA_SE/python/m5/internal/param_MemObject.i
 [SWIG] ALPHA_SE/python/m5/internal: vptype_Process.i - 
vptype_Process_wrap.cc, vptype_Process.py
 [ CXX] ALPHA_SE/python/m5/internal: vptype_Process_wrap.cc - 
vptype_Process_wrap.do
 [SW PARAM] AddrRange - ALPHA_SE/python/m5/internal/vptype_AddrRange.i
 [SWIG] ALPHA_SE/python/m5/internal: vptype_AddrRange.i - 
vptype_AddrRange_wrap.cc, vptype_AddrRange.py
 [ CXX] ALPHA_SE/python/m5/internal: vptype_AddrRange_wrap.cc - 
vptype_AddrRange_wrap.do
(...skipping...)
 [EMBED PY] ALPHA_SE/python/m5/internal: param_BaseSimpleCPU.py - 
param_BaseSimpleCPU.py.cc
 [ CXX] ALPHA_SE/python/m5/internal: param_BaseSimpleCPU.py.cc - 
param_BaseSimpleCPU.py.do
 [EMBED PY] ALPHA_SE/python/m5/internal: param_LiveProcess.py - 
param_LiveProcess.py.cc
 [ CXX] ALPHA_SE/python/m5/internal: param_LiveProcess.py.cc - 
param_LiveProcess.py.do
 [ TRACING] ALPHA_SE/base:  - traceflags.py
 [EMBED PY] ALPHA_SE/base: traceflags.py - traceflags.py.cc
 [ CXX] ALPHA_SE/base: traceflags.py.cc - traceflags.py.do
 [ CXX] ALPHA_SE/base: date.cc - date.do
 [LINK] ALPHA_SE:  - m5.debug


Diffs
-

  SConstruct 7338bc628489 
  src/SConscript 7338bc628489 
  src/arch/SConscript 7338bc628489 
  src/arch/isa_parser.py 7338bc628489 

Diff: http://reviews.m5sim.org/r/366/diff


Testing
---

quick regressions pass


Thanks,

Steve

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Gabe Black
I like the original (Ali's version) better. When was it confusing?
Perhaps there's a particular action that would be better the other way
around. Maybe we should have graduated levels of verbosity for this
stuff where, for example,  0 is Ali's version, 1 is this version, and 2
is the full command.

Gabe

Steve Reinhardt wrote:
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/366/


 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt,
 and Nathan Binkert.
 By Steve Reinhardt.


   Description

 scons: show sources and targets when building.

 I like the brevity of Ali's recent change, but the ambiguity of
 sometimes showing the source and sometimes the target is a little
 confusing.  This patch makes scons typically list all sources and
 all targets for each action, with the common path prefix factored
 out for brevity.  It's a little more verbose now but also more
 informative.

 I'm not intending to add this to the commit message, but for review purposes, 
 here's some example output:
  [ CXX] ALPHA_SE/sim: main.cc - main.do
 Defining FAST_ALLOC_DEBUG as 0 in build/ALPHA_SE/config/fast_alloc_debug.hh.
 Defining FAST_ALLOC_STATS as 0 in build/ALPHA_SE/config/fast_alloc_stats.hh.
 Defining NO_FAST_ALLOC as 0 in build/ALPHA_SE/config/no_fast_alloc.hh.
  [ TRACING] ALPHA_SE/base:  - traceflags.hh
  [ CXX] ALPHA_SE/python/swig: pyevent.cc - pyevent.do
 Defining FULL_SYSTEM as 0 in build/ALPHA_SE/config/full_system.hh.
  [SO PARAM] MemObject - ALPHA_SE/params/MemObject.hh
  [SO PARAM] SimObject - ALPHA_SE/params/SimObject.hh
  [GENERATE] ALPHA_SE/arch:  - isa_traits.hh
  [ CXX] ALPHA_SE/python/swig: pyobject.cc - pyobject.do
  [SWIG] ALPHA_SE/python/swig: core.i - core_wrap.cc, core.py
  [ CXX] ALPHA_SE/python/swig: core_wrap.cc - core_wrap.do
  [SWIG] ALPHA_SE/python/swig: debug.i - debug_wrap.cc, debug.py
  [ CXX] ALPHA_SE/python/swig: debug_wrap.cc - debug_wrap.do
 (...skipping...)
  [GENERATE] ALPHA_SE/arch:  - vtophys.hh
  [ CFG ISA] alpha, arm, mips, no, power, sparc, x86 - 
 ALPHA_SE/config/the_isa.hh
  [GENERATE] ALPHA_SE/arch:  - types.hh
  [GENERATE] ALPHA_SE/arch:  - registers.hh
  [GENERATE] static_inst_exec_sigs.hh: AtomicSimpleCPU, InOrderCPU, O3CPU, 
 TimingSimpleCPU
  [EN PARAM] MemoryMode - ALPHA_SE/enums/MemoryMode.hh
  [SO PARAM] System - ALPHA_SE/params/System.hh
  [EN PARAM] OpClass - ALPHA_SE/enums/OpClass.hh
  [SO PARAM] PhysicalMemory - ALPHA_SE/params/PhysicalMemory.hh
  [ISA DESC] ALPHA_SE/arch/alpha: isa/main.isa - decoder.cc, decoder.hh, 
 max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc, 
 o3_cpu_exec.cc, timing_simple_cpu_exec.cc
  [ CXX] ALPHA_SE/base: remote_gdb.cc - remote_gdb.do
  [ CXX] ALPHA_SE/base: socket.cc - socket.do
 (...skipping...)
  [SW PARAM] Process - ALPHA_SE/python/m5/internal/vptype_Process.i
  [BLDPARAM] Process - ALPHA_SE/python/m5/internal/param_Process.i
  [BLDPARAM] SimObject - ALPHA_SE/python/m5/internal/param_SimObject.i
  [BLDPARAM] System - ALPHA_SE/python/m5/internal/param_System.i
  [ENUMSWIG] MemoryMode - ALPHA_SE/python/m5/internal/enum_MemoryMode.i
  [BLDPARAM] PhysicalMemory - 
 ALPHA_SE/python/m5/internal/param_PhysicalMemory.i
  [BLDPARAM] MemObject - ALPHA_SE/python/m5/internal/param_MemObject.i
  [SWIG] ALPHA_SE/python/m5/internal: vptype_Process.i - 
 vptype_Process_wrap.cc, vptype_Process.py
  [ CXX] ALPHA_SE/python/m5/internal: vptype_Process_wrap.cc - 
 vptype_Process_wrap.do
  [SW PARAM] AddrRange - ALPHA_SE/python/m5/internal/vptype_AddrRange.i
  [SWIG] ALPHA_SE/python/m5/internal: vptype_AddrRange.i - 
 vptype_AddrRange_wrap.cc, vptype_AddrRange.py
  [ CXX] ALPHA_SE/python/m5/internal: vptype_AddrRange_wrap.cc - 
 vptype_AddrRange_wrap.do
 (...skipping...)
  [EMBED PY] ALPHA_SE/python/m5/internal: param_BaseSimpleCPU.py - 
 param_BaseSimpleCPU.py.cc
  [ CXX] ALPHA_SE/python/m5/internal: param_BaseSimpleCPU.py.cc - 
 param_BaseSimpleCPU.py.do
  [EMBED PY] ALPHA_SE/python/m5/internal: param_LiveProcess.py - 
 param_LiveProcess.py.cc
  [ CXX] ALPHA_SE/python/m5/internal: param_LiveProcess.py.cc - 
 param_LiveProcess.py.do
  [ TRACING] ALPHA_SE/base:  - traceflags.py
  [EMBED PY] ALPHA_SE/base: traceflags.py - traceflags.py.cc
  [ CXX] ALPHA_SE/base: traceflags.py.cc - traceflags.py.do
  [ CXX] ALPHA_SE/base: date.cc - date.do
  [LINK] ALPHA_SE:  - m5.debug
   


   Testing

 quick regressions pass


   Diffs

 * SConstruct (7338bc628489)
 * src/SConscript (7338bc628489)
 * src/arch/SConscript (7338bc628489)
 * src/arch/isa_parser.py (7338bc628489)

 View Diff http://reviews.m5sim.org/r/366/diff/

 

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev
   

___
m5-dev mailing list

Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Steve Reinhardt

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/366/
---

(Updated 2011-01-03 16:10:27.987336)


Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Summary
---

scons: show sources and targets when building.

I like the brevity of Ali's recent change, but the ambiguity of
sometimes showing the source and sometimes the target is a little
confusing.  This patch makes scons typically list all sources and
all targets for each action, with the common path prefix factored
out for brevity.  It's a little more verbose now but also more
informative.

I'm not intending to add this to the commit message, but for review purposes, 
here's some example output:
 [ CXX] ALPHA_SE/sim: main.cc - main.do
Defining FAST_ALLOC_DEBUG as 0 in build/ALPHA_SE/config/fast_alloc_debug.hh.
Defining FAST_ALLOC_STATS as 0 in build/ALPHA_SE/config/fast_alloc_stats.hh.
Defining NO_FAST_ALLOC as 0 in build/ALPHA_SE/config/no_fast_alloc.hh.
 [ TRACING] ALPHA_SE/base:  - traceflags.hh
 [ CXX] ALPHA_SE/python/swig: pyevent.cc - pyevent.do
Defining FULL_SYSTEM as 0 in build/ALPHA_SE/config/full_system.hh.
 [SO PARAM] MemObject - ALPHA_SE/params/MemObject.hh
 [SO PARAM] SimObject - ALPHA_SE/params/SimObject.hh
 [GENERATE] ALPHA_SE/arch:  - isa_traits.hh
 [ CXX] ALPHA_SE/python/swig: pyobject.cc - pyobject.do
 [SWIG] ALPHA_SE/python/swig: core.i - core_wrap.cc, core.py
 [ CXX] ALPHA_SE/python/swig: core_wrap.cc - core_wrap.do
 [SWIG] ALPHA_SE/python/swig: debug.i - debug_wrap.cc, debug.py
 [ CXX] ALPHA_SE/python/swig: debug_wrap.cc - debug_wrap.do
(...skipping...)
 [GENERATE] ALPHA_SE/arch:  - vtophys.hh
 [ CFG ISA] alpha, arm, mips, no, power, sparc, x86 - 
ALPHA_SE/config/the_isa.hh
 [GENERATE] ALPHA_SE/arch:  - types.hh
 [GENERATE] ALPHA_SE/arch:  - registers.hh
 [GENERATE] static_inst_exec_sigs.hh: AtomicSimpleCPU, InOrderCPU, O3CPU, 
TimingSimpleCPU
 [EN PARAM] MemoryMode - ALPHA_SE/enums/MemoryMode.hh
 [SO PARAM] System - ALPHA_SE/params/System.hh
 [EN PARAM] OpClass - ALPHA_SE/enums/OpClass.hh
 [SO PARAM] PhysicalMemory - ALPHA_SE/params/PhysicalMemory.hh
 [ISA DESC] ALPHA_SE/arch/alpha: isa/main.isa - decoder.cc, decoder.hh, 
max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc, 
o3_cpu_exec.cc, timing_simple_cpu_exec.cc
 [ CXX] ALPHA_SE/base: remote_gdb.cc - remote_gdb.do
 [ CXX] ALPHA_SE/base: socket.cc - socket.do
(...skipping...)
 [SW PARAM] Process - ALPHA_SE/python/m5/internal/vptype_Process.i
 [BLDPARAM] Process - ALPHA_SE/python/m5/internal/param_Process.i
 [BLDPARAM] SimObject - ALPHA_SE/python/m5/internal/param_SimObject.i
 [BLDPARAM] System - ALPHA_SE/python/m5/internal/param_System.i
 [ENUMSWIG] MemoryMode - ALPHA_SE/python/m5/internal/enum_MemoryMode.i
 [BLDPARAM] PhysicalMemory - ALPHA_SE/python/m5/internal/param_PhysicalMemory.i
 [BLDPARAM] MemObject - ALPHA_SE/python/m5/internal/param_MemObject.i
 [SWIG] ALPHA_SE/python/m5/internal: vptype_Process.i - 
vptype_Process_wrap.cc, vptype_Process.py
 [ CXX] ALPHA_SE/python/m5/internal: vptype_Process_wrap.cc - 
vptype_Process_wrap.do
 [SW PARAM] AddrRange - ALPHA_SE/python/m5/internal/vptype_AddrRange.i
 [SWIG] ALPHA_SE/python/m5/internal: vptype_AddrRange.i - 
vptype_AddrRange_wrap.cc, vptype_AddrRange.py
 [ CXX] ALPHA_SE/python/m5/internal: vptype_AddrRange_wrap.cc - 
vptype_AddrRange_wrap.do
(...skipping...)
 [EMBED PY] ALPHA_SE/python/m5/internal: param_BaseSimpleCPU.py - 
param_BaseSimpleCPU.py.cc
 [ CXX] ALPHA_SE/python/m5/internal: param_BaseSimpleCPU.py.cc - 
param_BaseSimpleCPU.py.do
 [EMBED PY] ALPHA_SE/python/m5/internal: param_LiveProcess.py - 
param_LiveProcess.py.cc
 [ CXX] ALPHA_SE/python/m5/internal: param_LiveProcess.py.cc - 
param_LiveProcess.py.do
 [ TRACING] ALPHA_SE/base:  - traceflags.py
 [EMBED PY] ALPHA_SE/base: traceflags.py - traceflags.py.cc
 [ CXX] ALPHA_SE/base: traceflags.py.cc - traceflags.py.do
 [ CXX] ALPHA_SE/base: date.cc - date.do
 [LINK] ALPHA_SE:  - m5.debug


Diffs (updated)
-

  SConstruct 7338bc628489 
  src/SConscript 7338bc628489 
  src/arch/SConscript 7338bc628489 
  src/arch/isa_parser.py 7338bc628489 

Diff: http://reviews.m5sim.org/r/366/diff


Testing
---

quick regressions pass


Thanks,

Steve

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Steve Reinhardt
I think this is the first time I've updated an existing diff via
reviewboard, and I thought it would give me a chance to enter some comments
on the website before publishing it like a new diff, but it didn't. so here
are the comments that go with this diff:

I had originally been more aggressive about common prefix extraction, but
there were some glitches that made me go with the path-based approach...
however, in the process of uploading this diff I thought of some fixes.  So
consider this second diff as an alternative and not necessarily a
replacement.  Example output for the new diff, corresponding to the previous
example selection:

 [ CXX] ALPHA_SE/sim/main: .cc - .do
Defining FAST_ALLOC_DEBUG as 0 in build/ALPHA_SE/config/fast_alloc_debug.hh.
Defining FAST_ALLOC_STATS as 0 in build/ALPHA_SE/config/fast_alloc_stats.hh.
Defining NO_FAST_ALLOC as 0 in build/ALPHA_SE/config/no_fast_alloc.hh.
 [ TRACING]  - ALPHA_SE/base/traceflags.hh
 [ CXX] ALPHA_SE/python/swig/pyevent: .cc - .do
Defining FULL_SYSTEM as 0 in build/ALPHA_SE/config/full_system.hh.
 [SO PARAM] MemObject - ALPHA_SE/params/MemObject.hh
 [SO PARAM] SimObject - ALPHA_SE/params/SimObject.hh
 [GENERATE]  - ALPHA_SE/arch/isa_traits.hh
 [ CXX] ALPHA_SE/python/swig/pyobject: .cc - .do
 [SWIG] ALPHA_SE/python/swig/core: .i - _wrap.cc, .py
 [ CXX] ALPHA_SE/python/swig/core_wrap: .cc - .do
 [SWIG] ALPHA_SE/python/swig/debug: .i - _wrap.cc, .py
 [ CXX] ALPHA_SE/python/swig/debug_wrap: .cc - .do
...
 [GENERATE]  - ALPHA_SE/arch/vtophys.hh
 [ CFG ISA] alpha, arm, mips, no, power, sparc, x86 -
ALPHA_SE/config/the_isa.hh
 [GENERATE]  - ALPHA_SE/arch/types.hh
 [GENERATE]  - ALPHA_SE/arch/registers.hh
 [GENERATE] static_inst_exec_sigs.hh: AtomicSimpleCPU, InOrderCPU, O3CPU,
TimingSimpleCPU
 [EN PARAM] MemoryMode - ALPHA_SE/enums/MemoryMode.hh
 [SO PARAM] System - ALPHA_SE/params/System.hh
 [EN PARAM] OpClass - ALPHA_SE/enums/OpClass.hh
 [SO PARAM] PhysicalMemory - ALPHA_SE/params/PhysicalMemory.hh
 [ISA DESC] ALPHA_SE/arch/alpha/: isa/main.isa - decoder.cc, decoder.hh,
max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc,
o3_cpu_exec.cc, timing_simple_cpu_exec.cc
 [ CXX] ALPHA_SE/base/remote_gdb: .cc - .do
 [ CXX] ALPHA_SE/base/socket: .cc - .do
...
 [SW PARAM] Process - ALPHA_SE/python/m5/internal/vptype_Process.i
 [BLDPARAM] Process - ALPHA_SE/python/m5/internal/param_Process.i
 [BLDPARAM] SimObject - ALPHA_SE/python/m5/internal/param_SimObject.i
 [BLDPARAM] System - ALPHA_SE/python/m5/internal/param_System.i
 [ENUMSWIG] MemoryMode - ALPHA_SE/python/m5/internal/enum_MemoryMode.i
 [BLDPARAM] PhysicalMemory -
ALPHA_SE/python/m5/internal/param_PhysicalMemory.i
 [BLDPARAM] MemObject - ALPHA_SE/python/m5/internal/param_MemObject.i
 [SWIG] ALPHA_SE/python/m5/internal/vptype_Process: .i - _wrap.cc, .py
 [ CXX] ALPHA_SE/python/m5/internal/vptype_Process_wrap: .cc - .do
 [SW PARAM] AddrRange - ALPHA_SE/python/m5/internal/vptype_AddrRange.i
 [SWIG] ALPHA_SE/python/m5/internal/vptype_AddrRange: .i - _wrap.cc,
.py
 [ CXX] ALPHA_SE/python/m5/internal/vptype_AddrRange_wrap: .cc - .do
...
 [EMBED PY] ALPHA_SE/python/m5/internal/param_BaseSimpleCPU.py:  - .cc
 [ CXX] ALPHA_SE/python/m5/internal/param_BaseSimpleCPU.py: .cc - .do
 [EMBED PY] ALPHA_SE/python/m5/internal/param_LiveProcess.py:  - .cc
 [ CXX] ALPHA_SE/python/m5/internal/param_LiveProcess.py: .cc - .do
 [ TRACING]  - ALPHA_SE/base/traceflags.py
 [EMBED PY] ALPHA_SE/base/traceflags.py:  - .cc
 [ CXX] ALPHA_SE/base/traceflags.py: .cc - .do
 [ CXX] ALPHA_SE/base/date: .cc - .do
 [LINK]  - ALPHA_SE/m5.debug
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Steve Reinhardt
I don't recall all the details about what got me going on this, but I think
a couple of the specific things I didn't like were (1) if you compile
multiple binaries at the same time (e.g., m5.debug and m5.opt) the CXX lines
print the source file which doesn't give you enough information to know
which one is compiling and (2) for swig, it prints the foo_wrap.cc target
file name, which takes some (admittedly little) inside knowledge to map back
to the foo.i file if you care, and doesn't mention the generated .py file.

Anyway, it was just enough annoyance to lead me to think that the problem
was inconsistently printing the source sometimes and the target other
times... one simple solution would be just to consistently print one or the
other, but since it's not obvious which one is more useful, I thought why
not print both.  And here I am.

I think this version would be helpful in addressing the
newbies-don't-know-where-generated-files-come-from problem too, if they just
bother to look at the output while it builds.

What don't you like about these newer versions?  Just that they're more
verbose?

Steve

On Mon, Jan 3, 2011 at 3:45 PM, Gabe Black gbl...@eecs.umich.edu wrote:

 I like the original (Ali's version) better. When was it confusing?
 Perhaps there's a particular action that would be better the other way
 around. Maybe we should have graduated levels of verbosity for this
 stuff where, for example,  0 is Ali's version, 1 is this version, and 2
 is the full command.

 Gabe

 Steve Reinhardt wrote:
  This is an automatically generated e-mail. To reply, visit:
  http://reviews.m5sim.org/r/366/
 
 
  Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt,
  and Nathan Binkert.
  By Steve Reinhardt.
 
 
Description
 
  scons: show sources and targets when building.
 
  I like the brevity of Ali's recent change, but the ambiguity of
  sometimes showing the source and sometimes the target is a little
  confusing.  This patch makes scons typically list all sources and
  all targets for each action, with the common path prefix factored
  out for brevity.  It's a little more verbose now but also more
  informative.
 
  I'm not intending to add this to the commit message, but for review
 purposes, here's some example output:
   [ CXX] ALPHA_SE/sim: main.cc - main.do
  Defining FAST_ALLOC_DEBUG as 0 in
 build/ALPHA_SE/config/fast_alloc_debug.hh.
  Defining FAST_ALLOC_STATS as 0 in
 build/ALPHA_SE/config/fast_alloc_stats.hh.
  Defining NO_FAST_ALLOC as 0 in build/ALPHA_SE/config/no_fast_alloc.hh.
   [ TRACING] ALPHA_SE/base:  - traceflags.hh
   [ CXX] ALPHA_SE/python/swig: pyevent.cc - pyevent.do
  Defining FULL_SYSTEM as 0 in build/ALPHA_SE/config/full_system.hh.
   [SO PARAM] MemObject - ALPHA_SE/params/MemObject.hh
   [SO PARAM] SimObject - ALPHA_SE/params/SimObject.hh
   [GENERATE] ALPHA_SE/arch:  - isa_traits.hh
   [ CXX] ALPHA_SE/python/swig: pyobject.cc - pyobject.do
   [SWIG] ALPHA_SE/python/swig: core.i - core_wrap.cc, core.py
   [ CXX] ALPHA_SE/python/swig: core_wrap.cc - core_wrap.do
   [SWIG] ALPHA_SE/python/swig: debug.i - debug_wrap.cc, debug.py
   [ CXX] ALPHA_SE/python/swig: debug_wrap.cc - debug_wrap.do
  (...skipping...)
   [GENERATE] ALPHA_SE/arch:  - vtophys.hh
   [ CFG ISA] alpha, arm, mips, no, power, sparc, x86 -
 ALPHA_SE/config/the_isa.hh
   [GENERATE] ALPHA_SE/arch:  - types.hh
   [GENERATE] ALPHA_SE/arch:  - registers.hh
   [GENERATE] static_inst_exec_sigs.hh: AtomicSimpleCPU, InOrderCPU, O3CPU,
 TimingSimpleCPU
   [EN PARAM] MemoryMode - ALPHA_SE/enums/MemoryMode.hh
   [SO PARAM] System - ALPHA_SE/params/System.hh
   [EN PARAM] OpClass - ALPHA_SE/enums/OpClass.hh
   [SO PARAM] PhysicalMemory - ALPHA_SE/params/PhysicalMemory.hh
   [ISA DESC] ALPHA_SE/arch/alpha: isa/main.isa - decoder.cc, decoder.hh,
 max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc,
 o3_cpu_exec.cc, timing_simple_cpu_exec.cc
   [ CXX] ALPHA_SE/base: remote_gdb.cc - remote_gdb.do
   [ CXX] ALPHA_SE/base: socket.cc - socket.do
  (...skipping...)
   [SW PARAM] Process - ALPHA_SE/python/m5/internal/vptype_Process.i
   [BLDPARAM] Process - ALPHA_SE/python/m5/internal/param_Process.i
   [BLDPARAM] SimObject - ALPHA_SE/python/m5/internal/param_SimObject.i
   [BLDPARAM] System - ALPHA_SE/python/m5/internal/param_System.i
   [ENUMSWIG] MemoryMode - ALPHA_SE/python/m5/internal/enum_MemoryMode.i
   [BLDPARAM] PhysicalMemory -
 ALPHA_SE/python/m5/internal/param_PhysicalMemory.i
   [BLDPARAM] MemObject - ALPHA_SE/python/m5/internal/param_MemObject.i
   [SWIG] ALPHA_SE/python/m5/internal: vptype_Process.i -
 vptype_Process_wrap.cc, vptype_Process.py
   [ CXX] ALPHA_SE/python/m5/internal: vptype_Process_wrap.cc -
 vptype_Process_wrap.do
   [SW PARAM] AddrRange - ALPHA_SE/python/m5/internal/vptype_AddrRange.i
   [SWIG] ALPHA_SE/python/m5/internal: vptype_AddrRange.i -
 vptype_AddrRange_wrap.cc, vptype_AddrRange.py
   [ CXX] ALPHA_SE/python/m5/internal: 

Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Gabe Black
Yeah, primarily. In this new version there's enough text that it gets
hard to pick out the nugget that lets you know what it's doing. We have
some way to turn on the command lines again, don't we? I don't really
remember off hand. Granted when things are compiling I usually just
ignore it and check it every now and then to see if it finished or
failed, but it was nice that it was relatively clean and sparse and
would give you a quick idea of what it was chewing on.

I also think every time we say if they just X we're forgetting that
many people won't know or think to just X, so we shouldn't bend things
around too far to accommodate that (not saying that's the case here, but
still). For instance, Ali's links after warns, panics, etc. are a pretty
good idea if people were to just follow them and put some info there,
but I'd be willing to bet very few or even none of those links actually
has anything.

And actually speaking of which, we might want to get rid of those links.

Gabe

Steve Reinhardt wrote:
 I don't recall all the details about what got me going on this, but I
 think a couple of the specific things I didn't like were (1) if you
 compile multiple binaries at the same time (e.g., m5.debug and m5.opt)
 the CXX lines print the source file which doesn't give you enough
 information to know which one is compiling and (2) for swig, it prints
 the foo_wrap.cc target file name, which takes some (admittedly little)
 inside knowledge to map back to the foo.i file if you care, and
 doesn't mention the generated .py file. 

 Anyway, it was just enough annoyance to lead me to think that the
 problem was inconsistently printing the source sometimes and the
 target other times... one simple solution would be just to
 consistently print one or the other, but since it's not obvious which
 one is more useful, I thought why not print both.  And here I am.

 I think this version would be helpful in addressing the
 newbies-don't-know-where-generated-files-come-from problem too, if
 they just bother to look at the output while it builds.

 What don't you like about these newer versions?  Just that they're
 more verbose?

 Steve

 On Mon, Jan 3, 2011 at 3:45 PM, Gabe Black gbl...@eecs.umich.edu
 mailto:gbl...@eecs.umich.edu wrote:

 I like the original (Ali's version) better. When was it confusing?
 Perhaps there's a particular action that would be better the other way
 around. Maybe we should have graduated levels of verbosity for this
 stuff where, for example,  0 is Ali's version, 1 is this version,
 and 2
 is the full command.

 Gabe

 Steve Reinhardt wrote:
  This is an automatically generated e-mail. To reply, visit:
  http://reviews.m5sim.org/r/366/
 
 
  Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt,
  and Nathan Binkert.
  By Steve Reinhardt.
 
 
Description
 
  scons: show sources and targets when building.
 
  I like the brevity of Ali's recent change, but the ambiguity of
  sometimes showing the source and sometimes the target is a little
  confusing.  This patch makes scons typically list all sources and
  all targets for each action, with the common path prefix factored
  out for brevity.  It's a little more verbose now but also more
  informative.
 
  I'm not intending to add this to the commit message, but for
 review purposes, here's some example output:
   [ CXX] ALPHA_SE/sim: main.cc - main.do
  Defining FAST_ALLOC_DEBUG as 0 in
 build/ALPHA_SE/config/fast_alloc_debug.hh.
  Defining FAST_ALLOC_STATS as 0 in
 build/ALPHA_SE/config/fast_alloc_stats.hh.
  Defining NO_FAST_ALLOC as 0 in
 build/ALPHA_SE/config/no_fast_alloc.hh.
   [ TRACING] ALPHA_SE/base:  - traceflags.hh
   [ CXX] ALPHA_SE/python/swig: pyevent.cc - pyevent.do
  Defining FULL_SYSTEM as 0 in build/ALPHA_SE/config/full_system.hh.
   [SO PARAM] MemObject - ALPHA_SE/params/MemObject.hh
   [SO PARAM] SimObject - ALPHA_SE/params/SimObject.hh
   [GENERATE] ALPHA_SE/arch:  - isa_traits.hh
   [ CXX] ALPHA_SE/python/swig: pyobject.cc - pyobject.do
   [SWIG] ALPHA_SE/python/swig: core.i - core_wrap.cc, core.py
   [ CXX] ALPHA_SE/python/swig: core_wrap.cc - core_wrap.do
   [SWIG] ALPHA_SE/python/swig: debug.i - debug_wrap.cc, debug.py
   [ CXX] ALPHA_SE/python/swig: debug_wrap.cc - debug_wrap.do
  (...skipping...)
   [GENERATE] ALPHA_SE/arch:  - vtophys.hh
   [ CFG ISA] alpha, arm, mips, no, power, sparc, x86 -
 ALPHA_SE/config/the_isa.hh
   [GENERATE] ALPHA_SE/arch:  - types.hh
   [GENERATE] ALPHA_SE/arch:  - registers.hh
   [GENERATE] static_inst_exec_sigs.hh: AtomicSimpleCPU,
 InOrderCPU, O3CPU, TimingSimpleCPU
   [EN PARAM] MemoryMode - ALPHA_SE/enums/MemoryMode.hh
   [SO PARAM] System - ALPHA_SE/params/System.hh
   [EN PARAM] OpClass - ALPHA_SE/enums/OpClass.hh

Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread nathan binkert
 I had originally been more aggressive about common prefix extraction, but
 there were some glitches that made me go with the path-based approach...
 however, in the process of uploading this diff I thought of some fixes.  So
 consider this second diff as an alternative and not necessarily a
 replacement.  Example output for the new diff, corresponding to the previous
 example selection:
I love this and I've been wanting it for a while for your reason #1,
also, there are some ambiguous things where the same file is printed
because one is a TARGET and another thing uses a SOURCE (that always
bothered me.)

  [ CXX] ALPHA_SE/sim/main: .cc - .do
My only change would be to remove the colon space.  It serves little
purpose and makes cut-and-paste less useful.

[ CXX] ALPHA_SE/sim/main.cc - .do

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Ali Saidi

On Jan 3, 2011, at 10:21 PM, nathan binkert wrote:

 I had originally been more aggressive about common prefix extraction, but
 there were some glitches that made me go with the path-based approach...
 however, in the process of uploading this diff I thought of some fixes.  So
 consider this second diff as an alternative and not necessarily a
 replacement.  Example output for the new diff, corresponding to the previous
 example selection:
 I love this and I've been wanting it for a while for your reason #1,
 also, there are some ambiguous things where the same file is printed
 because one is a TARGET and another thing uses a SOURCE (that always
 bothered me.)
 
  [ CXX] ALPHA_SE/sim/main: .cc - .do
 My only change would be to remove the colon space.  It serves little
 purpose and makes cut-and-paste less useful.
 
 [ CXX] ALPHA_SE/sim/main.cc - .do
I'm ok with it, but I still think the cases where there is a problem are few 
are far between. Anyone who really has a problem should turn on the verbose 
printing.

Ali

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread nathan binkert
 I love this and I've been wanting it for a while for your reason #1,
 also, there are some ambiguous things where the same file is printed
 because one is a TARGET and another thing uses a SOURCE (that always
 bothered me.)

  [     CXX] ALPHA_SE/sim/main: .cc - .do
 My only change would be to remove the colon space.  It serves little
 purpose and makes cut-and-paste less useful.

 [     CXX] ALPHA_SE/sim/main.cc - .do
 I'm ok with it, but I still think the cases where there is a problem are few 
 are far between. Anyone who really has a problem should turn on the verbose 
 printing.

I frequently compile many different versions of the source, and I like
to know if it's working on the .do or the .fo (so I can get an idea of
how far things are along.)  If Gabe and Ali don't like this, we could
go so far as to do Gabe's idea of VERBOSE=1 or VERBOSE=2, though that
seems like overkill to me.  I personally really do like this diff and
would hate to see it go.

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Steve Reinhardt
On Mon, Jan 3, 2011 at 8:38 PM, nathan binkert n...@binkert.org wrote:

  I love this and I've been wanting it for a while for your reason #1,
  also, there are some ambiguous things where the same file is printed
  because one is a TARGET and another thing uses a SOURCE (that always
  bothered me.)


Glad it's not just me :-).


   [ CXX] ALPHA_SE/sim/main: .cc - .do
  My only change would be to remove the colon space.  It serves little
  purpose and makes cut-and-paste less useful.
 
  [ CXX] ALPHA_SE/sim/main.cc - .do


That's a decent idea... I didn't do it that way because it makes it
potentially ambiguous about where the new extension gets spliced in, but in
practice that's got to be rare, and having at least one file name you can
cut and paste is a win (that's one thing I wasn't thrilled with about either
of my patches).


  I'm ok with it, but I still think the cases where there is a problem are
 few are far between. Anyone who really has a problem should turn on the
 verbose printing.


There's a huge difference in verbosity and readability between this and
verbose... if Ali's patch was 0 and this is a 1, the old verbose is like
18.  Not to mention that this makes it clear what the sources and targets
are, which is hard to do when switching around between different command
lines for different tools.



 I frequently compile many different versions of the source, and I like
 to know if it's working on the .do or the .fo (so I can get an idea of
 how far things are along.)  If Gabe and Ali don't like this, we could
 go so far as to do Gabe's idea of VERBOSE=1 or VERBOSE=2, though that
 seems like overkill to me.  I personally really do like this diff and
 would hate to see it go.


With Nate's suggested change, for CXX lines we're really just tacking on the
' - .o' at the end... the initial part of the line is unchanged, and the
number of extra chars per line is 6 or 7.  If you guys really insist, it
probably wouldn't be too hard to make this controlled by an option, but I
agree that it seems like overkill.

Steve
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Ali Saidi

On Jan 3, 2011, at 10:57 PM, Steve Reinhardt wrote:
 
 
 With Nate's suggested change, for CXX lines we're really just tacking on the 
 ' - .o' at the end... the initial part of the line is unchanged, and the 
 number of extra chars per line is 6 or 7.  If you guys really insist, it 
 probably wouldn't be too hard to make this controlled by an option, but I 
 agree that it seems like overkill.

I'm fine with the change.

Ali


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Steve Reinhardt
On Mon, Jan 3, 2011 at 8:57 PM, Steve Reinhardt ste...@gmail.com wrote:


   [ CXX] ALPHA_SE/sim/main: .cc - .do
  My only change would be to remove the colon space.  It serves little
  purpose and makes cut-and-paste less useful.
 
  [ CXX] ALPHA_SE/sim/main.cc - .do


 That's a decent idea... I didn't do it that way because it makes it
 potentially ambiguous about where the new extension gets spliced in, but in
 practice that's got to be rare, and having at least one file name you can
 cut and paste is a win (that's one thing I wasn't thrilled with about either
 of my patches).


So far I've found two oddities with a straightforward implementation of this
approach:

(1) It breaks down when the target is a prefix of the source:

 [   STRIP] ALPHA_SE/m5.fast.unstripped -

instead of

 [   STRIP] ALPHA_SE/m5.fast: .unstripped -

(2) It gives the wrong impression when targets are in a parent directory
relative to the source:

 [ISA DESC] ALPHA_SE/arch/alpha/isa/main.isa - decoder.cc, decoder.hh,
max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc,
o3_cpu_exec.cc, timing_simple_cpu_exec.cc

instead of

 [ISA DESC] ALPHA_SE/arch/alpha: isa/main.isa - decoder.cc, decoder.hh,
max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc,
o3_cpu_exec.cc, timing_simple_cpu_exec.cc

I don't see these as deal-breakers, and I'm fine with leaving them as they
are unless someone has a reasonable idea about how to address them, but I
thought I'd point out that the ambiguities aren't purely theoretical.

Steve
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread Gabe Black
Ali Saidi wrote:

 On Jan 3, 2011, at 10:57 PM, Steve Reinhardt wrote:



 With Nate's suggested change, for CXX lines we're really just tacking
 on the ' - .o' at the end... the initial part of the line is
 unchanged, and the number of extra chars per line is 6 or 7.  If you
 guys really insist, it probably wouldn't be too hard to make this
 controlled by an option, but I agree that it seems like overkill.

 I'm fine with the change.

 Ali

Yeah, I'm probably ok with it too. I like the old version a bit better,
but it's not a big deal if you guys really like the new way.

Gabe
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: scons: show sources and targets when building.

2011-01-03 Thread nathan binkert
 So far I've found two oddities with a straightforward implementation of this
 approach:

 (1) It breaks down when the target is a prefix of the source:

  [   STRIP] ALPHA_SE/m5.fast.unstripped -

 instead of

  [   STRIP] ALPHA_SE/m5.fast: .unstripped -

 (2) It gives the wrong impression when targets are in a parent directory
 relative to the source:

  [ISA DESC] ALPHA_SE/arch/alpha/isa/main.isa - decoder.cc, decoder.hh,
 max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc,
 o3_cpu_exec.cc, timing_simple_cpu_exec.cc

 instead of

  [ISA DESC] ALPHA_SE/arch/alpha: isa/main.isa - decoder.cc, decoder.hh,
 max_inst_regs.hh, atomic_simple_cpu_exec.cc, inorder_cpu_exec.cc,
 o3_cpu_exec.cc, timing_simple_cpu_exec.cc

 I don't see these as deal-breakers, and I'm fine with leaving them as they
 are unless someone has a reasonable idea about how to address them, but I
 thought I'd point out that the ambiguities aren't purely theoretical.

hmmm  I guess I still like the ability to cut and paste, but the
ambiguity is annoying (and there are bound to be others.  I'll let you
decide.  For #2, you could do ../decoder.cc, for #1, if you want, you
could detect that the RHS is empty and do the whole basename.  These
ideas might be overkill.  (Don't you love how a simple idea always
gets more complicated?)

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev