sm-ext-accelerator-2023/README.md

3.1 KiB

git push --all new-origin

There are no real changes to this compared to the version from boss over at https://github.com/srcdslab/sm-ext-accelerator/tree/master

The difference just being some basic environment settings for different paths and disabling some CFLAGS probably not available in clang14.

Unlike boss i prefer building this without having to rely on docker and an entire continous integration workflow.

The following is a rough list of steps to reproduce the build manually. I build it some hours ago so i probably forgot some commands by now. Basically you just have to replicate some build steps from https://github.com/srcdslab/sm-ext-accelerator/blob/master/.github/workflows/ci.yml

echo $SOURCEMOD
this has to return the path to the folder where your intended sourcemod installation is.
export SOURCEMOD=/home/gameservers/automate/sourcemod_2023_accelerator

export CC=clang
export CXX=clang++
export PATH="/usr/lib/jvm/jdk-17/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11/bin:/home/gameservers/.local/bin":/sbin:/bin:

the path is not exactly required like this, generally you just want /home/gameservers/.local/bin: because its where ambuild is installed atm on the OVH machine.

step 1:
directory: /home/gameservers/automate/sourcemod_2023_accelerator/extensions/sm-ext-accelerator/extension

mkdir breakpad && cd breakpad
git clone --recursive --branch=main https://chromium.googlesource.com/chromium/tools/depot_tools.git depot_tools
cd depot_tools
git checkout 08bb5c487f80147a236360ea50f4544890530779

step 2:
directory: /home/gameservers/automate/sourcemod_2023_accelerator/extensions/sm-ext-accelerator/extension/breakpad

cp depot_tools/.vpython3 .
PYTHONDONTWRITEBYTECODE=1 ./depot_tools/vpython3 ./depot_tools/fetch.py --nohooks breakpad
cd src
git config user.name patches
git config user.email patches@localhost
git checkout e3af4457b8355fcf1814e6dfb6073a848b44a282
git am -3 --keep-cr ../../../patches/*.patch

cd ..
mkdir build && cd build
env ac_cv_header_a_out_h=yes ../src/configure --enable-m32 CFLAGS="-Wno-error=deprecated" CXXFLAGS="-Wno-error=deprecated -g -O2 -D_GLIBCXX_USE_CXX11_ABI=0" CPPFLAGS=-m32
make src/tools/linux/dump_syms/dump_syms
make src/client/linux/libbreakpad_client.a
make src/libbreakpad.a src/third_party/libdisasm/libdisasm.a

the make commands just have to point towards /home/gameservers/automate/sourcemod_2023_accelerator/extensions/sm-ext-accelerator/extension/breakpad/src/src directory

step 3:
directory: /home/gameservers/automate/sourcemod_2023_accelerator/extensions/sm-ext-accelerator/extension

export PATH=$PATH:$PWD/breakpad/build/src/tools/linux/dump_syms/
mkdir build && cd build
python ../../configure.py --enable-optimize
python ./build.py

The only 3 files where you might have to edit environment variables should be:
AMBuildScript
extension/AMBuilder
test/AMBuilder

adding accelerator.ext.so.dbg: crazily enough we can just upload accelerator.ext.so.dbg to the extensions folder since we got --add-gnu-debuglink in the AMBuildScript