|
From: kosmirror <kos...@us...> - 2025-08-24 08:09:36
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "A pseudo Operating System for the Dreamcast.".
The branch, master has been updated
via 97c2028a7d03886cbcebeda31ec91102567e5c77 (commit)
via 0beaf98146a90f5a7fc48a6fe96b8d898f541cf9 (commit)
via 03e5f0c9473fcb95d9ad7bf0fcf12add92ce6a06 (commit)
from c104291218971b1393760f6605e25422d51f76cd (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 97c2028a7d03886cbcebeda31ec91102567e5c77
Author: Paul Cercueil <pa...@cr...>
Date: Tue Aug 19 15:28:10 2025 +0200
kos-cc: Update list of autotools specific filenames
Autotools (latest versions maybe?) seem to use the filename
'conftest__.c' instead of 'conftest.c' for its test builds.
Signed-off-by: Paul Cercueil <pa...@cr...>
commit 0beaf98146a90f5a7fc48a6fe96b8d898f541cf9
Author: Paul Cercueil <pa...@cr...>
Date: Tue Aug 19 15:08:15 2025 +0200
cmake: Speed up CMake configuration, disable LTO for Debug builds
Disable LTO for Debug builds as it does not really make sense to use it
there. Then, we can specify that all the configuration tests done by
CMake will use the Debug profile, which will cause them to be built
without LTO, speeding up the process.
Signed-off-by: Paul Cercueil <pa...@cr...>
commit 03e5f0c9473fcb95d9ad7bf0fcf12add92ce6a06
Author: Paul Cercueil <pa...@cr...>
Date: Tue Aug 19 15:06:13 2025 +0200
kos-cc: Speed up autotools configuration
Build autotools-specific tests (detected by their filename) with LTO
explicitly disabled to speed up the process.
Signed-off-by: Paul Cercueil <pa...@cr...>
-----------------------------------------------------------------------
Summary of changes:
utils/build_wrappers/kos-cc | 14 +++++++++++---
utils/cmake/kallistios.toolchain.cmake | 5 +++++
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/utils/build_wrappers/kos-cc b/utils/build_wrappers/kos-cc
index 3bb3c289..7365aa09 100755
--- a/utils/build_wrappers/kos-cc
+++ b/utils/build_wrappers/kos-cc
@@ -6,7 +6,7 @@ USEMODE=0
for i in $ARGS; do
case "${i}" in
-o)
- if [ $USEMODE != 2 ]; then
+ if [ $USEMODE != 2 -a $USEMODE != 3 ]; then
# Link
USEMODE=1
fi
@@ -15,10 +15,10 @@ for i in $ARGS; do
# Partial compile
USEMODE=2
;;
- conftest.c | conftest.cc | conftest.cpp)
+ conftest.c | conftest.cc | conftest.cpp | conftest__.c | conftest__.cc | conftest__.cpp)
# Used in autoconf... we really probably need
# a better way to do this. (scan for any .c?)
- USEMODE=1
+ USEMODE=3
;;
*)
;;
@@ -42,6 +42,14 @@ case $USEMODE in
exec ${KOS_CC} ${KOS_CFLAGS} ${KOS_LDFLAGS} "$@" ${KOS_LIBS}
;;
+ 3)
+ # Link mode for autoconf: pass -fno-lto to speed up process
+ if [ x${KOS_WRAPPERS_VERBOSE} = x"1" ]; then
+ echo ${KOS_CC} ${KOS_CFLAGS} ${KOS_LDFLAGS} -fno-lto "$@" ${KOS_LIBS}
+ fi
+ exec ${KOS_CC} ${KOS_CFLAGS} ${KOS_LDFLAGS} -fno-lto "$@" ${KOS_LIBS}
+ ;;
+
2)
# In non-link mode, just go ahead and run CC.
if [ x${KOS_WRAPPERS_VERBOSE} = x"1" ]; then
diff --git a/utils/cmake/kallistios.toolchain.cmake b/utils/cmake/kallistios.toolchain.cmake
index 35c976e0..fac0d677 100644
--- a/utils/cmake/kallistios.toolchain.cmake
+++ b/utils/cmake/kallistios.toolchain.cmake
@@ -78,6 +78,11 @@ add_compile_options(
set(CMAKE_ASM_FLAGS "")
set(CMAKE_ASM_FLAGS_RELEASE "")
+# Disable LTO for Debug build
+set(CMAKE_TRY_COMPILE_CONFIGURATION DEBUG)
+set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_DEBUG OFF)
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG -fno-lto)
+
# Default CMake installations to install to kos-addons
set(CMAKE_INSTALL_BINDIR ${DC_TOOLS_BASE})
if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
hooks/post-receive
--
A pseudo Operating System for the Dreamcast.
|