[13] RFR (S): 8217404: --with-jvm-features doesn't work when multiple features are explicitly disabled

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Jan 21 10:00:59 UTC 2019


On 2019-01-20 09:45, Kim Barrett wrote:
>> On Jan 18, 2019, at 7:31 PM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:
>>
>> Thanks, Vladimir.
>>
>>> I usually used --with-jvm-features=-aot,-jvmci,-graal
>>> Did not work in this case too?
>> I didn't know it supports comma-separated list, but it doesn't work as well:
>>
>> $ bash configure --with-jvm-features="-aot,-jvmci,-graal"
>>
>> checking if jvmci module jdk.internal.vm.ci should be built... yes
>> checking if graal module jdk.internal.vm.compiler should be built... yes
>> checking if aot should be enabled… yes
> Isn’t the problem here simply incorrect syntax in that command line?
>
> Drop the quotes around the —with-jvm-features argument and I think it should work fine.

Let me bring some clarity in the syntax here.

For --with-jvm-features, if you want to list multiple features, you can 
separate them by either space or comma. Both are valid and officially 
supported. My recommendation, though, is to use comma, to avoid the 
problem with spaces in command line options.

If you want to use spaces, you *must* use quotes. A command line like:

bash configure --with-jvm-features=-aot -jvmci

would be interpreted as "-jvmci" was a flag for configure, which it is not.

There are multiple ways of quoting, you could use ' or ", and include 
the flag name like "--with-jvm-features=aot graal", or just the argument 
list. My preference, if I need to use quotes, is to use the style 
Vladimir uses in his example; I believe that maximizes readability. But, 
as I said, for --with-jvm-features, I recommend using comma instead, to 
avoid the quoting issue completely.

Internally, the list of enabled/disabled features are treated as lists 
of space-separated words; but that is an implementation detail and not 
part of the command-line interface.

/Magnus





More information about the build-dev mailing list