diff mbox series

[04/17] configure: clean up handling of CFI option

Message ID 20231016063127.161204-5-pbonzini@redhat.com
State New
Headers show
Series More build system cleanups, optional non-relocatable installs | expand

Commit Message

Paolo Bonzini Oct. 16, 2023, 6:31 a.m. UTC
Avoid that --enable-cfi --disable-cfi leaves b_lto set to true.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Philippe Mathieu-Daudé Oct. 16, 2023, 9:22 a.m. UTC | #1
On 16/10/23 08:31, Paolo Bonzini wrote:
> Avoid that --enable-cfi --disable-cfi leaves b_lto set to true.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   configure | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)


> @@ -1845,6 +1843,7 @@ if test "$skip_meson" = no; then
>   
>     # QEMU options
>     test "$cfi" != false && meson_option_add "-Dcfi=$cfi"
> +  test "$cfi" != false && meson_option_add "-Db_lto=$cfi"

Merge as "-Dcfi=$cfi -Db_lto=$cfi"?

>     test "$docs" != auto && meson_option_add "-Ddocs=$docs"
>     test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add "-Dfuzzing_engine=$LIB_FUZZING_ENGINE"
>     test "$plugins" = yes && meson_option_add "-Dplugins=true"
Paolo Bonzini Oct. 16, 2023, 9:44 a.m. UTC | #2
On 10/16/23 11:22, Philippe Mathieu-Daudé wrote:
> On 16/10/23 08:31, Paolo Bonzini wrote:
>> Avoid that --enable-cfi --disable-cfi leaves b_lto set to true.
>>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>>   configure | 7 +++----
>>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> 
>> @@ -1845,6 +1843,7 @@ if test "$skip_meson" = no; then
>>     # QEMU options
>>     test "$cfi" != false && meson_option_add "-Dcfi=$cfi"
>> +  test "$cfi" != false && meson_option_add "-Db_lto=$cfi"
> 
> Merge as "-Dcfi=$cfi -Db_lto=$cfi"?

Sure, it also needs a little change to meson_option_add though:

diff --git a/configure b/configure
index 3da46ed202d..fd88ef3fec2 100755
--- a/configure
+++ b/configure
@@ -624,7 +624,10 @@ meson_option_build_array() {
  
  meson_options=
  meson_option_add() {
-  meson_options="$meson_options $(quote_sh "$1")"
+  local arg
+  for arg; do
+    meson_options="$meson_options $(quote_sh "$arg")"
+  done
  }
  meson_option_parse() {
    meson_options="$meson_options $(_meson_option_parse "$@")"
@@ -1842,8 +1845,7 @@ if test "$skip_meson" = no; then
    test "$werror" = yes && meson_option_add -Dwerror=true
  
    # QEMU options
-  test "$cfi" != false && meson_option_add "-Dcfi=$cfi"
-  test "$cfi" != false && meson_option_add "-Db_lto=$cfi"
+  test "$cfi" != false && meson_option_add "-Dcfi=$cfi" "-Db_lto=$cfi"
    test "$docs" != auto && meson_option_add "-Ddocs=$docs"
    test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add "-Dfuzzing_engine=$LIB_FUZZING_ENGINE"
    test "$plugins" = yes && meson_option_add "-Dplugins=true"

Ok to squash that in?

Paolo

> 
>>     test "$docs" != auto && meson_option_add "-Ddocs=$docs"
>>     test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add 
>> "-Dfuzzing_engine=$LIB_FUZZING_ENGINE"
>>     test "$plugins" = yes && meson_option_add "-Dplugins=true"
> 
>
Philippe Mathieu-Daudé Oct. 16, 2023, 1:33 p.m. UTC | #3
On 16/10/23 11:44, Paolo Bonzini wrote:
> On 10/16/23 11:22, Philippe Mathieu-Daudé wrote:
>> On 16/10/23 08:31, Paolo Bonzini wrote:
>>> Avoid that --enable-cfi --disable-cfi leaves b_lto set to true.
>>>
>>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>>> ---
>>>   configure | 7 +++----
>>>   1 file changed, 3 insertions(+), 4 deletions(-)
>>
>>
>>> @@ -1845,6 +1843,7 @@ if test "$skip_meson" = no; then
>>>     # QEMU options
>>>     test "$cfi" != false && meson_option_add "-Dcfi=$cfi"
>>> +  test "$cfi" != false && meson_option_add "-Db_lto=$cfi"
>>
>> Merge as "-Dcfi=$cfi -Db_lto=$cfi"?
> 
> Sure, it also needs a little change to meson_option_add though:
> 
> diff --git a/configure b/configure
> index 3da46ed202d..fd88ef3fec2 100755
> --- a/configure
> +++ b/configure
> @@ -624,7 +624,10 @@ meson_option_build_array() {
> 
>   meson_options=
>   meson_option_add() {
> -  meson_options="$meson_options $(quote_sh "$1")"
> +  local arg
> +  for arg; do
> +    meson_options="$meson_options $(quote_sh "$arg")"
> +  done

Oh I didn't notice. If you had said I wouldn't had insisted,
but since you did the change,

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

>   }
>   meson_option_parse() {
>     meson_options="$meson_options $(_meson_option_parse "$@")"
> @@ -1842,8 +1845,7 @@ if test "$skip_meson" = no; then
>     test "$werror" = yes && meson_option_add -Dwerror=true
> 
>     # QEMU options
> -  test "$cfi" != false && meson_option_add "-Dcfi=$cfi"
> -  test "$cfi" != false && meson_option_add "-Db_lto=$cfi"
> +  test "$cfi" != false && meson_option_add "-Dcfi=$cfi" "-Db_lto=$cfi"
>     test "$docs" != auto && meson_option_add "-Ddocs=$docs"
>     test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add 
> "-Dfuzzing_engine=$LIB_FUZZING_ENGINE"
>     test "$plugins" = yes && meson_option_add "-Dplugins=true"
> 
> Ok to squash that in?

Certainly.
diff mbox series

Patch

diff --git a/configure b/configure
index bce8c57596f..3da46ed202d 100755
--- a/configure
+++ b/configure
@@ -766,11 +766,9 @@  for opt do
   ;;
   --disable-werror) werror="no"
   ;;
-  --enable-cfi)
-      cfi="true";
-      meson_option_add -Db_lto=true
+  --enable-cfi) cfi=true
   ;;
-  --disable-cfi) cfi="false"
+  --disable-cfi) cfi=false
   ;;
   --disable-download) download="disabled"; git_submodules_action=validate;
   ;;
@@ -1845,6 +1843,7 @@  if test "$skip_meson" = no; then
 
   # QEMU options
   test "$cfi" != false && meson_option_add "-Dcfi=$cfi"
+  test "$cfi" != false && meson_option_add "-Db_lto=$cfi"
   test "$docs" != auto && meson_option_add "-Ddocs=$docs"
   test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add "-Dfuzzing_engine=$LIB_FUZZING_ENGINE"
   test "$plugins" = yes && meson_option_add "-Dplugins=true"