diff --git a/Makefile.am b/Makefile.am
index d10a0e35938f795c82d23002850141c35e405545..8f0fc5ff68c120f0b1add75fb1a1f741875efb72 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -147,7 +147,11 @@ vkd3d_v_widl_1 =
 
 EXTRA_DIST += $(widl_headers) $(widl_headers:.h=.idl)
 $(widl_headers): %.h: %.idl
+if HAVE_WIDL
 	$(VKD3D_V_WIDL)$(WIDL) -o $@ $<
+else
+	echo "widl is required to generate $<"
+endif
 
 EXTRA_DIST += $(vkd3d_demos_shaders)
 
@@ -173,7 +177,7 @@ CROSS_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/include/private -I$(builddir)/i
 CROSS_CFLAGS = -g -O2 -Wall -municode ${CROSS_CPPFLAGS}
 EXTRA_DIST += $(cross_implibs:=.cross32.def) $(cross_implibs:=.cross64.def)
 
-if HAS_CROSSTARGET32
+if HAVE_CROSSTARGET32
 CROSS32_CC = @CROSSCC32@
 CROSS32_DLLTOOL = @CROSSTARGET32@-dlltool
 CROSS32_IMPLIBS = $(cross_implibs:=.cross32.a)
@@ -198,7 +202,7 @@ else
 crosstest32:
 endif
 
-if HAS_CROSSTARGET64
+if HAVE_CROSSTARGET64
 CROSS64_CC = @CROSSCC64@
 CROSS64_DLLTOOL = @CROSSTARGET64@-dlltool
 CROSS64_IMPLIBS = $(cross_implibs:=.cross64.a)
diff --git a/configure.ac b/configure.ac
index f9616e31f60e2b938ba87b1c7c1d173c59a29b98..d00630b92054291e47a7917916b385b1eae29f55 100644
--- a/configure.ac
+++ b/configure.ac
@@ -88,8 +88,9 @@ VKD3D_CHECK_FUNC([HAVE_BUILTIN_POPCOUNT], [__builtin_popcount], [__builtin_popco
 VKD3D_CHECK_FUNC([HAVE_SYNC_ADD_AND_FETCH], [__sync_add_and_fetch], [__sync_add_and_fetch((int *)0, 0)])
 VKD3D_CHECK_FUNC([HAVE_SYNC_SUB_AND_FETCH], [__sync_sub_and_fetch], [__sync_sub_and_fetch((int *)0, 0)])
 
-AM_CONDITIONAL([HAS_CROSSTARGET32], [test "x$CROSSTARGET32" != "xno"])
-AM_CONDITIONAL([HAS_CROSSTARGET64], [test "x$CROSSTARGET64" != "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"])
 
 AC_CONFIG_FILES([Makefile])
 AC_OUTPUT