Files
2021-04-22 00:02:21 -04:00

36 lines
2.0 KiB
Markdown

# SourceMod Socket Extension
This has been forked from [sfPlayer's origin Git repository][socket-git].
Get to the [AlliedModders forum thread][socket-am] for more information.
[socket-git]: http://player.to/gitweb/index.cgi?p=sm-ext-socket.git
[socket-am]: https://forums.alliedmods.net/showthread.php?t=67640
## Building with AMBuild
### Dependencies
- [SourceMod][] toolchain (follow the instructions on [Building SourceMod][] to set up your
environment, if you haven't already)
- [Boost][]
[SourceMod]: https://github.com/alliedmodders/sourcemod/
[Building SourceMod]: https://wiki.alliedmods.net/Building_SourceMod
[Boost]: http://www.boost.org/
### Configuration
1. Configure Boost.
- Download the release archive from the site and extract the archive to a location
`${BOOST_PATH}`. Set that location as your working directory.
- Run the `bootstrap` script for your platform to build `b2`. Pass `--with-toolset` with
either `msvc`, `gcc`, or `clang` depending on what compiler you plan on building with.
- Invoke `b2 define=BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY address-model=32 runtime-link=static link=static --build-dir=build/x86 --stagedir=stage/x86 --with-thread --with-date_time --with-regex`
to build the required libraries in mixed RTTI mode (boost will use RTTI, the extension will
not). The configuration should build fully static x86 libraries on both Withdows and Linux,
with versioned filenames on the former and system names on the latter (which allows us to
use `-lboost_*` without additional extensions when setting up the link flags on `ambuild`).
- If an existing build is present with a different configuration, use `-a` to force
rebuilding the libraries.
2. `cd build/` and run `../configure.py --sm-path ${SM_PATH} --boost-path ${BOOST_PATH}`
- example: `python ../configure.py --sm-path "G:/Documents/SMBuild/sourcemod" --boost-path "G:/Documents/CPPLibs/boost_1_71_0/" --enable-optimize 1`
3. `ambuild` as normal.