mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
build Lua from vendored source instead of the prebuilt lua51.lib
The tree carried two prebuilt Lua static libraries and a copy of the Lua public headers. lua51.lib is 5.1.2 and matched the headers; lua51.vc9.lib is 5.1.4 and was dead weight — it came second in Ja2_Libraries, so the linker resolved every Lua symbol out of lua51.lib and never pulled an object from it. Just as well, since it asks for /DEFAULTLIB:MSVCRT while we build /MT. ext/lua-5.1.5 is the upstream tarball unmodified, built as lua51 the way the other vendored libraries are, and its src directory replaces lua/ as the home of lua.h, luaconf.h, lauxlib.h and lualib.h. Those four headers were stock 5.1.2 retabbed, so 5.1.5 is bugfix-only against what the game compiled against; the bytecode format is unchanged across 5.1.x and every script under gamedir is plain source anyway. lua/lua.hpp had no includers and returns to etc/ where upstream keeps it. /SAFESEH:NO goes with it. Its two stated reasons were lua51.lib and the smackw32 import library, and both are now gone: every remaining prebuilt static library is SAFESEH-clean (libexpatMT.lib 5 of 5 members with @feat.00 = 0x1, RakNetLibStatic.lib 79 of 79), and lld-link emits a 3155-entry SEHandlerTable without it. The /MT comment blamed the wrong library. lua51.lib carried no linker directives at all; RakNetLibStatic.lib is what pins us to the static runtime, with /DEFAULTLIB:LIBCMT and /DEFAULTLIB:libcpmt. Verified by building all four applications in Debug and Release, and by linking the tarball's own lua.c against our lua51.lib with the build's clang-cl flags and running it under Wine: 5.1 stdlib, GC, coroutines and the x86 __asm fld/fistp lua_number2int fast path all behave. The game itself could not be launched here — this checkout's gamedir has loose Data directories but no SLF archives, so VFS aborts on Data\Ambient.slf long before any script runs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
committed by
majcosta
co-authored by
Claude Opus 5
parent
7f7cf34e26
commit
76eda883a5
@@ -0,0 +1,83 @@
|
||||
body {
|
||||
color: #000000 ;
|
||||
background-color: #FFFFFF ;
|
||||
font-family: Helvetica, Arial, sans-serif ;
|
||||
text-align: justify ;
|
||||
margin-right: 30px ;
|
||||
margin-left: 30px ;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4 {
|
||||
font-family: Verdana, Geneva, sans-serif ;
|
||||
font-weight: normal ;
|
||||
font-style: italic ;
|
||||
}
|
||||
|
||||
h2 {
|
||||
padding-top: 0.4em ;
|
||||
padding-bottom: 0.4em ;
|
||||
padding-left: 30px ;
|
||||
padding-right: 30px ;
|
||||
margin-left: -30px ;
|
||||
background-color: #E0E0FF ;
|
||||
}
|
||||
|
||||
h3 {
|
||||
padding-left: 0.5em ;
|
||||
border-left: solid #E0E0FF 1em ;
|
||||
}
|
||||
|
||||
table h3 {
|
||||
padding-left: 0px ;
|
||||
border-left: none ;
|
||||
}
|
||||
|
||||
a:link {
|
||||
color: #000080 ;
|
||||
background-color: inherit ;
|
||||
text-decoration: none ;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
background-color: inherit ;
|
||||
text-decoration: none ;
|
||||
}
|
||||
|
||||
a:link:hover, a:visited:hover {
|
||||
color: #000080 ;
|
||||
background-color: #E0E0FF ;
|
||||
}
|
||||
|
||||
a:link:active, a:visited:active {
|
||||
color: #FF0000 ;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 0 ;
|
||||
height: 1px ;
|
||||
color: #a0a0a0 ;
|
||||
background-color: #a0a0a0 ;
|
||||
}
|
||||
|
||||
:target {
|
||||
background-color: #F8F8F8 ;
|
||||
padding: 8px ;
|
||||
border: solid #a0a0a0 2px ;
|
||||
}
|
||||
|
||||
.footer {
|
||||
color: gray ;
|
||||
font-size: small ;
|
||||
}
|
||||
|
||||
input[type=text] {
|
||||
border: solid #a0a0a0 2px ;
|
||||
border-radius: 2em ;
|
||||
-moz-border-radius: 2em ;
|
||||
background-image: url('images/search.png') ;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 4px center ;
|
||||
padding-left: 20px ;
|
||||
height: 2em ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user