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 #included 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
python
The python subdirectory contains a simple python wrapper for the C
API using rclone linked as a shared library.
This needs expanding and submitting to pypi...