mirror of
https://gitlab.com/Mr_Goldberg/goldberg_emulator.git
synced 2024-11-09 22:28:38 +01:00
Add linux steamclient builds.
This commit is contained in:
parent
2faba9bed9
commit
e9513d4733
5 changed files with 42 additions and 8 deletions
|
@ -5,9 +5,12 @@ mkdir -p linux/x86_64
|
|||
mkdir -p linux/lobby_connect
|
||||
mkdir -p linux/tools
|
||||
cp scripts/find_interfaces.sh linux/tools/
|
||||
cp scripts/steamclient_loader.sh linux/tools/
|
||||
../protobuf/prefix_x86/bin/protoc -I./dll/ --cpp_out=./dll/ ./dll/*.proto
|
||||
g++ -m32 -shared -fPIC -fvisibility=hidden -Wl,--exclude-libs,ALL -DGNUC -DEMU_RELEASE_BUILD -DNDEBUG -s -o linux/x86/libsteam_api.so dll/*.cpp dll/*.cc -Wno-return-type -I../protobuf/prefix_x86/include/ -L../protobuf/prefix_x86/lib/ -lprotobuf-lite -std=c++11 && echo built32
|
||||
g++ -m32 -fvisibility=hidden -Wl,--exclude-libs,ALL -DGNUC -DEMU_RELEASE_BUILD -DNDEBUG -DNO_DISK_WRITES -DLOBBY_CONNECT -s -o linux/lobby_connect/lobby_connect_x86 lobby_connect.cpp dll/*.cpp dll/*.cc -Wno-return-type -I../protobuf/prefix_x86/include/ -L../protobuf/prefix_x86/lib/ -lprotobuf-lite -lpthread -std=c++11 && echo built_lobby_connect32
|
||||
g++ -m32 -shared -fPIC -fvisibility=hidden -Wl,--exclude-libs,ALL -DGNUC -DEMU_RELEASE_BUILD -DSTEAMCLIENT_DLL -DNDEBUG -s -o linux/x86/steamclient.so dll/*.cpp dll/*.cc -Wno-return-type -I../protobuf/prefix_x86/include/ -L../protobuf/prefix_x86/lib/ -lprotobuf-lite -std=c++11 && echo built32_steamclient
|
||||
../protobuf/prefix/bin/protoc -I./dll/ --cpp_out=./dll/ ./dll/*.proto
|
||||
g++ -shared -fPIC -fvisibility=hidden -Wl,--exclude-libs,ALL -DGNUC -DEMU_RELEASE_BUILD -DNDEBUG -s -o linux/x86_64/libsteam_api.so dll/*.cpp dll/*.cc -Wno-return-type -I../protobuf/prefix/include/ -L../protobuf/prefix/lib/ -lprotobuf-lite -std=c++11 && echo built64
|
||||
g++ -fvisibility=hidden -Wl,--exclude-libs,ALL -DGNUC -DEMU_RELEASE_BUILD -DNDEBUG -DNO_DISK_WRITES -DLOBBY_CONNECT -s -o linux/lobby_connect/lobby_connect_x64 lobby_connect.cpp dll/*.cpp dll/*.cc -Wno-return-type -I../protobuf/prefix/include/ -L../protobuf/prefix/lib/ -lprotobuf-lite -lpthread -std=c++11 && echo built_lobby_connect64
|
||||
g++ -shared -fPIC -fvisibility=hidden -Wl,--exclude-libs,ALL -DGNUC -DEMU_RELEASE_BUILD -DSTEAMCLIENT_DLL -DNDEBUG -s -o linux/x86_64/steamclient.so dll/*.cpp dll/*.cc -Wno-return-type -I../protobuf/prefix/include/ -L../protobuf/prefix/lib/ -lprotobuf-lite -std=c++11 && echo built64_steamclient
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#ifdef STEAMCLIENT_DLL
|
||||
#define STEAMAPI_API static
|
||||
#define STEAMCLIENT_API S_API
|
||||
#define STEAMCLIENT_API S_API_EXPORT
|
||||
#else
|
||||
#define STEAMAPI_API S_API
|
||||
#define STEAMCLIENT_API static
|
||||
|
|
|
@ -162,6 +162,7 @@ HSteamPipe Steam_Client::CreateSteamPipe()
|
|||
bool Steam_Client::BReleaseSteamPipe( HSteamPipe hSteamPipe )
|
||||
{
|
||||
PRINT_DEBUG("BReleaseSteamPipe\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
// connects to an existing global user, failing if none exists
|
||||
|
|
24
scripts/steamclient_loader.sh
Normal file
24
scripts/steamclient_loader.sh
Normal file
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash
|
||||
APP_PATH=./example_executable
|
||||
APP_ID=480
|
||||
|
||||
set -e
|
||||
mkdir -p ~/.steam/sdk64
|
||||
mkdir -p ~/.steam/sdk32
|
||||
#make a backup of original files
|
||||
mv ~/.steam/steam.pid ~/.steam/steam.pid.orig || true
|
||||
mv ~/.steam/sdk64/steamclient.so ~/.steam/sdk64/steamclient.so.orig || true
|
||||
mv ~/.steam/sdk32/steamclient.so ~/.steam/sdk32/steamclient.so.orig || true
|
||||
#copy our files
|
||||
cp x86/steamclient.so ~/.steam/sdk32/steamclient.so
|
||||
cp x86_64/steamclient.so ~/.steam/sdk64/steamclient.so
|
||||
echo $BASHPID > ~/.steam/steam.pid
|
||||
SteamAppId=$APP_ID SteamGameId=$APP_ID $APP_PATH
|
||||
|
||||
#restore original
|
||||
rm -f ~/.steam/steam.pid
|
||||
rm -f ~/.steam/sdk64/steamclient.so
|
||||
rm -f ~/.steam/sdk32/steamclient.so
|
||||
mv ~/.steam/steam.pid.orig ~/.steam/steam.pid
|
||||
mv ~/.steam/sdk64/steamclient.so.orig ~/.steam/sdk64/steamclient.so || true
|
||||
mv ~/.steam/sdk32/steamclient.so.orig ~/.steam/sdk32/steamclient.so || true
|
|
@ -19,26 +19,32 @@
|
|||
// S_API defines the linkage and calling conventions for steam_api.dll exports
|
||||
#if defined( STEAM_WIN32 ) && !defined( _X360 )
|
||||
#if defined( STEAM_API_EXPORTS )
|
||||
#define S_API extern "C" __declspec( dllexport )
|
||||
#define S_API_EXPORT extern "C" __declspec( dllexport )
|
||||
#elif defined( STEAM_API_NODLL )
|
||||
#define S_API extern "C"
|
||||
#define S_API_EXPORT extern "C"
|
||||
#else
|
||||
#define S_API extern "C" __declspec( dllimport )
|
||||
#define S_API_EXPORT extern "C" __declspec( dllimport )
|
||||
#endif // STEAM_API_EXPORTS
|
||||
#elif defined( GNUC )
|
||||
#if defined( STEAM_API_EXPORTS )
|
||||
#define S_API extern "C" __attribute__ ((visibility("default")))
|
||||
#define S_API_EXPORT extern "C" __attribute__ ((visibility("default")))
|
||||
#else
|
||||
#define S_API extern "C"
|
||||
#define S_API_EXPORT extern "C"
|
||||
#endif // STEAM_API_EXPORTS
|
||||
#else // !WIN32
|
||||
#if defined( STEAM_API_EXPORTS )
|
||||
#define S_API extern "C"
|
||||
#define S_API_EXPORT extern "C"
|
||||
#else
|
||||
#define S_API extern "C"
|
||||
#define S_API_EXPORT extern "C"
|
||||
#endif // STEAM_API_EXPORTS
|
||||
#endif
|
||||
|
||||
#ifdef STEAMCLIENT_DLL
|
||||
#define S_API static
|
||||
#else
|
||||
#define S_API S_API_EXPORT
|
||||
#endif
|
||||
|
||||
#if ( defined(STEAM_API_EXPORTS) || defined(STEAM_API_NODLL) ) && !defined(API_GEN)
|
||||
#define STEAM_PRIVATE_API( ... ) __VA_ARGS__
|
||||
#elif defined(STEAM_API_EXPORTS) && defined(API_GEN)
|
||||
|
|
Loading…
Reference in a new issue