From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- configure.ac | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac index 74fed2f681e..da17838ec4d 100644 --- a/configure.ac +++ b/configure.ac @@ -1004,16 +1004,24 @@ This is an error since --enable-archs=$wine_arch was requested.])]) if test "x$ac_debug_format_seen" = x then case $wine_crossdebug in - *dwarf) WINE_TRY_PE_CFLAGS([-gdwarf-4]) ;; + dnl clang refuses by default to generate the dwarf sections with long names + *dwarf) WINE_TRY_PE_CFLAGS([-gdwarf-4],[AS_VAR_APPEND([${wine_arch}_CFLAGS],[" -gdwarf-4"])], + [WINE_TRY_PE_CFLAGS([-gdwarf-4 -Wl,-debug:dwarf], + [AS_VAR_APPEND([${wine_arch}_CFLAGS],[" -gdwarf-4"]) + AS_VAR_APPEND([${wine_arch}_LDFLAGS],[" -Wl,-debug:dwarf"])])]) ;; pdb) WINE_TRY_PE_CFLAGS([-gcodeview]) ;; esac fi AS_VAR_SET([${wine_arch}_DEBUG],[$wine_crossdebug])
test "x$enable_werror" != xyes || WINE_TRY_PE_CFLAGS([-Werror]) + dnl gcc/mingw uses --build-id, while clang uses -build-id test "x$enable_build_id" != xyes || WINE_TRY_PE_CFLAGS([-Wl,--build-id], - [AS_VAR_APPEND([${wine_arch}_CFLAGS],[" -Wl,--build-id"]) - AS_VAR_APPEND([${wine_arch}_LDFLAGS],[" -Wl,--build-id"])]) + [AS_VAR_APPEND([${wine_arch}_CFLAGS],[" -Wl,--build-id"]) + AS_VAR_APPEND([${wine_arch}_LDFLAGS],[" -Wl,--build-id"])], + [WINE_TRY_PE_CFLAGS([-Wl,-build-id], + [AS_VAR_APPEND([${wine_arch}_CFLAGS],[" -Wl,-build-id"]) + AS_VAR_APPEND([${wine_arch}_LDFLAGS],[" -Wl,-build-id"])])])
done