aboutsummaryrefslogtreecommitdiffstats
path: root/meson.build
AgeCommit message (Collapse)AuthorFilesLines
2022-01-28Isolate man pages and build HTML versions with mandoc if possibleDavid Robillard1-6/+3
The HTML versions are mainly useful for generating the online documentation as part of a CI pipeline. They are installed anyway, which is redundant for systems with a man page reader, but handy elsewhere.
2022-01-28WIPDavid Robillard1-4/+35
2022-01-28[WIP] Add validationDavid Robillard1-1/+9
2022-01-28Add rerex subprojectDavid Robillard1-0/+1
2022-01-28Consolidate number support into a single "value" APIDavid Robillard1-0/+1
2022-01-28Add custom allocator supportDavid Robillard1-0/+2
2022-01-28Update zix and make it a proper subprojectDavid Robillard1-4/+5
2022-01-28Simplify input stream APIDavid Robillard1-0/+1
More or less the same rationale as the previous commit, but for reading. This makes for nice symmetry with writing, at the cost of a slightly more annoying reader interface since the source doesn't know its block size or name.
2022-01-28Simplify output stream APIDavid Robillard1-1/+2
This makes the paging mechanism an internal detail once again. While it's conceptually elegant to simply have a single write interface and have the block dumper just be another implementation of that, unfortunately it is not practical. The inlining of serd_block_dumper_write() is a significant performance boost, because it avoids a non-inlinable function call of overhead per character. Compared to the SerdByteSink approach, this removes the burden and overhead of needing to dynamically allocate the structure itself.
2022-01-28Provide a full output stream implementation for SerdBufferDavid Robillard1-0/+1
Essentially replaces serd_buffer_sink_finish() with serd_buffer_close(), which makes writing to a buffer consistent with writing to a file or anything else.
2022-01-28Replace serdi with more fine-grained toolsDavid Robillard1-2/+4
Especially with the new functionality, the complexity of the command-line interface alone was really becoming unmanageable. The serdi implementation also had the highest cyclomatic complexity of the entire codebase by a huge margin. So, take a page from the Unix philosophy and split serdi into several more finely-honed tools that can be freely composed. Though there is still unfortunately quite a bit of option overlap between them due to the common details of reading RDF, I think the resulting tools are a lot easier to understand, both from a user and a developer perspective.
2022-01-28Move serdi to tools subdirectoryDavid Robillard1-15/+4
This separates the command-line tool code from the library implementation.
2022-01-28Factor out Windows UTF-8 console setup codeDavid Robillard1-1/+2
2022-01-28Add version constants to public headerDavid Robillard1-2/+9
2022-01-14Add statement filteringDavid Robillard1-0/+1
2022-01-14Add support for converting literals to canonical formDavid Robillard1-0/+1
2022-01-14Add modelDavid Robillard1-0/+7
2022-01-14Add serd_node_from_syntax() and serd_node_to_syntax()David Robillard1-0/+1
2022-01-14Factor out NQuads readerDavid Robillard1-0/+1
2022-01-14Factor out NTriples readerDavid Robillard1-0/+1
2022-01-14Factor out UTF-8 reading utilitiesDavid Robillard1-0/+1
2022-01-14Add extensible logging APIDavid Robillard1-0/+2
2022-01-13Add serd_canonical_path()David Robillard1-1/+4
2022-01-13Use a manual type-safe stack in writerDavid Robillard1-2/+0
This fixes alignment issues on ARM. Since this stack is just for WriteContext which has a fixed size, using SerdStack here just made things more confusing anyway.
2022-01-13Expose SerdByteSink in public APIDavid Robillard1-0/+1
2022-01-13Simplify writer style optionsDavid Robillard1-2/+0
2022-01-13Add SerdNodes for storing a cache of interned nodesDavid Robillard1-1/+4
2022-01-13Add zix data structuresDavid Robillard1-3/+4
2022-01-13Add SerdStatementDavid Robillard1-0/+2
2022-01-13Add SerdCaretDavid Robillard1-0/+1
2022-01-13Add SerdWorld for shared library stateDavid Robillard1-0/+1
2022-01-13Clean up base64 node construction and access APIDavid Robillard1-1/+0
2022-01-13Use exess for reading and writing numeric and binary literalsDavid Robillard1-6/+10
2022-01-13Move syntax name/extension utilities to public APIDavid Robillard1-0/+1
2022-01-13Add SerdSink interface and hide implementationsDavid Robillard1-0/+1
2022-01-13Add SerdBuffer type for mutable buffersDavid Robillard1-1/+1
This avoids const violations from abusing SerdChunk as a mutable buffer for string sinks.
2022-01-13Define _POSIX_C_SOURCE globally in the build systemDavid Robillard1-2/+8
Using inconsistent defines like this that affect the standard library implementation can cause issues. So, doing this consistently for the whole library is a better approach, although it unfortunately makes the code more difficult to compile manually.
2022-01-13Switch to MesonDavid Robillard1-0/+200