This seems like a fairly nasty hack, although I don't have a better suggestion off hand. Hopefully one of the python gurus will comment.
Gabe On 07/05/11 14:12, Lisa Hsu wrote: > 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 _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
