ba09ee18bb
This was needed because gomobile can't use a main package wheras this is required to make a normal shared C library. |
||
---|---|---|
.. | ||
ctest | ||
gomobile | ||
librclone | ||
librclone.go | ||
README.md |
librclone
This directory contains code to build rclone as a C library and the
shims for accessing rclone from C and other languages.
Note for the moment, the interfaces defined here are experimental
and may change in the future. Eventually they will stabilse and this
notice will be removed.
C
The shims are a thin wrapper over the rclone RPC.
Build a shared library like this:
go build --buildmode=c-shared -o librclone.so github.com/rclone/rclone/librclone
Build a static library like this:
go build --buildmode=c-archive -o librclone.a github.com/rclone/rclone/librclone
Both the above commands will also generate librclone.h
which should
be #include
d in C
programs wishing to use the library.
The library will depend on libdl
and libpthread
.
Documentation
For documentation see the Go documentation for:
C Example
There is an example program ctest.c
with Makefile in the ctest
subdirectory
gomobile
The gomobile subdirectory contains the equivalent of the C binding but
suitable for using with gomobile using something like this.
gomobile bind -v -target=android github.com/rclone/rclone/librclone/gomobile