diff --git a/build/makefile_base.mak b/build/makefile_base.mak index e338b3bc..74b8df64 100644 --- a/build/makefile_base.mak +++ b/build/makefile_base.mak @@ -648,7 +648,7 @@ $(DIST_WINEOPENXR_JSON64): $(WINEOPENXR_SRC)/wineopenxr64.json dist_prefix STEAMEXE_CFLAGS = -Wno-attributes STEAMEXE_CXXFLAGS = -Wno-attributes -STEAMEXE_LDFLAGS = -lsteam_api -lole32 -ldl -static-libgcc -static-libstdc++ +STEAMEXE_LDFLAGS = -L$(STEAMEXE_SRC)/32/ -L$(STEAMEXE_SRC)/64/ -lsteam_api -lole32 -ldl -static-libgcc -static-libstdc++ STEAMEXE_WINEMAKER_ARGS = \ "-I$(SRC)/lsteamclient/steamworks_sdk_142/" \ @@ -658,10 +658,15 @@ STEAMEXE_WINEMAKER_ARGS = \ STEAMEXE_DEPENDS = wine $(eval $(call rules-source,steamexe,$(SRCDIR)/steam_helper)) +$(eval $(call rules-winemaker,steamexe,64,steam.exe)) $(eval $(call rules-winemaker,steamexe,32,steam.exe)) $(OBJ)/.steamexe-post-build32: - cp $(STEAMEXE_SRC)/libsteam_api.so $(DST_LIBDIR32)/ + cp $(STEAMEXE_SRC)/32/libsteam_api.so $(DST_LIBDIR32)/ + touch $@ + +$(OBJ)/.steamexe-post-build64: + cp $(STEAMEXE_SRC)/64/libsteam_api.so $(DST_LIBDIR64)/ touch $@ diff --git a/proton b/proton index c0a101fb..378d4304 100755 --- a/proton +++ b/proton @@ -290,6 +290,7 @@ class Proton: self.default_pfx_dir = self.path("dist/share/default_pfx/") self.user_settings_file = self.path("user_settings.py") self.wine_bin = self.bin_dir + "wine" + self.wine64_bin = self.bin_dir + "wine64" self.wineserver_bin = self.bin_dir + "wineserver" self.dist_lock = FileLock(self.path("dist.lock"), timeout=-1) @@ -1226,7 +1227,7 @@ class Session: f.write(" \"" + arg + "\"") f.write(")\n") self.dump_dbg_env(f) - f.write("\t\"" + g_proton.wine_bin + "\" steam.exe \"${@:-${DEF_CMD[@]}}\"\n") + f.write("\t\"" + g_proton.wine64_bin + "\" steam.exe \"${@:-${DEF_CMD[@]}}\"\n") os.chmod(tmpdir + "run", 0o755) def run_proc(self, args, local_env=None): @@ -1247,7 +1248,7 @@ class Session: else: remote_debug_proc = None - rc = self.run_proc([g_proton.wine_bin, "steam"] + sys.argv[2:] + self.cmdlineappend) + rc = self.run_proc([g_proton.wine64_bin, "steam"] + sys.argv[2:] + self.cmdlineappend) if remote_debug_proc: remote_debug_proc.kill() diff --git a/steam_helper/libsteam_api.so b/steam_helper/32/libsteam_api.so similarity index 100% rename from steam_helper/libsteam_api.so rename to steam_helper/32/libsteam_api.so diff --git a/steam_helper/64/libsteam_api.so b/steam_helper/64/libsteam_api.so new file mode 100755 index 00000000..edcda830 Binary files /dev/null and b/steam_helper/64/libsteam_api.so differ