[PATCH vkd3d v2] build: Disable crosstests as well if tests are disabled.
Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> --- v2: Actually disable them in the makefile. Makefile.am | 10 ++++++++++ configure.ac | 9 +++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 3b2e7d718..3c3858e8b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -381,6 +381,9 @@ CLEANFILES += include/private/vkd3d_version.h dummy-vkd3d-version: ## Cross-compile tests + +if BUILD_CROSSTESTS + cross_implibs = crosslibs/d3d12 CROSS_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/include/private -I$(builddir)/include CROSS_CFLAGS = -g -O2 -Wall -municode ${CROSS_CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=0 @@ -440,6 +443,13 @@ else crosstest64: endif +else + +crosstest32: +crosstest64: + +endif # BUILD_CROSSTESTS + .PHONY: crosstest crosstest32 crosstest64 crosstest: crosstest32 crosstest64 diff --git a/configure.ac b/configure.ac index d296dfd4b..b13858d2d 100644 --- a/configure.ac +++ b/configure.ac @@ -143,13 +143,14 @@ AM_CONDITIONAL([BUILD_TESTS], [test "x$enable_tests" != "xno"]) AM_CONDITIONAL([HAVE_WIDL], [test "x$WIDL" != "xno"]) AM_CONDITIONAL([HAVE_CROSSTARGET32], [test "x$CROSSTARGET32" != "xno"]) AM_CONDITIONAL([HAVE_CROSSTARGET64], [test "x$CROSSTARGET64" != "xno"]) +AM_CONDITIONAL([BUILD_CROSSTESTS], + [test "x$enable_tests" != "xno" -a \( "x$CROSSTARGET32" != "xno" -o "x$CROSSTARGET64" != "xno" \)]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT dnl Output configuration summary -AS_IF([test "x$CROSSTARGET32" != "xno" -o "x$CROSSTARGET64" != "xno"], - [HAVE_CROSSTEST=yes], [HAVE_CROSSTEST=no]) +AM_COND_IF([BUILD_CROSSTESTS],[HAVE_CROSSTEST=yes], [HAVE_CROSSTEST=no]) AS_IF([test $DX_FLAG_doc = 1], [HAVE_DOCS=yes], [HAVE_DOCS=no]) AS_ECHO([" @@ -166,6 +167,6 @@ AS_ECHO([" Building documentation: ${HAVE_DOCS} Building crosstests: ${HAVE_CROSSTEST}"]) -AS_IF([test "x$CROSSTARGET32" != "xno"], [AS_ECHO([" Using 32-bit cross compiler: $CROSSCC32"])]) -AS_IF([test "x$CROSSTARGET64" != "xno"], [AS_ECHO([" Using 64-bit cross compiler: $CROSSCC64"])]) +AS_IF([test "$HAVE_CROSSTEST" == "yes" -a "x$CROSSTARGET32" != "xno"], [AS_ECHO([" Using 32-bit cross compiler: $CROSSCC32"])]) +AS_IF([test "$HAVE_CROSSTEST" == "yes" -a "x$CROSSTARGET64" != "xno"], [AS_ECHO([" Using 64-bit cross compiler: $CROSSCC64"])]) AS_ECHO([]) -- 2.34.1
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=106110 Your paranoid android. === debian11 (build log) === error: patch failed: configure.ac:143 Task: Patch failed to apply === debian11 (build log) === error: patch failed: configure.ac:143 Task: Patch failed to apply
Signed-off-by: Giovanni Mascellani <gmascellani(a)codeweavers.com> --- I don't completely understand why there are both BUILD_CROSSTESTS and HAVE_CROSSTEST (maybe one is for automake and the other for autoconf?), but after all if it's not confusing, it's not autotools. And at least it actually seems to block crosstest compilation this time. Il 26/01/22 18:35, Zebediah Figura ha scritto:
Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> --- v2: Actually disable them in the makefile.
Makefile.am | 10 ++++++++++ configure.ac | 9 +++++---- 2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 3b2e7d718..3c3858e8b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -381,6 +381,9 @@ CLEANFILES += include/private/vkd3d_version.h dummy-vkd3d-version:
## Cross-compile tests + +if BUILD_CROSSTESTS + cross_implibs = crosslibs/d3d12 CROSS_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/include/private -I$(builddir)/include CROSS_CFLAGS = -g -O2 -Wall -municode ${CROSS_CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=0 @@ -440,6 +443,13 @@ else crosstest64: endif
+else + +crosstest32: +crosstest64: + +endif # BUILD_CROSSTESTS + .PHONY: crosstest crosstest32 crosstest64 crosstest: crosstest32 crosstest64
diff --git a/configure.ac b/configure.ac index d296dfd4b..b13858d2d 100644 --- a/configure.ac +++ b/configure.ac @@ -143,13 +143,14 @@ AM_CONDITIONAL([BUILD_TESTS], [test "x$enable_tests" != "xno"]) AM_CONDITIONAL([HAVE_WIDL], [test "x$WIDL" != "xno"]) AM_CONDITIONAL([HAVE_CROSSTARGET32], [test "x$CROSSTARGET32" != "xno"]) AM_CONDITIONAL([HAVE_CROSSTARGET64], [test "x$CROSSTARGET64" != "xno"]) +AM_CONDITIONAL([BUILD_CROSSTESTS], + [test "x$enable_tests" != "xno" -a \( "x$CROSSTARGET32" != "xno" -o "x$CROSSTARGET64" != "xno" \)])
AC_CONFIG_FILES([Makefile]) AC_OUTPUT
dnl Output configuration summary -AS_IF([test "x$CROSSTARGET32" != "xno" -o "x$CROSSTARGET64" != "xno"], - [HAVE_CROSSTEST=yes], [HAVE_CROSSTEST=no]) +AM_COND_IF([BUILD_CROSSTESTS],[HAVE_CROSSTEST=yes], [HAVE_CROSSTEST=no]) AS_IF([test $DX_FLAG_doc = 1], [HAVE_DOCS=yes], [HAVE_DOCS=no])
AS_ECHO([" @@ -166,6 +167,6 @@ AS_ECHO([" Building documentation: ${HAVE_DOCS}
Building crosstests: ${HAVE_CROSSTEST}"]) -AS_IF([test "x$CROSSTARGET32" != "xno"], [AS_ECHO([" Using 32-bit cross compiler: $CROSSCC32"])]) -AS_IF([test "x$CROSSTARGET64" != "xno"], [AS_ECHO([" Using 64-bit cross compiler: $CROSSCC64"])]) +AS_IF([test "$HAVE_CROSSTEST" == "yes" -a "x$CROSSTARGET32" != "xno"], [AS_ECHO([" Using 32-bit cross compiler: $CROSSCC32"])]) +AS_IF([test "$HAVE_CROSSTEST" == "yes" -a "x$CROSSTARGET64" != "xno"], [AS_ECHO([" Using 64-bit cross compiler: $CROSSCC64"])]) AS_ECHO([])
On Wed, 26 Jan 2022 at 18:36, Zebediah Figura <zfigura(a)codeweavers.com> wrote:
Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> --- v2: Actually disable them in the makefile.
Makefile.am | 10 ++++++++++ configure.ac | 9 +++++---- 2 files changed, 15 insertions(+), 4 deletions(-)
If the goal is just to disable the crosstest targets, wouldn't inserting something like AS_IF([test "x$enable_tests" = "xno"], [CROSSTARGET32=no CROSSTARGET64=no]) before CROSSTARGET32/CROSSTARGET64 are used be a little more straightforward? Alternatively, we could use the existing BUILD_TESTS in Makefile.am and adjust the messages in configure.ac. Note however that the crosstest targets also build the demos, not just the tests.
participants (4)
-
Giovanni Mascellani -
Henri Verbeet -
Marvin -
Zebediah Figura