535 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
997118da6e build: one standard to rule them all 2025-07-28 22:46:46 +02:00
Marcus Holland-Moritz
2dec20b01f build: completely refactor static build to support cross-compilation 2025-07-28 22:44:45 +02:00
Marcus Holland-Moritz
c3532ab2eb build: only UPX a binary when using a supported architecture 2025-07-28 22:44:45 +02:00
Marcus Holland-Moritz
cdf69a7449 test: support running cross-compiled tools test 2025-07-28 22:44:45 +02:00
Marcus Holland-Moritz
c0725c40fb build: support RISCV64 build (fixes gh #266) 2025-07-18 17:55:19 +02:00
Marcus Holland-Moritz
ddcf7d3697 build: make UPX executable optional (not available e.g. on RISC-V) 2025-07-18 17:55:19 +02:00
Marcus Holland-Moritz
532e86934e build: try adding /bigobj for test targets 2025-07-18 17:55:19 +02:00
Marcus Holland-Moritz
7508b1db38 feat: use new minimal LRU cache implementation 2025-05-09 11:48:52 +02:00
Marcus Holland-Moritz
195c7e1461 build: only build all benchmarks if explicitly requested 2025-04-21 17:53:56 +02:00
Marcus Holland-Moritz
02b12418cc build: group unit tests for better build times with LTO 2025-04-21 17:53:56 +02:00
Marcus Holland-Moritz
8436e7151f build: support multiple STATIC_BUILD_EXTRA_PREFIX directories 2025-04-21 17:53:56 +02:00
Marcus Holland-Moritz
24f87bbeaa chore: drop DWARFSEXTRACT_MINIMAL completely
Extracting by pattern is a mandatory feature for the `fuse-extract` use
case, so no point in being able to disable this.
2025-04-21 17:53:56 +02:00
Marcus Holland-Moritz
9cdfaffee6 build: update preferred versions of fmt, phmap, gtest 2025-04-14 00:19:48 +02:00
Marcus Holland-Moritz
e6ae08475a feat: allow disabling advanced features in dwarfs-fuse-extract 2025-04-13 22:14:57 +02:00
Marcus Holland-Moritz
3f82610e75 build: simplify static linking 2025-04-13 16:29:52 +02:00
Marcus Holland-Moritz
876dda3db5 build: apparently we don't have a direct dependency on gflags 2025-04-11 22:41:11 +02:00
Marcus Holland-Moritz
7de8cf9344 feat: use an optimized memcpy if possible 2025-04-10 18:45:15 +02:00
Marcus Holland-Moritz
084176d5fd feat: try supporting mimalloc 2025-04-09 06:57:13 +02:00
Marcus Holland-Moritz
0cfeea7dd3 build: add tidy-fix target 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
4a71c7a4a5 build: allow disabling of brotli, lz4, lzma 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
0b51ac2bb4 build: tag build artifacts correctly 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
2f053d89a7 build: add dwarfs-fuse-extract semi-universal binary 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
c8a426ff38 build: use upx -9 --best 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
9eb5ca94b1 refactor: migrate the only folly::Benchmark test to google-benchmark 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
cd8c9f60ca build: try using multithreaded CPack 2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
2501cf7783 chore(nilsimsa): add tests and benchmark 2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
cb883f6df4 build: add size-optimized release build 2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
b082fcb4d9 build: clean up dependencies 2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
91c810cee9 build: add support for artifact suffix 2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
5db0d1dd8e build: don't install benchmark artifact if benchmark library is missing 2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
bbda0ffbae build: add check-format and tidy targets 2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
9a9d5365b6 fix(build): make sure to use GNUInstallDirs everywhere (fixes gh #253) 2025-03-19 22:25:15 +01:00
Marcus Holland-Moritz
8bdf6e8a83 build: see if jemalloc works on macOS now 2025-03-17 10:03:18 +01:00
Marcus Holland-Moritz
e1c041aebc build: fix typo in fast_float option 2025-03-17 10:02:58 +01:00
Marcus Holland-Moritz
6b17f3d31f refactor: only link jemalloc against executables, not libraries
Linking `jemalloc` against executables is enough to replace *all* malloc
functionality with `jemalloc`. Linking it against a library will cause
issues for example with Python bindings. The downside is that Python
won't be using `jemalloc` by default, but likely malloc won't be the
bottleneck when using Python.
2025-03-17 09:42:52 +01:00
Marcus Holland-Moritz
689a43b19f feat: add sorted_array_map 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
ed4534c514 build: try to ensure we're building against the right headers 2025-03-15 08:19:07 +01:00
Marcus Holland-Moritz
45ac27bce5 build: fix target_include_directories for gtest/gmock 2025-03-15 08:19:07 +01:00
Marcus Holland-Moritz
9130d2a5de build: separate tests with internal header dependencies 2025-03-15 08:19:07 +01:00
Marcus Holland-Moritz
5a71451d9d build: add more library configuration details to cmake config 2025-03-15 08:19:07 +01:00
Marcus Holland-Moritz
4802438b14 build: move tool lib to tools
This enables us to completely skip the `include` folder when building
with `-DWITH_LIBDWARFS=OFF`. Otherwise, we're using includes that will
potentially not match the includes of the installed library.
2025-03-15 08:19:07 +01:00
Marcus Holland-Moritz
84e2a0e599 chore: provide single-header fast_float.h for folly/Conv.cpp 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
732ad42a16 build: no -Werror for the time being 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
e13d9cb6eb chore: add binary for fuzzing the reader library 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
6424c6ff85 build: ensure fuzzing binaries can be built without warnings 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
48f423504c build: enable -Wnrvo warnings when available 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
afa370c7fa build: add -Wpessimizing-move 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
9df98e69f0 build: -Wuseless-cast is a C++ warnings 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
56dedbd05e build: update preferred version of parallel hashmap 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
b349e584e0 feat: support case-insensitive lookups (fixes gh #232) 2025-03-14 15:07:49 +01:00