docs: add QNX toolchain integration contract#99
Open
nradakovic wants to merge 2 commits into
Open
Conversation
9f528a1 to
6046f7c
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an “Integration Contract” guide to document how to acquire, install, configure, and verify a local QNX SDP + licensing setup so Bazel workspaces can use the QNX toolchains provided by this repository (addresses #96).
Changes:
- Added step-by-step instructions for obtaining QNX SDP and licenses, and expected local installation layout.
- Documented environment variables,
.bazelrcsetup, sandbox writable paths, and verification build steps. - Added troubleshooting guidance for common setup failures.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+43
to
+44
| The license is typically a file that must be accessible at runtime. See | ||
| [License Configuration](#license-configuration) for how to configure the license path. |
Comment on lines
+144
to
+147
| - **`license_path`**: Path to the QNX license file directory | ||
| (default: `/opt/score_qnx/license/licenses`) | ||
| - **`license_info_variable`**: Custom environment variable name for license configuration | ||
| - **`license_info_value`**: Custom value for license environment variable |
Comment on lines
+200
to
+201
| # Or use the explicit toolchain: | ||
| bazel build --extra_toolchains=@qnx_toolchain//:x86_64-qnx-gcc_8.0.0 //:hello_qnx |
|
|
||
| #### 5. Troubleshooting | ||
|
|
||
| - **License not found**: Ensure `QNXLM_LICENSE_FILE` is set and points to a valid license file |
Comment on lines
+86
to
+94
| The following environment variable is commonly used for QNX license configuration: | ||
|
|
||
| - **`QNXLM_LICENSE_FILE`**: Path to the QNX license file. If the license is | ||
| installed in the default location, this may not need to be set explicitly. | ||
|
|
||
| Example: | ||
| ```bash | ||
| export QNXLM_LICENSE_FILE=/opt/score_qnx/license/licenses | ||
| ``` |
Comment on lines
+105
to
+118
| # Enable the QNX toolchain | ||
| --extra_toolchains=@{repository_name}//:x86_64-qnx-gcc_8.0.0 | ||
| # Or for ARM64: | ||
| --extra_toolchains=@{repository_name}//:aarch64-qnx-gcc_8.0.0 | ||
|
|
||
| # Configure QNX license location (if not in default path) | ||
| # If QNXLM_LICENSE_FILE is set in your environment, this may not be needed | ||
| build --action_env=QNXLM_LICENSE_FILE=/opt/score_qnx/license/licenses | ||
|
|
||
| # Allow Bazel to write temporary files to /var/tmp for QNX compiler configuration | ||
| build --sandbox_writable_path=/var/tmp | ||
|
|
||
| # If using the credential helper for authenticated downloads: | ||
| common --credential_helper=*.qnx.com=/path/to/qnx_credential_helper.py |
Comment on lines
+20
to
+21
| This section defines the requirements and constraints for using `bazel_cpp_toolchains` | ||
| with QNX toolchains in your Bazel workspace. |
Comment on lines
+48
to
+49
| The `bazel_cpp_toolchains` module expects QNX SDP packages to follow the standard | ||
| QNX directory structure after extraction. A typical installation looks like: |
| Declare your QNX toolchain in `MODULE.bazel`: | ||
|
|
||
| ```starlark | ||
| bazel_dep(name = "score_bazel_cpp_toolchains", version = "0.5.4") |
4ebbe5a to
1e0140d
Compare
Document QNX SDP acquisition, local installation layout, required environment variables, Bazel configuration (.bazelrc), sandbox writable paths, and verification procedures for QNX toolchain setup. resolves #96
1e0140d to
3facac9
Compare
The latest module version is 0.5.4, not 0.4.0.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Document QNX SDP acquisition, local installation layout, required environment variables, Bazel configuration (.bazelrc), sandbox writable paths, and verification procedures for QNX toolchain setup.
resolves #96