Synchronous client over libcurl + vendored cJSON. Single public
header (include/clawdforge.h) with an opaque cf_client_t and the
full surface: /healthz, /run, /files, /admin/tokens.
- C11, no GNU extensions; -Wall -Wextra -Wpedantic clean
- Hidden visibility on the shared lib + CF_API export attribute
- Static + shared lib via CMake; relocatable pkg-config (${pcfiledir})
- Errors via out-param cf_error_t; every output struct has a _free()
- Multipart upload streams from disk via curl_mime_filedata
- 15 in-process socket-loop tests; valgrind + ASan clean
15 lines
580 B
PkgConfig
15 lines
580 B
PkgConfig
# Resolved at pkg-config invocation time. ${pcfiledir} is a pkgconf
|
|
# extension supported by both pkgconf and pkg-config — it gives the
|
|
# absolute directory that contains this .pc file. Using it lets the
|
|
# installed package work from any --prefix without re-running cmake.
|
|
prefix=${pcfiledir}/../..
|
|
exec_prefix=${prefix}
|
|
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
|
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
|
|
|
Name: clawdforge
|
|
Description: C SDK for the clawdforge HTTP service
|
|
Version: @PROJECT_VERSION@
|
|
Requires: libcurl
|
|
Libs: -L${libdir} -lclawdforge
|
|
Cflags: -I${includedir}
|