63 lines
2.9 KiB
Markdown
63 lines
2.9 KiB
Markdown
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
|
|
|