Skip to content

Commit a1e2191

Browse files
committed
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.
1 parent e61fcf1 commit a1e2191

File tree

3 files changed

+69
-3
lines changed

3 files changed

+69
-3
lines changed

Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,14 @@ ifeq ($(BUILDTYPE),windows)
1313
CC = $(MINGW)gcc
1414
CXX = $(MINGW)g++ -std=c++20
1515
CFLAGS += -g -O3 \
16-
-Wno-unknown-warning-option
16+
-Wno-unknown-warning-option \
17+
-ffunction-sections \
18+
-fdata-sections
1719
CXXFLAGS += \
1820
-fext-numeric-literals \
1921
-Wno-deprecated-enum-float-conversion \
2022
-Wno-deprecated-enum-enum-conversion
21-
LDFLAGS += -static
23+
LDFLAGS += -static -Wl,--gc-sections
2224
AR = $(MINGW)ar
2325
PKG_CONFIG = $(MINGW)pkg-config -static
2426
WINDRES = $(MINGW)windres

scripts/protoencode.cc

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,72 @@
44
#include <fstream>
55
#include "fmt/format.h"
66
#include "lib/core/globals.h"
7+
#include "lib/core/logger.h"
78
#include "tests/testproto.pb.h"
89
#include "lib/config/config.pb.h"
910
#include <sstream>
1011
#include <locale>
1112

13+
void renderLogMessage(
14+
LogRenderer& r, std::shared_ptr<const BeginSpeedOperationLogMessage> m)
15+
{
16+
}
17+
18+
void renderLogMessage(
19+
LogRenderer& r, std::shared_ptr<const EndSpeedOperationLogMessage> m)
20+
{
21+
}
22+
23+
void renderLogMessage(
24+
LogRenderer& r, std::shared_ptr<const BeginWriteOperationLogMessage> m)
25+
{
26+
}
27+
28+
void renderLogMessage(
29+
LogRenderer& r, std::shared_ptr<const EndWriteOperationLogMessage> m)
30+
{
31+
}
32+
33+
void renderLogMessage(
34+
LogRenderer& r, std::shared_ptr<const BeginReadOperationLogMessage> m)
35+
{
36+
}
37+
38+
void renderLogMessage(
39+
LogRenderer& r, std::shared_ptr<const EndReadOperationLogMessage> m)
40+
{
41+
}
42+
43+
void renderLogMessage(
44+
LogRenderer& r, std::shared_ptr<const TrackReadLogMessage> m)
45+
{
46+
}
47+
48+
void renderLogMessage(
49+
LogRenderer& r, std::shared_ptr<const DiskReadLogMessage> m)
50+
{
51+
}
52+
53+
void renderLogMessage(
54+
LogRenderer& r, std::shared_ptr<const BeginOperationLogMessage> m)
55+
{
56+
}
57+
58+
void renderLogMessage(
59+
LogRenderer& r, std::shared_ptr<const EndOperationLogMessage> m)
60+
{
61+
}
62+
63+
void renderLogMessage(
64+
LogRenderer& r, std::shared_ptr<const OperationProgressLogMessage> m)
65+
{
66+
}
67+
68+
void renderLogMessage(
69+
LogRenderer& r, std::shared_ptr<const OptionLogMessage> m)
70+
{
71+
}
72+
1273
const std::string protoname = STRINGIFY(PROTO);
1374

1475
static uint32_t readu8(std::string::iterator& it, std::string::iterator end)

tests/build.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,14 @@
6464
"+protobuf_lib",
6565
"+protocol",
6666
".+test_proto_lib",
67+
"dep/alphanum",
6768
"dep/snowhouse",
69+
"lib/algorithms",
6870
"lib/config",
6971
"lib/core",
72+
"lib/data",
7073
"lib/fluxsource+proto_lib",
71-
"dep/alphanum",
74+
"src/formats",
7275
],
7376
),
7477
)

0 commit comments

Comments
 (0)