From a1e2191ad508a87bd1fdfc065b8ba14a1bcc1b49 Mon Sep 17 00:00:00 2001 From: David Given Date: Wed, 27 Aug 2025 03:06:31 +0200 Subject: [PATCH] mingw is less aggressive about dead code removal that other gccs are, so we need to add dependencies in places where they're really not used. --- Makefile | 6 +++-- scripts/protoencode.cc | 61 ++++++++++++++++++++++++++++++++++++++++++ tests/build.py | 5 +++- 3 files changed, 69 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index a4aaa672..d1afd277 100644 --- a/Makefile +++ b/Makefile @@ -13,12 +13,14 @@ ifeq ($(BUILDTYPE),windows) CC = $(MINGW)gcc CXX = $(MINGW)g++ -std=c++20 CFLAGS += -g -O3 \ - -Wno-unknown-warning-option + -Wno-unknown-warning-option \ + -ffunction-sections \ + -fdata-sections CXXFLAGS += \ -fext-numeric-literals \ -Wno-deprecated-enum-float-conversion \ -Wno-deprecated-enum-enum-conversion - LDFLAGS += -static + LDFLAGS += -static -Wl,--gc-sections AR = $(MINGW)ar PKG_CONFIG = $(MINGW)pkg-config -static WINDRES = $(MINGW)windres diff --git a/scripts/protoencode.cc b/scripts/protoencode.cc index d660ca5c..83353294 100644 --- a/scripts/protoencode.cc +++ b/scripts/protoencode.cc @@ -4,11 +4,72 @@ #include #include "fmt/format.h" #include "lib/core/globals.h" +#include "lib/core/logger.h" #include "tests/testproto.pb.h" #include "lib/config/config.pb.h" #include #include +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + +void renderLogMessage( + LogRenderer& r, std::shared_ptr m) +{ +} + const std::string protoname = STRINGIFY(PROTO); static uint32_t readu8(std::string::iterator& it, std::string::iterator end) diff --git a/tests/build.py b/tests/build.py index f062658c..e6cac0f7 100644 --- a/tests/build.py +++ b/tests/build.py @@ -64,11 +64,14 @@ export( "+protobuf_lib", "+protocol", ".+test_proto_lib", + "dep/alphanum", "dep/snowhouse", + "lib/algorithms", "lib/config", "lib/core", + "lib/data", "lib/fluxsource+proto_lib", - "dep/alphanum", + "src/formats", ], ), )