mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-01-26 13:38:15 +03:00
lsteamclient: Fix building as a winemaker project
This commit is contained in:
parent
88f3462bc1
commit
0b2c856af7
@ -2,34 +2,74 @@
|
||||
|
||||
set -e
|
||||
|
||||
RUNTIME_PATH="$PWD/../../runtime/steam-runtime-both/"
|
||||
|
||||
#./wine/ <-- wine source
|
||||
#./build/ <-- built files
|
||||
#./dist/ <-- proton build, ready to distribute
|
||||
|
||||
mkdir -p dist/ build/wine.win32 build/dist.win32 build/wine.win64
|
||||
|
||||
DST_DIR="$PWD/dist"
|
||||
TOP="$PWD"
|
||||
RUNTIME_PATH="$TOP/../../runtime/steam-runtime-both/"
|
||||
DST_DIR="$TOP/dist"
|
||||
TOOLS_DIR64="$TOP/build/tools.win64"
|
||||
TOOLS_DIR32="$TOP/build/tools.win32"
|
||||
|
||||
cp -a toolmanifest.vdf dist/
|
||||
|
||||
cd build/wine.win64
|
||||
CC="ccache gcc" "$RUNTIME_PATH/shell-amd64.sh" ../../wine/configure --enable-win64 --disable-tests --prefix="$DST_DIR"
|
||||
#build wine64
|
||||
cd "$TOP"/build/wine.win64
|
||||
CC="ccache gcc" "$RUNTIME_PATH/shell-amd64.sh" "$TOP"/wine/configure --enable-win64 --disable-tests --prefix="$DST_DIR"
|
||||
"$RUNTIME_PATH/shell-amd64.sh" make
|
||||
"$RUNTIME_PATH/shell-amd64.sh" make install-lib
|
||||
"$RUNTIME_PATH/shell-amd64.sh" make prefix="$TOOLS_DIR64" libdir="$TOOLS_DIR64/lib64" dlldir="$TOOLS_DIR64/lib64/wine" install-dev install-lib
|
||||
|
||||
cd ../wine.win32
|
||||
CC="ccache gcc" "$RUNTIME_PATH/shell-i386.sh" ../../wine/configure --disable-tests --prefix="$PWD/../dist.win32/"
|
||||
#build wine32
|
||||
cd "$TOP"/build/wine.win32
|
||||
CC="ccache gcc" "$RUNTIME_PATH/shell-i386.sh" "$TOP"/wine/configure --disable-tests --prefix="$TOP/build/dist.win32/"
|
||||
"$RUNTIME_PATH/shell-i386.sh" make
|
||||
"$RUNTIME_PATH/shell-i386.sh" make install-lib
|
||||
"$RUNTIME_PATH/shell-i386.sh" make prefix="$TOOLS_DIR32" libdir="$TOOLS_DIR32/lib" dlldir="$TOOLS_DIR32/lib/wine" install-dev install-lib
|
||||
|
||||
#install 32-bit stuff manually, see
|
||||
# https://wiki.winehq.org/Packaging#WoW64_Workarounds
|
||||
cd ../dist.win32/
|
||||
cd "$TOP"/build/dist.win32/
|
||||
cp -a lib "$DST_DIR"/
|
||||
cp -a bin/wine "$DST_DIR"/bin/
|
||||
cp -a bin/wine-preloader "$DST_DIR"/bin/
|
||||
cp -a bin/wineserver "$DST_DIR"/bin/wineserver32
|
||||
|
||||
#build 64-bit lsteamclient
|
||||
cd "$TOP"
|
||||
rm -rf build/lsteamclient.win64
|
||||
cp -a lsteamclient build/lsteamclient.win64
|
||||
cd "$TOP"/build/lsteamclient.win64/
|
||||
"$RUNTIME_PATH/shell-amd64.sh" "$TOP"/wine/tools/winemaker/winemaker \
|
||||
--nosource-fix --nolower-include --nodlls --nomsvcrt \
|
||||
-DSTEAM_API_EXPORTS \
|
||||
-I"$TOOLS_DIR64"/include/ \
|
||||
-I"$TOOLS_DIR64"/include/wine/ \
|
||||
-I"$TOOLS_DIR64"/include/wine/windows/ \
|
||||
-L"$TOOLS_DIR64"/lib64/ \
|
||||
-L"$TOOLS_DIR64"/lib64/wine/ \
|
||||
--dll .
|
||||
CXXFLAGS=-Wno-attributes PATH="$TOOLS_DIR64/bin:$PATH" "$RUNTIME_PATH/shell-amd64.sh" make
|
||||
cp -a lsteamclient.dll.so "$TOP"/dist/lib64/wine/
|
||||
|
||||
#build 32-bit lsteamclient
|
||||
cd "$TOP"
|
||||
rm -rf build/lsteamclient.win32
|
||||
cp -a lsteamclient build/lsteamclient.win32
|
||||
cd "$TOP"/build/lsteamclient.win32/
|
||||
"$RUNTIME_PATH/shell-i386.sh" "$TOP"/wine/tools/winemaker/winemaker \
|
||||
--nosource-fix --nolower-include --nodlls --nomsvcrt --wine32 \
|
||||
-DSTEAM_API_EXPORTS \
|
||||
-I"$TOOLS_DIR32"/include/ \
|
||||
-I"$TOOLS_DIR32"/include/wine/ \
|
||||
-I"$TOOLS_DIR32"/include/wine/windows/ \
|
||||
-L"$TOOLS_DIR32"/lib/ \
|
||||
-L"$TOOLS_DIR32"/lib/wine/ \
|
||||
--dll .
|
||||
CXXFLAGS=-Wno-attributes PATH="$TOOLS_DIR32/bin:$PATH" "$RUNTIME_PATH/shell-i386.sh" make -j1
|
||||
cp -a lsteamclient.dll.so "$TOP"/dist/lib/wine/
|
||||
|
||||
echo "Proton ready in dist/"
|
||||
|
@ -18,6 +18,12 @@
|
||||
|
||||
/* Copied from dlls/msvcrt/cxx.h */
|
||||
#undef __thiscall
|
||||
|
||||
#define __ASM_NAME(name) name
|
||||
#define __ASM_DEFINE_FUNC(name,suffix,code) asm(".text\n\t.align 4\n\t.globl " #name suffix "\n\t.type " #name suffix ",@function\n" #name suffix ":\n\t.cfi_startproc\n\t" code "\n\t.cfi_endproc\n\t.previous");
|
||||
#define __ASM_GLOBAL_FUNC(name,code) __ASM_DEFINE_FUNC(name,"",code)
|
||||
#define __ASM_STDCALL(args) ""
|
||||
|
||||
#ifdef __i386__ /* thiscall functions are i386-specific */
|
||||
|
||||
#define THISCALL(func) __thiscall_ ## func
|
||||
|
@ -8,3 +8,5 @@ rm cpp*.h
|
||||
rm cb*.h
|
||||
rm cb*.cpp
|
||||
rm cb*.dat
|
||||
|
||||
./gen_wrapper.py
|
||||
|
@ -296,8 +296,6 @@ def handle_class(sdkver, classnode):
|
||||
cfile = open("%s.c" % winname, "a")
|
||||
if not file_exists:
|
||||
cfile.write("""/* This file is auto-generated, do not edit. */
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -22,8 +22,6 @@ BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved)
|
||||
|
||||
switch (reason)
|
||||
{
|
||||
case DLL_WINE_PREATTACH:
|
||||
return FALSE; /* prefer native version */
|
||||
case DLL_PROCESS_ATTACH:
|
||||
DisableThreadLibraryCalls(instance);
|
||||
break;
|
||||
|
@ -31,3 +31,7 @@ typedef struct __winX winX;
|
||||
void *create_win_interface(const char *name, void *linux_side);
|
||||
unsigned int steamclient_unix_path_to_dos_path(unsigned int api_result, char *inout, unsigned int inout_bytes);
|
||||
void *create_LinuxMatchmakingServerListResponse(void *win);
|
||||
|
||||
#define TRACE WINE_TRACE
|
||||
#define ERR WINE_ERR
|
||||
#define WARN WINE_WARN
|
||||
|
@ -1,7 +1,5 @@
|
||||
/* Linux-to-Windows conversions (i.e. callbacks) here. */
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
/* This file is auto-generated, do not edit. */
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
Loading…
x
Reference in New Issue
Block a user