Update compile and install instructions
This commit is contained in:
48
README.md
48
README.md
@@ -52,10 +52,58 @@ learning exercise!
|
|||||||
|
|
||||||
## How
|
## How
|
||||||
|
|
||||||
|
### Compiling
|
||||||
|
|
||||||
This project is written in Rust, so you'll need a rust compiler to build it.
|
This project is written in Rust, so you'll need a rust compiler to build it.
|
||||||
[Rustup]() comes highly recommended. Deltachat is also written in Rust and it
|
[Rustup]() comes highly recommended. Deltachat is also written in Rust and it
|
||||||
needs the `nightly` version, so follow the instructions for that.
|
needs the `nightly` version, so follow the instructions for that.
|
||||||
|
|
||||||
|
Once you have a working rust compiler, just:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cargo build --release
|
||||||
|
```
|
||||||
|
|
||||||
|
to get a `telepathy-padfoot binary.
|
||||||
|
|
||||||
|
|
||||||
|
### Cross-compiling amd64 -> i386
|
||||||
|
|
||||||
|
If you need a 32-bit binary and you're on an am64 bit system, this seems to
|
||||||
|
work, as long as you have 32-bit versions of `libdbus-1` and `libssl` installed.
|
||||||
|
|
||||||
|
On Debian, the full sequence looks like:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ dpkg --print-architecture
|
||||||
|
amd64
|
||||||
|
# dpkg --add-architecture i386
|
||||||
|
$ dpkg --print-foreign-architectures
|
||||||
|
i386
|
||||||
|
# apt update
|
||||||
|
# apt install libdbus-1-dev:i386 libssl-dev:i386
|
||||||
|
$ rustup target install i686-unknown-linux-gnu
|
||||||
|
$ PKG_CONFIG_ALLOW_CROSS=1 cargo build --target=i686-unknown-linux-gnu --release
|
||||||
|
```
|
||||||
|
|
||||||
|
This creates a 32-bit executable at `target/i686-unknown-linux-gnu/release/telepathy-padfoot`
|
||||||
|
|
||||||
|
I don't have a 32-bit machine to test this on, but happy to take fixes for it.
|
||||||
|
|
||||||
|
### Installing
|
||||||
|
|
||||||
|
There is a `share/` directory in this project that contains a bunch of files.
|
||||||
|
They should be placed into `/usr/share`, following the same layout. Then put
|
||||||
|
the binary into `/usr/lib/telepathy/telepathy-padfoot`.
|
||||||
|
|
||||||
|
I should probably put this into the makefile.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Autogenerated telepathy DBUS bindings
|
||||||
|
|
||||||
|
|
||||||
It makes use of the `dbus-codegen-rust` crate to convert the
|
It makes use of the `dbus-codegen-rust` crate to convert the
|
||||||
[telepathy interface specs](https://github.com/TelepathyIM/telepathy-spec) into
|
[telepathy interface specs](https://github.com/TelepathyIM/telepathy-spec) into
|
||||||
the executable code in `src/telepathy`. This is checked in, but can be
|
the executable code in `src/telepathy`. This is checked in, but can be
|
||||||
|
Reference in New Issue
Block a user