1
Fork 0

Tweaks to fuchsia doc walkthrough

This commit is contained in:
Andrew Pollack 2022-08-31 23:49:48 +00:00
parent 9243168fa5
commit d8b572b820

View file

@ -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**
@ -368,6 +375,7 @@ language called CML. The Fuchsia devsite contains an [overview of CML] and a
}
```
**Current directory structure**
```txt
hello_fuchsia/
┗━ pkg/
@ -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/
@ -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
@ -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
```