123 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
bb85177925 build: allow full cross-compile build with codegen 2025-07-28 22:44:45 +02:00
Marcus Holland-Moritz
6300d33598 chore: simplify DWARFS_BUILD_ID / DWARFS_SYSTEM_ID 2025-07-28 22:44:45 +02:00
Marcus Holland-Moritz
d30fdadf45 chore: update folly/fbthrift 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
b919012ac6 refactor(block_cache): factor out periodic_executor 2025-05-09 11:48:52 +02:00
Marcus Holland-Moritz
2824ba950b build: cpptrace dependency should be public 2025-05-09 11:48:52 +02:00
Marcus Holland-Moritz
be348451c7 refactor: make block_cache_byte_buffer_factory internal 2025-04-15 18:40:36 +02:00
Marcus Holland-Moritz
7b78074ce7 fix: *really* disable the performance monitor if requested 2025-04-13 22:27:19 +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
7de8cf9344 feat: use an optimized memcpy if possible 2025-04-10 18:45:15 +02:00
Marcus Holland-Moritz
9996748134 feat: replace vector_byte_buffer with malloc_byte_buffer
The latter doesn't always explicitly initialize the allocated memory,
which can help improve performance.
2025-04-09 21:42:32 +02:00
Marcus Holland-Moritz
f6cf57b4be fix: attempt to fix linker issue in Homebrew build
https://github.com/Homebrew/homebrew-core/pull/218867
2025-04-09 21:42:32 +02:00
Marcus Holland-Moritz
89c895f6bf feat(mkdwarfs): add --memory-limit=auto 2025-04-09 10:55:02 +02:00
Marcus Holland-Moritz
084176d5fd feat: try supporting mimalloc 2025-04-09 06:57:13 +02:00
Marcus Holland-Moritz
8f38975908 refactor: factor out get_inode_rank / mode_rank 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
8085247f91 refactor: factor out fs_section_checker 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
09068bfada feat: add hotness categorizer 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
4e0ea2c165 refactor: separate compression / decompression 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
0f93ba1a75 chore: update folly/fbthrift 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
47a263d18e feat: add block_cache_byte_buffer_factory 2025-04-07 21:32:22 +02:00
Marcus Holland-Moritz
a8b5573840 feat(block_cache): use byte_buffer_factory for block allocation 2025-04-07 21:31:47 +02:00
Marcus Holland-Moritz
39950e085e refactor: new start_compression API for more flexible buffer handling 2025-04-07 21:31:47 +02:00
Marcus Holland-Moritz
c1ab72a221 refactor: introduce byte_buffer abstractions for block decompression 2025-04-07 16:54:04 +02:00
Marcus Holland-Moritz
699b37268e refactor: factor out varint code 2025-04-07 16:54:04 +02:00
Marcus Holland-Moritz
b082fcb4d9 build: clean up dependencies 2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
cac5b778e8 refactor: replace multiversioning 2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
4b9974c76f fix(dwarfs_main): Boost.Process v2 lacks close_range() on alpine 2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
342d82d7e1 build: detect musl build 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
b4665bb686 build: also don't build folly with jemalloc 2025-03-17 09:46:38 +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
129f4566a3 chore(render_manpage): disable readability checks 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
fdcc93501b chore: add more clang-tidy exceptions 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
5b8e7acbc9 chore: add a few more clang-tidy exceptions 2025-03-17 07:15:55 +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
b349e584e0 feat: support case-insensitive lookups (fixes gh #232) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
5d19513829 feat: add glob matcher class and glob-to-regex transformer 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
26e7abbe30 build: disable certain warnings for folly with MSVC 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
e0f2ddea85 build: simplify folly benchmark build 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
2d86ae4fc1 build: all FetchContent packages should be SYSTEM 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
fa644b4869 refactor: use cpptrace 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
ff17a20e57 build: try removing more folly libs 2024-11-20 12:08:06 +01:00
Marcus Holland-Moritz
ca69d2b141 fix: install libraries to CMAKE_INSTALL_LIBDIR (fixes gh #240) 2024-11-20 07:32:53 +01:00
Marcus Holland-Moritz
6c8a1cdbd3 fix: workaround for new boost versions which have a process component 2024-08-25 16:37:16 +02:00
Marcus Holland-Moritz
72581b957e build: disable unused folly features 2024-08-17 15:09:54 +02:00
Marcus Holland-Moritz
5fbb2ad99d fix(utils_test): u8string triggers linker error with non-C++20 gtest
This is a long standing issue and it's not going to go away, as package
manager prefer that stuff isn't fetched at build time. So we just check
if certain gtest features work with the system-installed version and
work around missing features downstream. Out of the box, with the custom
built ctest, we'll still get all the good stuff. If the system-installed
version is preferred, we probably have some degradation in test output.
2024-08-16 09:58:35 +02:00