Jacek Caban (@jacek) commented about configure.ac:
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"])])])
It looks like a job for winegcc, it could understand `-Wl,--build-id` and use its correct form depending on the target.