Commit 6ffafe63 authored by Éloïs's avatar Éloïs

Update cross-compilation-pour-arm.md

parent d7f19174
...@@ -5,6 +5,11 @@ Slug: cross-compilation-pour-arm ...@@ -5,6 +5,11 @@ Slug: cross-compilation-pour-arm
Authors: elois Authors: elois
Fonctionne sur ubuntu 16.04. Fonctionne sur ubuntu 16.04.
Vous devez avoir rust d'installez sur votre machine, si tel n'est pas le cas installez Rust en une seule ligne de commande :
curl https://sh.rustup.rs -sSf | sh
Une fois que vous avez Rust, ça se passe a 4 étapes :
1. Ajoutez la toolchain arm : 1. Ajoutez la toolchain arm :
...@@ -14,7 +19,7 @@ Fonctionne sur ubuntu 16.04. ...@@ -14,7 +19,7 @@ Fonctionne sur ubuntu 16.04.
sudo apt-get install gcc-4.7-multilib-arm-linux-gnueabihf crossbuild-essential-armhf sudo apt-get install gcc-4.7-multilib-arm-linux-gnueabihf crossbuild-essential-armhf
3. indiquez a cargo quel compilateur il doit utiliser lorsqu'il compilera avec la tolchain arm, pour cela créer le fichier `~/.cargo/config` et collez y le contenu suivant : 3. indiquez a cargo quel compilateur il doit utiliser lorsqu'il compilera avec la toolchain arm, pour cela créez le fichier `~/.cargo/config` et collez y le contenu suivant :
[target.armv7-unknown-linux-gnueabihf] [target.armv7-unknown-linux-gnueabihf]
linker = "arm-linux-gnueabihf-gcc-4.7" linker = "arm-linux-gnueabihf-gcc-4.7"
...@@ -24,6 +29,10 @@ Fonctionne sur ubuntu 16.04. ...@@ -24,6 +29,10 @@ Fonctionne sur ubuntu 16.04.
cd duniter-rs cd duniter-rs
cargo build --target=armv7-unknown-linux-gnueabihf --no-default-features --release cargo build --target=armv7-unknown-linux-gnueabihf --no-default-features --release
Si votre terminal vous dit que la commande `cargo` n'existe pas, c'est que vous devez ajouter le chemin `~/.cargo/bin` à votre variable d'environnement `PATH` :
export PATH="$HOME/.cargo/bin:$PATH"
*Explication des options : *Explication des options :
- target : indique a cargo la toolchain avec laquelle compiler. - target : indique a cargo la toolchain avec laquelle compiler.
- no-default-features : indique a cargo de ne pas inclure les features optionelles, cela permet nottament de ne pas inclure OpenSSL qui est très ifficile à cross-compiler. (OpenSSl est loin d'être indispensable, ça seule utilitée est de permettre a WS2P Privé de contacter des endpoints WS2P en https). - no-default-features : indique a cargo de ne pas inclure les features optionelles, cela permet nottament de ne pas inclure OpenSSL qui est très ifficile à cross-compiler. (OpenSSl est loin d'être indispensable, ça seule utilitée est de permettre a WS2P Privé de contacter des endpoints WS2P en https).
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment