<div dir="ltr"><div>any news on this one ?</div><div>TIA<br></div><div>A+<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 4 Oct 2021 at 18:37, Eric Pouech <<a href="mailto:eric.pouech@gmail.com">eric.pouech@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">usage: configure CFLAGS="-gdwarf-4 -O2" will enable dwarf4 compilation<br>
for ELF parts (and CROSSCFLAGS="-gdwarf-4 -O2" for PE parts)<br>
<br>
evolution from current behavior:<br>
- when CFLAGS contains "-gdwarf-X", -gdwarf-X option is not tested with<br>
  WINE_TRY_CFLAGS (the option remains anyway in CFLAGS -so WINE_TRY is<br>
  useless- and is not copied in EXTRACFLAGS) (ditto for CROSSCFLAGS)<br>
- using CROSSCFLAGS=-gdwarf is no longer converted to Wine's preferred<br>
  format, but is kepts as is, hence will boil down to compiler's<br>
  preferred dwarf version<br>
<br>
what remains undone (and could be improved):<br>
- no test that the final configuration is suitable for Wine (ie<br>
  if WINE_TRY_CFLAGS fails on -gdwarf-2, compilation is done with<br>
  compilers's default format => dwarf5 on Linux)<br>
- using CROSSDEBUG=dwarf-split will compile in dwarf-2, while<br>
  CROSSDEBUG=split will compile in compiler's default (likely dwarf-5<br>
  currently)<br>
<br>
Signed-off-by: Eric Pouech <<a href="mailto:eric.pouech@gmail.com" target="_blank">eric.pouech@gmail.com</a>><br>
<br>
---<br>
 <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> |   24 +++++++++++++++++-------<br>
 1 file changed, 17 insertions(+), 7 deletions(-)<br>
<br>
diff --git a/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> b/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
index 913692c828a..e0ec8fd17d3 100644<br>
--- a/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
+++ b/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
@@ -1024,21 +1024,26 @@ then<br>
<br>
         dnl Determine debug info format<br>
         AC_SUBST(CROSSDEBUG)<br>
+        ac_debug_format_seen=<br>
         if test -z "$CROSSDEBUG"<br>
         then<br>
           for ac_flag in $CROSSCFLAGS; do<br>
             case $ac_flag in<br>
-             -gdwarf*)    CROSSDEBUG=dwarf ;;<br>
+             -gdwarf-*)   ac_debug_format_seen=yes ;;<br>
+             -g)          ac_debug_format_seen=${ac_debug_format_seen:-default} ;;<br>
              -gcodeview)  CROSSDEBUG=pdb ;;<br>
-             -g)          CROSSDEBUG=${CROSSDEBUG:-dwarf} ;;<br>
             esac<br>
           done<br>
         fi<br>
         case $CROSSDEBUG in<br>
-          *dwarf)  WINE_TRY_CROSSCFLAGS([-gdwarf-2])<br>
-                   WINE_TRY_CROSSCFLAGS([-gstrict-dwarf]) ;;<br>
+          *dwarf)  ac_debug_format_seen=default ;;<br>
           pdb)     WINE_TRY_CROSSCFLAGS([-gcodeview]) ;;<br>
         esac<br>
+        if test "x$ac_debug_format_seen" = "xdefault"<br>
+        then<br>
+          WINE_TRY_CROSSCFLAGS([-gdwarf-2])<br>
+          WINE_TRY_CROSSCFLAGS([-gstrict-dwarf])<br>
+        fi<br>
<br>
         WINE_TRY_CROSSCFLAGS([-fexcess-precision=standard],[AC_SUBST(EXCESS_PRECISION_CFLAGS,"-fexcess-precision=standard")])<br>
<br>
@@ -2031,13 +2036,18 @@ char*f(const char *h,char n) {return strchr(h,n);}]])],[ac_cv_c_logicalop_noisy=<br>
       *) EXTRACFLAGS="$EXTRACFLAGS $wine_cv_64bit_compare_swap" ;;<br>
   esac<br>
<br>
-  dnl Default to dwarf-2 debug info<br>
+  dnl Determine debug info format<br>
+  ac_debug_format_seen=<br>
   for ac_flag in $CFLAGS; do<br>
     case $ac_flag in<br>
-      -g) WINE_TRY_CFLAGS([-gdwarf-2])<br>
-          WINE_TRY_CFLAGS([-gstrict-dwarf]) ;;<br>
+      -gdwarf-*)   ac_debug_format_seen=yes ;;<br>
+      -g)          ac_debug_format_seen=${ac_debug_format_seen:-default} ;;<br>
     esac<br>
   done<br>
+  if test "x$ac_debug_format_seen" = "xdefault"; then<br>
+    WINE_TRY_CFLAGS([-gdwarf-2])<br>
+    WINE_TRY_CFLAGS([-gstrict-dwarf])<br>
+  fi<br>
<br>
   dnl Disable gcc builtins except for Mingw<br>
   AC_SUBST(MSVCRTFLAGS,"")<br>
<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature">-- <br>Eric Pouech</div>