Define DLL_ONLY for all configurations; fix vm_x86.c guard

Add unconditional ItemDefinitionGroup in quake3.vcxproj to define DLL_ONLY
for all configurations, disabling QVM interpreter/JIT in favour of DLLs.

Fix vm_x86.c: VM_Compile was outside the #ifndef DLL_ONLY guard while
VM_CallCompiled was inside it, causing a duplicate symbol link error.
Extend the guard to cover VM_Compile as well.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Sergei Shubin 2026-03-18 14:00:29 +08:00
parent a1fce2ed93
commit 37f0bc95eb
2 changed files with 7 additions and 0 deletions

View file

@ -396,6 +396,7 @@ qboolean EmitMovEBXEDI(vm_t *vm, int andit) {
VM_Compile
=================
*/
#ifndef DLL_ONLY // bk010215 - for DLL_ONLY dedicated servers/builds w/o VM
void VM_Compile( vm_t *vm, vmHeader_t *header ) {
int op;
int maxLength;
@ -1083,6 +1084,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
#endif
}
#endif // !DLL_ONLY
/*
==============

View file

@ -137,6 +137,11 @@
<IntDir>.\Debug_TA\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>DLL_ONLY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release TA|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>