updated Linux build script to build the find_interfaces tool for Linux as well + copy the new steamclient_loader script files
This commit is contained in:
parent
51498ebfb2
commit
fb44c1f964
136
build_linux.sh
136
build_linux.sh
@ -5,7 +5,6 @@ required_files=(
|
|||||||
"dll/dll.cpp"
|
"dll/dll.cpp"
|
||||||
"dll/steam_client.cpp"
|
"dll/steam_client.cpp"
|
||||||
"controller/gamepad.c"
|
"controller/gamepad.c"
|
||||||
"scripts/find_interfaces.sh"
|
|
||||||
"sdk_includes/isteamclient.h"
|
"sdk_includes/isteamclient.h"
|
||||||
"generate_interfaces_file.cpp"
|
"generate_interfaces_file.cpp"
|
||||||
)
|
)
|
||||||
@ -24,7 +23,8 @@ BUILD_CLIENT32=1
|
|||||||
BUILD_CLIENT64=1
|
BUILD_CLIENT64=1
|
||||||
BUILD_TOOL_CLIENT_LDR=1
|
BUILD_TOOL_CLIENT_LDR=1
|
||||||
|
|
||||||
BUILD_TOOL_FIND_ITFS=1
|
BUILD_TOOL_FIND_ITFS32=1
|
||||||
|
BUILD_TOOL_FIND_ITFS64=1
|
||||||
BUILD_TOOL_LOBBY32=1
|
BUILD_TOOL_LOBBY32=1
|
||||||
BUILD_TOOL_LOBBY64=1
|
BUILD_TOOL_LOBBY64=1
|
||||||
|
|
||||||
@ -56,8 +56,10 @@ for (( i=1; i<=$#; i++ )); do
|
|||||||
BUILD_CLIENT64=0
|
BUILD_CLIENT64=0
|
||||||
elif [[ "$var" = "-tool-clientldr" ]]; then
|
elif [[ "$var" = "-tool-clientldr" ]]; then
|
||||||
BUILD_TOOL_CLIENT_LDR=0
|
BUILD_TOOL_CLIENT_LDR=0
|
||||||
elif [[ "$var" = "-tool-itf" ]]; then
|
elif [[ "$var" = "-tool-itf-32" ]]; then
|
||||||
BUILD_TOOL_FIND_ITFS=0
|
BUILD_TOOL_FIND_ITFS32=0
|
||||||
|
elif [[ "$var" = "-tool-itf-64" ]]; then
|
||||||
|
BUILD_TOOL_FIND_ITFS64=0
|
||||||
elif [[ "$var" = "-tool-lobby-32" ]]; then
|
elif [[ "$var" = "-tool-lobby-32" ]]; then
|
||||||
BUILD_TOOL_LOBBY32=0
|
BUILD_TOOL_LOBBY32=0
|
||||||
elif [[ "$var" = "-tool-lobby-64" ]]; then
|
elif [[ "$var" = "-tool-lobby-64" ]]; then
|
||||||
@ -145,7 +147,7 @@ if [[ "$BUILD_LOW_PERF" = "1" ]]; then
|
|||||||
'avx10.1-256'
|
'avx10.1-256'
|
||||||
'avx10.1-512'
|
'avx10.1-512'
|
||||||
)
|
)
|
||||||
additional_compiler_args="$additional_compiler_args ${instr_set_to_disable/#/-mno-}"
|
additional_compiler_args="$additional_compiler_args ${instr_set_to_disable[@]/#/-mno-}"
|
||||||
|
|
||||||
build_folder="$build_folder-low_perf"
|
build_folder="$build_folder-low_perf"
|
||||||
fi
|
fi
|
||||||
@ -266,18 +268,6 @@ echo "[?] All build operations will use $build_threads parallel jobs"
|
|||||||
|
|
||||||
last_code=0
|
last_code=0
|
||||||
|
|
||||||
### create folders + copy common scripts
|
|
||||||
echo // creating dirs + copying tools
|
|
||||||
rm -f -r "$build_root_dir"
|
|
||||||
mkdir -p "$build_root_32"
|
|
||||||
mkdir -p "$build_root_64"
|
|
||||||
mkdir -p "$build_root_tools"
|
|
||||||
|
|
||||||
[[ "$BUILD_TOOL_FIND_ITFS" = "1" ]] && cp -f scripts/find_interfaces.sh "$build_root_tools/"
|
|
||||||
[[ "$BUILD_TOOL_CLIENT_LDR" = "1" ]] && cp -f scripts/steamclient_loader.sh "$build_root_tools/"
|
|
||||||
|
|
||||||
echo; echo
|
|
||||||
|
|
||||||
|
|
||||||
function build_for () {
|
function build_for () {
|
||||||
|
|
||||||
@ -285,7 +275,12 @@ function build_for () {
|
|||||||
local is_exe=$( [[ "$2" != 0 ]] && { echo 1; } || { echo 0; } )
|
local is_exe=$( [[ "$2" != 0 ]] && { echo 1; } || { echo 0; } )
|
||||||
local out_filepath="${3:?'missing filepath'}"
|
local out_filepath="${3:?'missing filepath'}"
|
||||||
local extra_defs="$4"
|
local extra_defs="$4"
|
||||||
local -n extra_src=$5
|
local -n all_src=$5
|
||||||
|
|
||||||
|
[[ "${#all_src[@]}" = "0" ]] && {
|
||||||
|
echo [X] "No source files specified" >&2;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
# https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
|
# https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
|
||||||
local cpiler_m32=''
|
local cpiler_m32=''
|
||||||
@ -311,7 +306,7 @@ function build_for () {
|
|||||||
|
|
||||||
local build_cmds=()
|
local build_cmds=()
|
||||||
local -A objs_dirs=()
|
local -A objs_dirs=()
|
||||||
for src_file in $( echo "${release_src[@]}" "${extra_src[@]}" ); do
|
for src_file in $( echo "${all_src[@]}" ); do
|
||||||
[[ -f "$src_file" ]] || continue
|
[[ -f "$src_file" ]] || continue
|
||||||
|
|
||||||
# https://stackoverflow.com/a/9559024
|
# https://stackoverflow.com/a/9559024
|
||||||
@ -327,6 +322,11 @@ function build_for () {
|
|||||||
mkdir -p "$obj_dir"
|
mkdir -p "$obj_dir"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
[[ "${#build_cmds[@]}" = "0" ]] && {
|
||||||
|
echo [X] "No valid source files were found" >&2;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
local target_incs=()
|
local target_incs=()
|
||||||
local target_libs_dirs=()
|
local target_libs_dirs=()
|
||||||
if [[ $is_32_build = 1 ]]; then
|
if [[ $is_32_build = 1 ]]; then
|
||||||
@ -371,34 +371,85 @@ function build_for () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
### create folders + copy common scripts
|
||||||
|
echo // creating dirs
|
||||||
|
rm -f -r "$build_root_dir"
|
||||||
|
mkdir -p "$build_root_32"
|
||||||
|
mkdir -p "$build_root_64"
|
||||||
|
mkdir -p "$build_root_tools/steamclient_loader"
|
||||||
|
mkdir -p "$build_root_tools/find_interfaces"
|
||||||
|
mkdir -p "$build_root_tools/lobby_connect"
|
||||||
|
|
||||||
|
echo; echo;
|
||||||
|
|
||||||
|
|
||||||
|
## tools
|
||||||
|
if [[ "$BUILD_TOOL_CLIENT_LDR" = "1" ]]; then
|
||||||
|
echo // copying tool steamclient_loader
|
||||||
|
steamclient_files=(
|
||||||
|
"ldr_appid.txt"
|
||||||
|
"ldr_cmdline.txt"
|
||||||
|
"ldr_cwd.txt"
|
||||||
|
"ldr_exe.txt"
|
||||||
|
"ldr_steam_rt.txt"
|
||||||
|
"README.md"
|
||||||
|
"steamclient_loader.sh"
|
||||||
|
)
|
||||||
|
for f in "${steamclient_files[@]}"; do
|
||||||
|
cp -f "tools_linux/steamclient_loader/$f" "$build_root_tools/steamclient_loader/";
|
||||||
|
done
|
||||||
|
|
||||||
|
echo; echo;
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
### x32 build
|
### x32 build
|
||||||
rm -f dll/net.pb.cc
|
rm -f dll/net.pb.cc
|
||||||
rm -f dll/net.pb.h
|
rm -f dll/net.pb.h
|
||||||
echo // invoking protobuf compiler - 32
|
echo // invoking protobuf compiler - 32
|
||||||
"$protoc_exe_32" -I./dll/ --cpp_out=./dll/ ./dll/*.proto
|
"$protoc_exe_32" -I./dll/ --cpp_out=./dll/ ./dll/*.proto
|
||||||
echo ; echo ;
|
echo; echo;
|
||||||
|
|
||||||
if [[ "$BUILD_LIB32" = "1" ]]; then
|
if [[ "$BUILD_LIB32" = "1" ]]; then
|
||||||
echo // building shared lib libsteam_api.so - 32
|
echo // building shared lib libsteam_api.so - 32
|
||||||
|
|
||||||
extra_src_files=("controller/*.c")
|
all_src_files=(
|
||||||
build_for 1 0 "$build_root_32/libsteam_api.so" '-DCONTROLLER_SUPPORT' extra_src_files
|
"${release_src[@]}"
|
||||||
|
"controller/*.c"
|
||||||
|
)
|
||||||
|
build_for 1 0 "$build_root_32/libsteam_api.so" '-DCONTROLLER_SUPPORT' all_src_files
|
||||||
last_code=$((last_code + $?))
|
last_code=$((last_code + $?))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$BUILD_CLIENT32" = "1" ]]; then
|
if [[ "$BUILD_CLIENT32" = "1" ]]; then
|
||||||
echo // building shared lib steamclient.so - 32
|
echo // building shared lib steamclient.so - 32
|
||||||
|
|
||||||
extra_src_files=("controller/*.c")
|
all_src_files=(
|
||||||
build_for 1 0 "$build_root_32/steamclient.so" '-DCONTROLLER_SUPPORT -DSTEAMCLIENT_DLL' extra_src_files
|
"${release_src[@]}"
|
||||||
|
"controller/*.c"
|
||||||
|
)
|
||||||
|
build_for 1 0 "$build_root_32/steamclient.so" '-DCONTROLLER_SUPPORT -DSTEAMCLIENT_DLL' all_src_files
|
||||||
last_code=$((last_code + $?))
|
last_code=$((last_code + $?))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$BUILD_TOOL_LOBBY32" = "1" ]]; then
|
if [[ "$BUILD_TOOL_LOBBY32" = "1" ]]; then
|
||||||
echo // building executable lobby_connect_x32 - 32
|
echo // building executable lobby_connect_x32 - 32
|
||||||
|
|
||||||
extra_src_files=("lobby_connect.cpp")
|
all_src_files=(
|
||||||
build_for 1 1 "$build_root_tools/lobby_connect_x32" '-DNO_DISK_WRITES -DLOBBY_CONNECT' extra_src_files
|
"${release_src[@]}"
|
||||||
|
"lobby_connect.cpp"
|
||||||
|
)
|
||||||
|
build_for 1 1 "$build_root_tools/lobby_connect/lobby_connect_x32" '-DNO_DISK_WRITES -DLOBBY_CONNECT' all_src_files
|
||||||
|
last_code=$((last_code + $?))
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$BUILD_TOOL_FIND_ITFS32" = "1" ]]; then
|
||||||
|
echo // building executable generate_interfaces_file_x32 - 32
|
||||||
|
|
||||||
|
all_src_files=(
|
||||||
|
"generate_interfaces_file.cpp"
|
||||||
|
)
|
||||||
|
build_for 1 1 "$build_root_tools/find_interfaces/generate_interfaces_file_x32" '' all_src_files
|
||||||
last_code=$((last_code + $?))
|
last_code=$((last_code + $?))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -410,29 +461,48 @@ rm -f -r "$build_temp_dir"
|
|||||||
mkdir -p "$build_temp_dir"
|
mkdir -p "$build_temp_dir"
|
||||||
echo // invoking protobuf compiler - 64
|
echo // invoking protobuf compiler - 64
|
||||||
"$protoc_exe_64" -I./dll/ --cpp_out=./dll/ ./dll/*.proto
|
"$protoc_exe_64" -I./dll/ --cpp_out=./dll/ ./dll/*.proto
|
||||||
echo ; echo ;
|
echo; echo;
|
||||||
|
|
||||||
if [[ "$BUILD_LIB64" = "1" ]]; then
|
if [[ "$BUILD_LIB64" = "1" ]]; then
|
||||||
echo // building shared lib libsteam_api.so - 64
|
echo // building shared lib libsteam_api.so - 64
|
||||||
|
|
||||||
extra_src_files=("controller/*.c")
|
all_src_files=(
|
||||||
build_for 0 0 "$build_root_64/libsteam_api.so" '-DCONTROLLER_SUPPORT' extra_src_files
|
"${release_src[@]}"
|
||||||
|
"controller/*.c"
|
||||||
|
)
|
||||||
|
build_for 0 0 "$build_root_64/libsteam_api.so" '-DCONTROLLER_SUPPORT' all_src_files
|
||||||
last_code=$((last_code + $?))
|
last_code=$((last_code + $?))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$BUILD_CLIENT64" = "1" ]]; then
|
if [[ "$BUILD_CLIENT64" = "1" ]]; then
|
||||||
echo // building shared lib steamclient.so - 64
|
echo // building shared lib steamclient.so - 64
|
||||||
|
|
||||||
extra_src_files=("controller/*.c")
|
all_src_files=(
|
||||||
build_for 0 0 "$build_root_64/steamclient.so" '-DCONTROLLER_SUPPORT -DSTEAMCLIENT_DLL' extra_src_files
|
"${release_src[@]}"
|
||||||
|
"controller/*.c"
|
||||||
|
)
|
||||||
|
build_for 0 0 "$build_root_64/steamclient.so" '-DCONTROLLER_SUPPORT -DSTEAMCLIENT_DLL' all_src_files
|
||||||
last_code=$((last_code + $?))
|
last_code=$((last_code + $?))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$BUILD_TOOL_LOBBY64" = "1" ]]; then
|
if [[ "$BUILD_TOOL_LOBBY64" = "1" ]]; then
|
||||||
echo // building executable lobby_connect_x64 - 64
|
echo // building executable lobby_connect_x64 - 64
|
||||||
|
|
||||||
extra_src_files=("lobby_connect.cpp")
|
all_src_files=(
|
||||||
build_for 0 1 "$build_root_tools/lobby_connect_x64" '-DNO_DISK_WRITES -DLOBBY_CONNECT' extra_src_files
|
"${release_src[@]}"
|
||||||
|
"lobby_connect.cpp"
|
||||||
|
)
|
||||||
|
build_for 0 1 "$build_root_tools/lobby_connect/lobby_connect_x64" '-DNO_DISK_WRITES -DLOBBY_CONNECT' all_src_files
|
||||||
|
last_code=$((last_code + $?))
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$BUILD_TOOL_FIND_ITFS64" = "1" ]]; then
|
||||||
|
echo // building executable generate_interfaces_file_x64 - 64
|
||||||
|
|
||||||
|
all_src_files=(
|
||||||
|
"generate_interfaces_file.cpp"
|
||||||
|
)
|
||||||
|
build_for 0 1 "$build_root_tools/find_interfaces/generate_interfaces_file_x64" '' all_src_files
|
||||||
last_code=$((last_code + $?))
|
last_code=$((last_code + $?))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user