diff options
| author | Berke Güzel <wenekar1@gmail.com> | 2026-10-15 13:03:44 +0300 |
|---|---|---|
| committer | Berke Güzel <wenekar1@gmail.com> | 2026-10-15 13:03:44 +0300 |
| commit | ba75c8b0a1bba03ad92c53375432f122ddb4cb98 (patch) | |
| tree | af8b0b165b865712cfde0f9b485a3cb984f5ac69 /README.md | |
| parent | bd8222e615134c3ec5e7a07b6b1fa97c9bd4a471 (diff) | |
Use the top-level threads dependency in the tests
The library now declares dependency('threads') at the top level and
term_dep carries it, so the tests no longer declare their own. The
README says a Meson host gets threads through the dependency, and
names dependency('threads') for the amalgamation.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -2,7 +2,7 @@ term is a headless terminal core: the parser, screen ring, logical-line history store, write core, and viewport snapshots. It is a C11 library -with no dependency but libm and, on POSIX, the thread library (`-pthread`). +with no dependency but libm and threads. | Path | Contents | | --- | --- | @@ -19,15 +19,17 @@ with no dependency but libm and, on POSIX, the thread library (`-pthread`). Pick one of these: - **Meson subproject**: `dependency('term')`, or - `subproject('term').get_variable('term_dep')`. The `arch_flag` option - sets the lowest instruction set, such as `-march=x86-64-v3`. + `subproject('term').get_variable('term_dep')`. It brings libm and + `dependency('threads')` with it. The `arch_flag` option sets the lowest + instruction set, such as `-march=x86-64-v3`. - **Amalgamation**: run `tools/amalgamate.py . OUT`. It writes `OUT/term.c` and `OUT/term.h`. Compile `term.c` with any C11 compiler - and link libm and the thread library: `cc -std=c11 -pthread -c term.c` - on POSIX. A Rust `build.rs` needs one + and link libm and threads: `dependency('threads')` in Meson, `-pthread` + elsewhere on POSIX. A Rust `build.rs` needs one `cc::Build::new().file("term.c").compile("term")`. - **Sources**: compile `src/*.c` and `src/osc/*.c` once, with `src` and - `include/term` on the include path. Link the thread library too. + `include/term` on the include path. Link libm and threads, as for the + amalgamation. The library needs nothing else. On Windows the writer lock is an SRWLOCK from the system library, so it needs no extra link. The `*-amalgamation` |
