Jacek Caban : configure: Allow specifying cross debug format.
Alexandre Julliard
julliard at winehq.org
Thu May 14 16:17:45 CDT 2020
Module: wine
Branch: master
Commit: 8e051c5802e60e37b2187314180e94fc4b5f8071
URL: https://source.winehq.org/git/wine.git/?a=commit;h=8e051c5802e60e37b2187314180e94fc4b5f8071
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu May 14 16:40:03 2020 +0200
configure: Allow specifying cross debug format.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
Makefile.in | 1 +
configure | 53 +++++++++++++++++++++++++++++++++++++++++++++++------
configure.ac | 24 +++++++++++++++++-------
3 files changed, 65 insertions(+), 13 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 0e9b50c8f5..0e1f6cd6ca 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -69,6 +69,7 @@ CONVERT = @CONVERT@
ICOTOOL = @ICOTOOL@
MSGFMT = @MSGFMT@
CROSSTARGET = @CROSSTARGET@
+CROSSDEBUG = @CROSSDEBUG@
SUBDIRS = @SUBDIRS@
RUNTESTFLAGS = -q -P wine
MAKEDEP = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
diff --git a/configure b/configure
index 27fb2fd0ed..f85e18b77f 100755
--- a/configure
+++ b/configure
@@ -705,6 +705,7 @@ X_PRE_LIBS
X_CFLAGS
XMKMF
PTHREAD_LIBS
+CROSSDEBUG
DELAYLOADFLAG
CROSSLDFLAGS
EXTRACROSSCFLAGS
@@ -10520,9 +10521,19 @@ if test "x$ac_cv_crosscflags__Wnonnull" = xyes; then :
fi ;;
esac
- for ac_flag in $CROSSCFLAGS; do
- case $ac_flag in
- -g) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -gdwarf-2" >&5
+
+ if test -z "$CROSSDEBUG"
+ then
+ for ac_flag in $CROSSCFLAGS; do
+ case $ac_flag in
+ -gdwarf*) CROSSDEBUG=dwarf ;;
+ -gcodeview) CROSSDEBUG=pdb ;;
+ -g) CROSSDEBUG=${CROSSDEBUG:-dwarf} ;;
+ esac
+ done
+ fi
+ case $CROSSDEBUG in
+ *dwarf) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -gdwarf-2" >&5
$as_echo_n "checking whether the cross-compiler supports -gdwarf-2... " >&6; }
if ${ac_cv_crosscflags__gdwarf_2+:} false; then :
$as_echo_n "(cached) " >&6
@@ -10553,7 +10564,7 @@ $as_echo "$ac_cv_crosscflags__gdwarf_2" >&6; }
if test "x$ac_cv_crosscflags__gdwarf_2" = xyes; then :
EXTRACROSSCFLAGS="$EXTRACROSSCFLAGS -gdwarf-2"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -gstrict-dwarf" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -gstrict-dwarf" >&5
$as_echo_n "checking whether the cross-compiler supports -gstrict-dwarf... " >&6; }
if ${ac_cv_crosscflags__gstrict_dwarf+:} false; then :
$as_echo_n "(cached) " >&6
@@ -10584,8 +10595,38 @@ $as_echo "$ac_cv_crosscflags__gstrict_dwarf" >&6; }
if test "x$ac_cv_crosscflags__gstrict_dwarf" = xyes; then :
EXTRACROSSCFLAGS="$EXTRACROSSCFLAGS -gstrict-dwarf"
fi ;;
- esac
- done
+ pdb) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -gcodeview" >&5
+$as_echo_n "checking whether the cross-compiler supports -gcodeview... " >&6; }
+if ${ac_cv_crosscflags__gcodeview+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_wine_try_cflags_saved=$CFLAGS
+ac_wine_try_cflags_saved_cc=$CC
+ac_wine_try_cflags_saved_exeext=$ac_exeext
+CFLAGS="$CFLAGS $EXTRACROSSCFLAGS -nostartfiles -nodefaultlibs -gcodeview"
+CC="$CROSSCC"
+ac_exeext=".exe"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int __cdecl mainCRTStartup(void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_crosscflags__gcodeview=yes
+else
+ ac_cv_crosscflags__gcodeview=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+CFLAGS=$ac_wine_try_cflags_saved
+CC=$ac_wine_try_cflags_saved_cc
+ac_exeext=$ac_wine_try_cflags_saved_exeext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crosscflags__gcodeview" >&5
+$as_echo "$ac_cv_crosscflags__gcodeview" >&6; }
+if test "x$ac_cv_crosscflags__gcodeview" = xyes; then :
+ EXTRACROSSCFLAGS="$EXTRACROSSCFLAGS -gcodeview"
+fi ;;
+ esac
if test "x$enable_werror" = "xyes"
then
diff --git a/configure.ac b/configure.ac
index 3e0511325c..0dbcb3d095 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1100,13 +1100,23 @@ then
WINE_TRY_CROSSCFLAGS([-Wnonnull]) ;;
esac
- dnl Default to dwarf-2 debug info
- for ac_flag in $CROSSCFLAGS; do
- case $ac_flag in
- -g) WINE_TRY_CROSSCFLAGS([-gdwarf-2])
- WINE_TRY_CROSSCFLAGS([-gstrict-dwarf]) ;;
- esac
- done
+ dnl Determine debug info format
+ AC_SUBST(CROSSDEBUG)
+ if test -z "$CROSSDEBUG"
+ then
+ for ac_flag in $CROSSCFLAGS; do
+ case $ac_flag in
+ -gdwarf*) CROSSDEBUG=dwarf ;;
+ -gcodeview) CROSSDEBUG=pdb ;;
+ -g) CROSSDEBUG=${CROSSDEBUG:-dwarf} ;;
+ esac
+ done
+ fi
+ case $CROSSDEBUG in
+ *dwarf) WINE_TRY_CROSSCFLAGS([-gdwarf-2])
+ WINE_TRY_CROSSCFLAGS([-gstrict-dwarf]) ;;
+ pdb) WINE_TRY_CROSSCFLAGS([-gcodeview]) ;;
+ esac
if test "x$enable_werror" = "xyes"
then
More information about the wine-cvs
mailing list