RFR: 8297963: Partially fix string expansion issues in the autoconf UTIL macros [v3]
Magnus Ihse Bursie
ihse at openjdk.org
Fri Dec 2 13:44:14 UTC 2022
On Fri, 2 Dec 2022 13:33:09 GMT, Julian Waters <jwaters at openjdk.org> wrote:
>> make/autoconf/util.m4 line 394:
>>
>>> 392: m4_if(ARG_IF_NOT_GIVEN, , [m4_define([ARG_IF_NOT_GIVEN], [:])])
>>> 393: m4_if(ARG_IF_ENABLED, , [m4_define([ARG_IF_ENABLED], [:])])
>>> 394: m4_if(ARG_IF_DISABLED, , [m4_define([ARG_IF_DISABLED], [:])])
>>
>> This definitely look cleaner. Was it needed to get things to work, or just a clean-up? (I'm just curious)
>
> The former, the code blocks inside ARG_IF_GIVEN and similar were getting expanded multiple times prior to the change, which was wreaking quite a lot of havoc on any shell code that they might have contained. I ultimately solved that by simply deliberately avoiding their redefinition if they were not empty (m4_define needs to be quoted here because it would expand and start redefining the macro otherwise irregardless of whether their check actually passed or not!)
Ah, I see. Of course. The value was reassigned, losing the quoting in the process.
-------------
PR: https://git.openjdk.org/jdk/pull/11458
More information about the build-dev
mailing list