make: Support new WOW64 in separate bin dir.

Based on a patch by Billy Laws.
This commit is contained in:
Rémi Bernon 2025-01-12 15:09:59 +01:00 committed by Arkadiusz Hiler
parent 6301a8c25b
commit 334cce3426
2 changed files with 17 additions and 1 deletions

View File

@ -458,11 +458,20 @@ ifeq ($(findstring i386,$(unix_ARCHS)),)
$(call install-strip,$(WINE_x86_64_DST)/bin/wineserver,$(DST_DIR)/bin)
cp -a $(WINE_x86_64_DST)/bin/msidb $(DST_DIR)/bin/
else
cp -a $(WINE_x86_64_DST)/bin/wine64 $(WINE_x86_64_DST)/bin/wine
cp -a $(WINE_x86_64_DST)/bin/wine64-preloader $(WINE_x86_64_DST)/bin/wine-preloader
mkdir -p $(DST_DIR)/bin
$(call install-strip,$(WINE_x86_64_DST)/bin/wine64,$(DST_DIR)/bin)
$(call install-strip,$(WINE_x86_64_DST)/bin/wine64-preloader,$(DST_DIR)/bin)
$(call install-strip,$(WINE_x86_64_DST)/bin/wineserver,$(DST_DIR)/bin)
cp -a $(WINE_x86_64_DST)/bin/msidb $(DST_DIR)/bin
cp -a $(WINE_x86_64_DST)/bin/msidb $(DST_DIR)/bin/
mkdir -p $(DST_DIR)/bin-wow64
$(call install-strip,$(WINE_x86_64_DST)/bin/wine,$(DST_DIR)/bin-wow64)
$(call install-strip,$(WINE_x86_64_DST)/bin/wine-preloader,$(DST_DIR)/bin-wow64)
$(call install-strip,$(WINE_x86_64_DST)/bin/wineserver,$(DST_DIR)/bin-wow64)
cp -a $(WINE_x86_64_DST)/bin/msidb $(DST_DIR)/bin-wow64/
endif
mkdir -p $(DST_DIR)/share

7
proton
View File

@ -529,6 +529,12 @@ class Proton:
self.wineserver_bin = self.bin_dir + "wineserver"
self.dist_lock = FileLock(self.path("dist.lock"), timeout=-1)
if os.environ.get("PROTON_USE_WOW64", None) == "1" or not file_exists(self.wine_bin, follow_symlinks=True):
self.bin_dir = self.path("files/bin-wow64/")
self.wine_bin = self.bin_dir + "wine"
self.wine64_bin = self.bin_dir + "wine"
self.wineserver_bin = self.bin_dir + "wineserver"
def path(self, d):
return self.base_dir + d
@ -1673,6 +1679,7 @@ class Session:
self.log_file.write("Language: LC_ALL " + str(self.env.get("HOST_LC_ALL", None)) +
", LC_MESSAGES " + str(self.env.get("LC_MESSAGES", None)) +
", LC_CTYPE " + str(self.env.get("LC_CTYPE", None)) + "\n")
self.log_file.write("PATH: " + str(self.env.get("PATH", None)) + "\n")
#dump some important variables into the log header
for var in ["WINEDLLOVERRIDES", "WINEDEBUG"]: