Takayuki Matsuoka
Takayuki Matsuoka
> A remaining issue is that, someone opening xxhash-xxh32-impl.h would end up with a file which is not "meaningful" by itself, confusing IDE code analyzers. As for separated headers, your...
I added special notation for dependency: `/* --amalgum--:include:FILENAME */`. This comment must be placed within `begin ... end` block. ```C /* --amalgum--:begin:xxhash-xxh32-impl.h */ /* --amalgum--:include:xxhash-inline-mode.h */ /* --amalgum--:include:xxhash-decl.h */ /*...
Added `--amalgam--:guard:SYMBOL`. ```C /* --amalgam--:begin:xxhash-decl.h */ /* --amalgam--:guard:XXHASH_DECL_H */ ``` becomes ```C #ifndef XXHASH_DECL_H /* --amalgam--:guard-line */ #define XXHASH_DECL_H 1 /* --amalgam--:ignore-line */ ... #endif /* XXHASH_DECL_H */ /* --amalgam--:ignore-line...
I've written simple sample of `-nostdlib` program for Linux. https://gist.github.com/t-mat/aa78ff79f31ee79c4a709d4def3ee1d7 I think our next steps are (1) Think about other platforms. Do we need similar `-nostdlib` program for macos/win32/BSDs/etc? How...
I think we can simply skip this `LZ4_FREESTANDING` for new release. Because we don't see any urgent demand for it. I believe all project maintainers who may like this feature...
I wrote new -nostdlib harness for Linux platforms. https://gist.github.com/t-mat/dbdc4f71ae52f4eca83fd67f683e7452 Now it #includes the following file and can be compiled with `-nostdlib`. - lz4.c - lz4hc.c - lz4frame.c - xxhash.c Compilation:...
I think next steps are - Write minimum -nostdlib harness for each library (lz4, lz4hc, lz4frame) - lz4-freestanding, lz4hc-freestanding, lz4frame-freestanding - It must #define proper "freestanding-ish" options. E.g. `LZ4_USER_MEMORY_FUNCTIONS` -...
I'm experimenting in pseudo freestanding environment. And I think we need the following additional functionality to support them nicely. ## Allow library user to define their own `LZ4_mem*()` macros The...
With #1123 and #1124, we will be able to write freestanding code like this: ```C #define LZ4_HEAPMODE 0 #define LZ4HC_HEAPMODE 0 #define LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION 1 /* #1124 */ #define LZ4_memcpy MY_ENV_memcpy...
Now, I think we can easily implement `LZ4_FREESTANDING` in `lz4.h`. ```C /* lz4.h */ #if defined(LZ4_FREESTANDING) && (LZ4_FREESTANDING) # define LZ4_HEAPMODE 0 # define LZ4HC_HEAPMODE 0 # define LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION 1...