```sh
rustup target add x86_64-fuchsia
-rustup target add aarch_64-fuchsia
+rustup target add aarch64-fuchsia
```
After installing our Fuchsia targets, we can now compile a Rust binary that targets
[target.x86_64-fuchsia]
rustflags = [
- "-Lnative", "<SDK_PATH>/arch/x64/sysroot/lib",
- "-Lnative", "<SDK_PATH>/arch/x64/lib"
+ "-Lnative=<SDK_PATH>/arch/x64/lib",
+ "-Lnative=<SDK_PATH>/arch/x64/sysroot/lib"
]
```
*Note: Make sure to fill out `<SDK_PATH>` with the path to the downloaded [Fuchsia SDK].*
+These options configure the following:
+
+* `-Lnative=${SDK_PATH}/arch/${ARCH}/lib`: Link against Fuchsia libraries from
+ the SDK
+* `-Lnative=${SDK_PATH}/arch/${ARCH}/sysroot/lib`: Link against Fuchsia kernel
+ libraries from the SDK
+
In total, our new project will look like:
**Current directory structure**
}
```
+**Current directory structure**
```txt
hello_fuchsia/
┗━ pkg/
-o pkg/meta/hello_fuchsia.cm
```
+*Note: `--includepath` tells the compiler where to look for `include`s from our CML.
+In our case, we're only using `syslog/client.shard.cml`.*
+
**Current directory structure**
```txt
hello_fuchsia/
┗━ hello_fuchsia.cml
```
-*Note: `--includepath` tells the compiler where to look for `include`s from our CML.
-In our case, we're only using `syslog/client.shard.cml`.*
-
### Building a Fuchsia package
Next, we'll build a package manifest as defined by our manifest:
```sh
${SDK_PATH}/tools/${ARCH}/pm \
- -o hello_fuchsia_manifest \
+ -o pkg/hello_fuchsia_manifest \
-m pkg/hello_fuchsia.manifest \
build \
- -output-package-manifest hello_fuchsia_package_manifest
+ -output-package-manifest pkg/hello_fuchsia_package_manifest
```
This will produce `pkg/hello_fuchsia_manifest/` which is a package manifest we can
```sh
${SDK_PATH}/tools/${ARCH}/pm publish \
- -repo repo \
- -lp -f <(echo "hello_fuchsia_package_manifest")
+ -repo pkg/repo \
+ -lp -f <(echo "pkg/hello_fuchsia_package_manifest")
```
Then we can add the repository to `ffx`'s package server as `hello-fuchsia` using:
```sh
${SDK_PATH}/tools/${ARCH}/ffx repository add-from-pm \
- repo \
+ pkg/repo \
-r hello-fuchsia
```