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 VM_Compile
================= =================
*/ */
#ifndef DLL_ONLY // bk010215 - for DLL_ONLY dedicated servers/builds w/o VM
void VM_Compile( vm_t *vm, vmHeader_t *header ) { void VM_Compile( vm_t *vm, vmHeader_t *header ) {
int op; int op;
int maxLength; int maxLength;
@ -1083,6 +1084,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
#endif #endif
} }
#endif // !DLL_ONLY
/* /*
============== ==============

View file

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