Always bundle Sqlite if required
parent
6beaeb3fdb
commit
118faf7a5d
@ -0,0 +1,34 @@
|
|||||||
|
# Cozo for Swift on Apple
|
||||||
|
|
||||||
|
Only the `storage-sqlite` engine is enabled for the Swift prebuilt binaries, as using
|
||||||
|
other storage engines on desktop or mobile does not make too much sense. If you disagree,
|
||||||
|
see the Building section below.
|
||||||
|
|
||||||
|
## Using the library
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
First, install the [Rust toolchain](https://rustup.rs).
|
||||||
|
Then run the [build script](build-rust.sh) in this directory.
|
||||||
|
It is recommended to also set the environment variable `CARGO_PROFILE_RELEASE_LTO=fat`:
|
||||||
|
this makes the building process much longer, but in turn the library runs a little bit faster.
|
||||||
|
|
||||||
|
When everything goes well, you should find the compiled Swift package in a directory called
|
||||||
|
`CozoSwiftBridge`.
|
||||||
|
|
||||||
|
If you want to use the RocksDB engine on Desktop, in the build script change the two lines
|
||||||
|
```bash
|
||||||
|
cargo build -p cozo-swift -F compact --target x86_64-apple-darwin --release
|
||||||
|
cargo build -p cozo-swift -F compact --target aarch64-apple-darwin --release
|
||||||
|
```
|
||||||
|
to
|
||||||
|
```bash
|
||||||
|
cargo build -p cozo-swift -F compact -F storage-rocksdb --target x86_64-apple-darwin --release
|
||||||
|
cargo build -p cozo-swift -F compact -F storage-rocksdb --target aarch64-apple-darwin --release
|
||||||
|
```
|
||||||
|
|
||||||
|
Then you also need to link your executable with `libc++`: in XCode, click on your project
|
||||||
|
in the left drawer, then on the right go to `Build phases > Link Binary With Libraries`,
|
||||||
|
click the plus sign, search for `libc++`, then add `libc++.tbd` found under Apple SDKs.
|
Loading…
Reference in New Issue