Skip to content

Commit

Permalink
Rollup merge of rust-lang#101256 - andrewpollack:fuchsia-docs-adding,…
Browse files Browse the repository at this point in the history
… r=tmandry

Fixes/adjustments to Fuchsia doc walkthrough

Small fixes/adjustments missed during rust-lang#100927
  • Loading branch information
Dylan-DPC authored Sep 1, 2022
2 parents 4c92e64 + d8b572b commit 8c9564e
Showing 1 changed file with 18 additions and 10 deletions.
28 changes: 18 additions & 10 deletions src/doc/rustc/src/platform-support/fuchsia.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,20 @@ during compilation:
[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**
Expand Down Expand Up @@ -368,6 +375,7 @@ language called CML. The Fuchsia devsite contains an [overview of CML] and a
}
```

**Current directory structure**
```txt
hello_fuchsia/
┗━ pkg/
Expand All @@ -386,6 +394,9 @@ ${SDK_PATH}/tools/${ARCH}/cmc compile \
-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/
Expand All @@ -397,19 +408,16 @@ 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
Expand Down Expand Up @@ -469,15 +477,15 @@ We can publish our new package to that repository with:

```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
```

Expand Down

0 comments on commit 8c9564e

Please sign in to comment.