Use widl from mingw-tools

vkd3d-proton uses now widl from mingw for cross-builds.
This commit is contained in:
Jens Peters 2020-07-31 06:30:52 +02:00 committed by Andrew Eikum
parent c17b8056bd
commit deabf97f1c
2 changed files with 16 additions and 32 deletions

View File

@ -203,6 +203,18 @@ function build_arch {
PATH=$NEWPATH make $JOBS install
popd
mkdir -p mingw-w64-tools/widl
pushd mingw-w64-tools/widl/
if [ ! -e Makefile ]; then
PATH=$NEWPATH ../../../$MINGW_W64_SRCDIR/mingw-w64-tools/widl/configure \
--prefix=$DST_DIR/ \
--target=$WIN32_TARGET_ARCH \
--program-prefix="${WIN32_TARGET_ARCH}-"
fi
PATH=$NEWPATH make $JOBS
PATH=$NEWPATH make $JOBS install
popd
popd
}

View File

@ -258,9 +258,6 @@ WINEGCC64 := $(TOOLS_DIR64)/bin/winegcc
WINEBUILD64 := $(TOOLS_DIR64)/bin/winebuild
WINE_BUILDTOOLS64 := $(WINEGCC64) $(WINEBUILD64)
WINEWIDL_OBJ64 := ./obj-widl64
WINEWIDL64 := $(WINEWIDL_OBJ64)/tools/widl/widl
VRCLIENT := $(SRCDIR)/vrclient_x64
VRCLIENT32 := ./syn-vrclient32
VRCLIENT_OBJ64 := ./obj-vrclient64
@ -293,7 +290,6 @@ OBJ_DIRS := $(TOOLS_DIR32) $(TOOLS_DIR64) \
$(WINE_OBJ32) $(WINE_OBJ64) \
$(VRCLIENT_OBJ32) $(VRCLIENT_OBJ64) \
$(DXVK_OBJ32) $(DXVK_OBJ64) \
$(WINEWIDL_OBJ64) \
$(MEDIACONV_OBJ32) $(MEDIACONV_OBJ64) \
$(VKD3D_OBJ32) $(VKD3D_OBJ64)
@ -1324,39 +1320,15 @@ dxvk32: $(DXVK_CONFIGURE_FILES32)
endif # NO_DXVK
# widl; required for vkd3d, which is built before wine
WINEWIDL_CONFIGURE_FILES64 := $(WINEWIDL_OBJ64)/Makefile
$(WINEWIDL_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64)
$(WINEWIDL_CONFIGURE_FILES64): $(MAKEFILE_DEP) | $(WINEWIDL_OBJ64)
cd $(dir $@) && \
../$(WINE)/configure \
--without-curses \
--enable-win64 \
--disable-tests \
STRIP=$(STRIP_QUOTED) \
CFLAGS=-I$(abspath $(TOOLS_DIR64))"/include -g $(COMMON_FLAGS)" \
CROSSCFLAGS="-g $(COMMON_FLAGS)" \
LDFLAGS=-L$(abspath $(TOOLS_DIR64))/lib \
PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR64))/lib/pkgconfig \
CC=$(CC_QUOTED) \
CXX=$(CXX_QUOTED)
$(WINEWIDL64): SHELL = $(CONTAINER_SHELL64)
$(WINEWIDL64): $(WINEWIDL_CONFIGURE_FILES64)
cd $(WINEWIDL_OBJ64) && \
make tools/widl
# VKD3D
VKD3D_CONFIGURE_FILES32 := $(VKD3D_OBJ32)/build.ninja
VKD3D_CONFIGURE_FILES64 := $(VKD3D_OBJ64)/build.ninja
$(VKD3D_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32)
$(VKD3D_CONFIGURE_FILES32): $(VKD3D)/meson.build $(VKD3D)/build-win32.txt $(WINEWIDL64) | $(VKD3D_OBJ32)
$(VKD3D_CONFIGURE_FILES32): $(VKD3D)/meson.build $(VKD3D)/build-win32.txt | $(VKD3D_OBJ32)
cd $(abspath $(VKD3D_OBJ32)) && \
PATH="$(abspath $(SRCDIR))/glslang/bin/:$(abspath $(WINEWIDL_OBJ64))/tools/widl:$(PATH)" \
PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \
meson --prefix="$(abspath $(VKD3D_OBJ32))" \
--cross-file "$(abspath $(VKD3D))/build-win32.txt" \
$(MESON_STRIP_ARG) \
@ -1371,9 +1343,9 @@ vkd3d32: $(VKD3D_CONFIGURE_FILES32)
rm -f "$(DST_DIR)"/lib/wine/vkd3d-proton/version && if test -e $(SRCDIR)/.git; then ( cd $(SRCDIR) && git submodule status -- vkd3d-proton ) > "$(DST_DIR)"/lib/wine/vkd3d-proton/version; fi
$(VKD3D_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64)
$(VKD3D_CONFIGURE_FILES64): $(VKD3D)/meson.build $(VKD3D)/build-win64.txt $(WINEWIDL64) | $(VKD3D_OBJ64)
$(VKD3D_CONFIGURE_FILES64): $(VKD3D)/meson.build $(VKD3D)/build-win64.txt | $(VKD3D_OBJ64)
cd $(abspath $(VKD3D_OBJ64)) && \
PATH="$(abspath $(SRCDIR))/glslang/bin/:$(abspath $(WINEWIDL_OBJ64))/tools/widl:$(PATH)" \
PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \
meson --prefix="$(abspath $(VKD3D_OBJ64))" \
--cross-file "$(abspath $(VKD3D))/build-win64.txt" \
$(MESON_STRIP_ARG) \