C-bindings for the Go Cwtch Library
https://cwtch.im
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
4 months ago | |
---|---|---|
constants | 6 months ago | |
features | 1 year ago | |
utils | 4 months ago | |
.drone.yml | 4 months ago | |
.gitignore | 2 years ago | |
BUILDING_DEBUG.md | 2 years ago | |
LICENSE | 2 years ago | |
MEMORY.md | 2 years ago | |
Makefile | 5 months ago | |
README.md | 12 months ago | |
clangwrap.sh | 2 years ago | |
go.mod | 6 months ago | |
go.sum | 6 months ago | |
lib.go | 6 months ago | |
quality.sh | 1 year ago | |
switch-ffi.sh | 2 years ago | |
switch-gomobile.sh | 2 years ago |
README.md
libcwtch-go
C-bindings for the Go Cwtch Library.
Build Instructions
make linux
make android
make windows
make macos
Android Build Notes
Our build infrastructure is using Go 1.15.10, NDK 21.0.6113669, and gomobile commit bdb1ca9a1e083af5929a8214e8a056d638ebbf2d (2021 07 16)
Go 1.17.4, NDK 22.1.7171670, and gomobile 4e6c2922fdeed32d3596616518aaee7b0d79ce55 (2021 12 07) appear to compile as well.
Other version combinations untested and some definitely do not work.
Windows
Cwtch relies on sqlite which in turn requires the use of CGO. As per this issue
that means TDM-GCC is required to be installed and used to compile on Windows.
Install it and add it to your path and make windows
should then work.
Experimental iOS support
make ios
Using
General Environment Variables
LOG_FILE
if defined will mean all go logging will go to a file instead of stdoutLOG_LEVEL
if set todebug
will cause debug logging to be included in log outputCWTCH_PROFILE
if set to1
will cause a memory profile to be written tomem.prof
and all active goroutines written tostdout
whenDebugInfo()
is called.
Linux Desktop:
LD_LIBRARY_PATH
set to point tolibCwtch.so
- or drop a symlink into
/usr/lib
Android
- copy
cwtch.aar
intoflutter_app/android/cwtch
Windows
- copy libCwtch.dll into the directory of the
.exe
using it
MacOS
- copy libCwtch.x64.dylib and libCwtch.arm.dylib into the directory you are executing from