1
3
Fork
You've already forked ermine
0
Stoat API C library
  • C 96.6%
  • Roff 2.6%
  • Makefile 0.8%
2026年02月15日 00:58:20 +00:00
examples noop.c: add example 2026年02月15日 00:58:20 +00:00
.gitignore .gitignore: add .env 2026年02月15日 00:57:37 +00:00
cjson.c cjson.c cjson.h: new 2026年02月14日 09:06:19 +00:00
cjson.h cjson.c cjson.h: new 2026年02月14日 09:06:19 +00:00
ermine.c ermine.c: add dbg() prints 2026年02月15日 00:56:34 +00:00
ermine.h ermine.h libermine.3: callback definitions 2026年02月14日 23:29:52 +00:00
libermine.3 ermine.h libermine.3: callback definitions 2026年02月14日 23:29:52 +00:00
LICENSE LICENSE: clarify cJSON license 2026年02月14日 09:33:37 +00:00
makefile README.md makefile: add Windows NMake support 2026年02月14日 10:41:15 +00:00
README.md README.md makefile: add Windows NMake support 2026年02月14日 10:41:15 +00:00

Ermine

Ermine is a minimal C99 API-level library for making Stoat bots. The only external dependency is libcurl. It is dual licensed as Public Domain and 0BSD. The internal dependency cJSON is MIT licensed.

Using

  1. Examine the makefile and note variables you want to override.
  2. Run make to build, or make VARIABLE=VALUE to override a variable. make clean all will run the clean target, then the default.
  3. Run make install to install it to your system.
  4. In your build system, make sure that the install directories are properly added, and that -lermine -lcurl is added to the linker commandline.

Windows

On Windows, certain variables are required to be overridden.

  • CFLAGS should have /Ipath/to/curl/include
  • RM should be del
  • OBJEXT should be .obj
  • LIBEXT should be .lib Ideas on portable ways to (semi?) automatically do this are welcome.

Note: no specific make is required, this makefile works with GNU, BSD, NMake, and POSIX make.

Minimum supported environments

Systems

  • OpenBSD 7.8
  • Cygwin 3.7.0 (Windows 11 26100)
  • Windows 11 26100

Compilers

  • Clang 19.1.7
  • GCC 15.2.0
  • Visual Studio 2022 (cl.exe 19.44.35219 for x86)

Dependencies

  • libcurl 8.15.0