This is a pretty big diff because SourceMod had lots of multi-arch workarounds that can now go away. I've also changed 'x64' to 'x86_64' in many places since this is how AMBuild normalizes it, and it's far too late to pick the shorter string, so we might as well suck it up. The --target-archs parameter has been replaced with --targets. It works the same way. The default behavior for SDK inclusion is now "present" instead of "all" since this lowers the burden of storing many SDKs. Official builds will still be made with --sdks=all. |
||
---|---|---|
.. | ||
lib_darwin | ||
lib_darwin64 | ||
lib_linux | ||
lib_linux64 | ||
lib_win | ||
lib_win64 | ||
AMBuilder | ||
CRegEx.cpp | ||
CRegEx.h | ||
extension.cpp | ||
extension.h | ||
pcre.h | ||
posix_map.h | ||
README.md | ||
smsdk_config.h | ||
version.rc |
PCRE Build Instructions
As of writing, we're using pcre v8.44
https://ftp.pcre.org/pub/pcre/
Windows
We build with the MinSizeForRelease VS configuration using the target architecture you want. This is how both win libs are built. The following settings were selected in the CMAKE configuration
In the PCRE project, go to C/C++ configuration properties and select the Runtime Library to be Multi-threaded (/MT
) instead of Multi-threaded DLL (/MD
)
Mac
For x86 or x86_64 add -m32 or -m64 to CFLAGS
export CFLAGS='-mmacosx-version-min=10.7'
./configure --enable-unicode-properties --enable-jit --disable-shared --enable-utf && make
Linux
For x86 or x86_64 add -m32 or -m64 to CFLAGS
export CFLAGS='-Wa,-mrelax-relocations=no -fPIC'
./configure --enable-unicode-properties --enable-jit --disable-shared --enable-utf && make