[Scons-users] Multiple AddOption with arguments
Keith F Prussing
kprussing74 at gmail.com
Thu Mar 14 13:02:14 EDT 2019
I am trying to debug an error I get when using multiple calls to AddOption. Consider the following SConstruct
AddOption("--one")
AddOption("--two", nargs=2)
print(GetOption("one"), GetOption("two"))
When I run SCons I get the following
$ scons -Q
(None, None)
scons: `.' is up to date.
$ scons -Q --one=a
('a', None)
scons: `.' is up to date.
$ scons -Q --one=a --two b c
usage: scons [OPTION] [TARGET] ...
SCons Error: --two option requires 2 arguments
$ scons -Q --two b c
usage: scons [OPTION] [TARGET] ...
SCons Error: --two option requires 2 arguments
$ scons -Q --two b c --one=a
usage: scons [OPTION] [TARGET] ...
SCons Error: --two option requires 2 arguments
I am trying to figure out why I cannot add the second option. When I remove the first call to AddOption, the second (AddOption("two")) does the right thing. If I remove the `nargs` option and use the `=' as described in thread [1], the error goes away. Why would this be the case?
I noted from the User's Manual that the parser is a subclass of the `optparse.Parser`, and the man page states AddOption supports the options for `optparse.add_option`, so I thought `nargs` would work. I tried walking the code with --debug=pdb, but I could not locate which call to AddOption registered the options. Any thoughts on where I should continue my search on why this is happening?
Thanks,
Keith
[1]: https://pairlist4.pair.net/pipermail/scons-users/2014-September/002989.html
--
Keith F Prussing
More information about the Scons-users
mailing list