Before I got into game development, I ran the 30-wave MvM Server for 7chan. Because of the unique mix of requirements, I often needed to run ancient extensions and plugins, often with patches, necessitating my own continuous integration server. After four years of shutdown, I've recently re-opened the server and have had to fix a load of very old plugins.
We use TF2Items without patches, but typically built against the development build of SourceMod and pulled directly from the mercurial repo. We then have another build step that replaces the items manager with one that uses MySQL instead of VDFs. Yesterday, when I ran the build for TF2Items for the first time in many years, it failed.
After speaking in #SourceMod on gamesurge, we determined that the buildscripts are old and include headers from old locations, which have since moved in SourceMod.
How to fix:
- Replace extension/AMBuilder with this. In short, it includes headers from sourcemod/sourcepawn/include instead of sourcemod/public/sourcepawn, and removes the reference to extension/sdk. It also will no longer build smsdk_ext.cpp, since that's now a part of SourceMod itself.
- Move extension/sdk/smsdk_config.hpp to extension/smsdk_config.h. (Hardcoded reference)
- Delete extension/sdk (these files are now part of SourceMod).
I've made some additional patches on my end so it'll build from a git repository and still generate a UniqueID, but it compiles on my Jenkins just fine now.
Hope it helps.
tl;dr: your includes are broken and your config is misnamed for SM 1.8.