Implement the libpdftract native FFI library as a cdylib + staticlib with cbindgen-generated headers and full extern "C" API. Components: - crates/pdftract-libpdftract/ with cdylib + staticlib targets - All 9 contract methods + utility functions as extern "C" - cbindgen config and generated pdftract.h header - pkg-config template (pdftract.pc.in) - Homebrew formula template (distribution/homebrew/) - vcpkg port template (distribution/vcpkg/) - C conformance test (tests/conformance.c) API features: - Owned JSON strings returned via CString::into_raw() - Caller frees with pdftract_free() (not libc free()) - Thread-local error storage (pdftract_last_error) - Thread-safe and reentrant (no global mutable state) - ABI version function for compatibility checking Verification: - cargo build produces libpdftract.so and libpdftract.a - Conformance test compiles and runs successfully - Thread safety verified with 4 concurrent threads References: - Plan line 3477: SDK Architecture / The Ten SDKs - Bead: pdftract-1eaxm Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
11 lines
275 B
PkgConfig
11 lines
275 B
PkgConfig
prefix=@PREFIX@
|
|
exec_prefix=${prefix}
|
|
libdir=${exec_prefix}/lib
|
|
includedir=${prefix}/include
|
|
|
|
Name: pdftract
|
|
Description: PDF text extraction library with C FFI
|
|
Version: @VERSION@
|
|
URL: https://github.com/jedarden/pdftract
|
|
Libs: -L${libdir} -lpdftract
|
|
Cflags: -I${includedir}
|