-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support more flexible command line options for ModuleManager #2793
Comments
As discussed elsewhere, the module manager should accept the following specifications:
Besides adding support to the module manager API, we also need command line options that allow a user to specify the various options. Suggestion:
Additionally, as asked in #1991, we should look at combining the current @arporter , @sergisiso , are you ok with the suggested command line options? And are you aware of any problem with combining kernel search path and include path? |
That sounds fine to me @hiker although there may be unforeseen problems when combining the two. We'll just have to see how it goes. For the "excluding file or directory" I would favour arguments similar to those accepted by e.g. grep so |
Some other things to consider:
Bash already does the parameter expansion (I think?), so we just need to accept multiple paths as parameters after '-I' |
I like
I quickly tried:
Surprisingly, that works as expected :)
So,
I can get it to work with an echo statement:
But I would suggest that if we support this, we will do this in python. Otherwise I think that was all I needed - thanks! |
I do not understand some of your responses, for the empty For the missing whitespace my concern is not confusing For the expansion, it seems it works without the strings/echo, you just need the argparse |
Hmm - just a single -I with no parameters is an error, isn't it? Whatever happens next is unintended (I believe compilers might then take the next string ... which is likely
Indeed, I thought I had tested it. Maybe I just forgot to copy this. But you are right:
But as you expected, if I add a Any suggestions? We could just use
I tried that, but it "uses up" all other arguments till the next Re multiple paths as one parameter, we could either support a different format (space separate, but that wouldn't work with bash expansion - |
I don't particularly like |
I'll start with |
When supporting the fully inlined driver extraction for gocean, compilation fails because now the module manager needs to find
parallel_utils_mod
. dl_esm_inf provides two implementations, one with MPI, one without. Previously, the standard build options used in our examples would only compile the non-MPI version of the code, and compilation (examples/gocean/eg5/extract) worked.Now with inlining, the ModuleManager needs to find the source code fore
parallel_utils_mod
, and it 'picks' the MPI version, so compilation fails.My suggestion would be to add an option to the module manager to add files to be ignored. The user script could then instruct the module manager to ignore the MPI version of the file.
Note that the current build process of dl_esm_inf builds two libraries, by adding the corresponding source code (MPI or non-MPI) to the list of source files
The text was updated successfully, but these errors were encountered: