summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Michael Smith <mikesmiffy128@gmail.com> 2026-01-13 19:30:47 +0000
committerGravatar Michael Smith <mikesmiffy128@gmail.com> 2026-04-04 01:37:54 +0100
commit2344c8df392d4d8489c5bbee60a6894f908561e5 (patch)
tree8362d16db0e6116c7a5414d932cc4cac24d0e9dc
parentb891ce7ef63c7a75c3f5fd108032aea552536369 (diff)
downloadsst-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-xcompile8
-rw-r--r--compile.bat8
2 files changed, 8 insertions, 8 deletions
diff --git a/compile b/compile
index 3ede107..0860bdf 100755
--- a/compile
+++ b/compile
@@ -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???)