Ok, thoughts on this quick fix that is not particularly pretty?

All ruby-specific options must follow a -- in the command line, like:

m5.opt configs/example/se.py --ruby -- --topology blah --foo bar.

In which case this patch to se.py will do it:

diff --git a/configs/example/se.py b/configs/example/se.py
--- a/configs/example/se.py
+++ b/configs/example/se.py
@@ -78,7 +78,7 @@

 if options.ruby:
     Ruby.define_options(parser)
-    (options, args) = parser.parse_args()
+    (options, args) = parser.parse_args(args)

 if args:
     print "Error: script doesn't take any positional arguments"

Other possible solutions will be more drastic, I think.  Does anyone have
any better ideas?

Lisa



On Tue, Jul 5, 2011 at 1:26 PM, Lisa Hsu <[email protected]> wrote:

> If I recall, part of the reason why Ruby.define_parser(parser) wasn't done
> by default was because there were some conflicts with option names or
> something like that when running in M5 classic memory system mode. But I
> don't recall exactly.
>
> I've asked on the users list to find the exact command line to see if I can
> replicate the problem.  Thanks for bringing this up Nilay.
>
> Lisa
>
>
>  On Mon, Jul 4, 2011 at 11:00 AM, Nilay Vaish <[email protected]> wrote:
>
>> As pointed out on the users list, the script se.py is broken. The
>> following changes would fix the script for the time being, but I think we
>> need some way to specify dependence between options. Does anyone have any
>> idea about this? As I understand, optparse does not support dependency
>> between options.
>>
>> diff --git a/configs/example/se.py b/configs/example/se.py
>> --- a/configs/example/se.py
>> +++ b/configs/example/se.py
>> @@ -71,15 +71,12 @@
>>  parser.add_option("--output", default="", help="Redirect stdout to a
>> file.")
>>  parser.add_option("--errout", default="", help="Redirect stderr to a
>> file.")
>>  parser.add_option("--ruby", action="store_true")
>> +Ruby.define_options(parser)
>>
>>  execfile(os.path.join(config_**root, "common", "Options.py"))
>>
>>  (options, args) = parser.parse_args()
>>
>> -if options.ruby:
>> -    Ruby.define_options(parser)
>> -    (options, args) = parser.parse_args()
>> -
>>  if args:
>>     print "Error: script doesn't take any positional arguments"
>>     sys.exit(1)
>>
>>
>> --
>> Nilay
>> ______________________________**_________________
>> gem5-dev mailing list
>> [email protected]
>> http://m5sim.org/mailman/**listinfo/gem5-dev<http://m5sim.org/mailman/listinfo/gem5-dev>
>>
>>
>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to