diff options
| author | 2026-01-13 19:30:47 +0000 | |
|---|---|---|
| committer | 2026-04-04 01:37:54 +0100 | |
| commit | 2344c8df392d4d8489c5bbee60a6894f908561e5 (patch) | |
| tree | 8362d16db0e6116c7a5414d932cc4cac24d0e9dc | |
| parent | b891ce7ef63c7a75c3f5fd108032aea552536369 (diff) | |
| download | sst-2344c8df392d4d8489c5bbee60a6894f908561e5.tar.gz sst-2344c8df392d4d8489c5bbee60a6894f908561e5.zip | |
Don't bother with LTO in debug builds
There was never really much point in this, and it probably slowed things
down a little bit, though not a lot.
| -rwxr-xr-x | compile | 8 | ||||
| -rw-r--r-- | compile.bat | 8 |
2 files changed, 8 insertions, 8 deletions
@@ -28,8 +28,8 @@ if [ "$dbg" = 1 ]; then cflags="-O0 -g3 -masm=intel -fsanitize-trap=undefined -DSST_DBG" ldflags="-O0 -g3" else - cflags="-O2 -fvisibility=hidden -masm=intel -ffreestanding" - ldflags="-O2 -s -ffreestanding" + cflags="-flto -O2 -fvisibility=hidden -masm=intel -ffreestanding" + ldflags="-flto -O2 -s -ffreestanding" fi objs= @@ -40,12 +40,12 @@ cc() { # ugly annoying special case if [ "$_mn" = " -DMODULE_NAME=con_" ]; then _mn=" -DMODULE_NAME=con" elif [ "$_mn" = "-DMODULE_NAME=sst" ]; then _mn=; fi - $CC -c -flto -fpic -fno-ident $cflags $warnings -include src/1.h \ + $CC -c -fpic -fno-ident $cflags $warnings -include src/1.h \ -I.build/include $stdflags$_mn -o ".build/${_bn%%.c}.o" "src/$1" } ld() { - $CC -shared -flto -fpic -fuse-ld=lld $ldflags -L.build -ldl \ + $CC -shared -fpic -fuse-ld=lld $ldflags -L.build -ldl \ -ltier0 -lvstdlib -o .build/sst.so$objs mv .build/sst.so sst.so } diff --git a/compile.bat b/compile.bat index 10be904..b101ebe 100644 --- a/compile.bat +++ b/compile.bat @@ -29,8 +29,8 @@ if "%dbg%"=="1" ( set cflags=-O0 -g3 -masm=intel -fsanitize-trap=undefined -DSST_DBG
set ldflags=-O0 -g3
) else (
- set cflags=-O2 -masm=intel -ffreestanding
- set ldflags=-O2 -ffreestanding
+ set cflags=-flto -O2 -masm=intel -ffreestanding
+ set ldflags=-flto -O2 -ffreestanding
)
set objs=
@@ -46,7 +46,7 @@ set dmodname= -DMODULE_NAME=%basename% if "%dmodname%"==" -DMODULE_NAME=con_" set dmodname= -DMODULE_NAME=con
if "%dmodname%"==" -DMODULE_NAME=sst" set dmodname=
set objs=%objs% .build/%basename%%ext%.o
-%CC% -c -flto -mno-stack-arg-probe %cflags% %warnings% %stdflags% -include src/1.h ^
+%CC% -c -mno-stack-arg-probe %cflags% %warnings% %stdflags% -include src/1.h ^
-I.build/include -D_DLL%dmodname% -o .build/%basename%%ext%.o %1 || goto :end
goto :eof
@@ -145,7 +145,7 @@ if "%dbg%"=="1" ( ) else (
set clibs=-lucrt
)
-%CC% -fuse-ld=lld -shared -flto %ldflags% -Wl,-implib:.build/sst.lib,-Brepro,-nodefaultlib,-safeseh:no ^
+%CC% -fuse-ld=lld -shared %ldflags% -Wl,-implib:.build/sst.lib,-Brepro,-nodefaultlib,-safeseh:no ^
-L.build %clibs% -lkernel32 -luser32 -lbcryptprimitives -lshlwapi -ld3d9 -ldsound ^
-ltier0 -lvstdlib -lntdll -o .build/sst.dll%objs% .build/dll.res || goto :end
:: get rid of another useless file (can we just not create this???)
|
