This module implements support for QNX SDP 8.0
MODULE.bazel
bazel_dep(name = "score_toolchains_qnx", version = "0.1")
toolchains_qnx = use_extension("@score_toolchains_qnx//:extensions.bzl", "toolchains_qnx")
toolchains_qnx.sdp(
url = "http://example.com/qnx800.tar.gz",
sha256 = "<package sha256>",
)
use_repo(toolchains_qnx, "toolchains_qnx_sdp")
use_repo(toolchains_qnx, "toolchains_qnx_qcc")
register_toolchains("@toolchains_qnx_qcc//:qcc_x86_64")
.bazelrc
build:x86_64-qnx --incompatible_strict_action_env
build:x86_64-qnx --platforms=@score_toolchains_qnx//platforms:x86_64-qnx
build:x86_64-qnx --sandbox_writable_path=/var/tmp
/var/tmp
needs to be writeable inside of the sandbox because of the license management done by the QNX tools.
Follow the tutorial to obtain the SDP and corresponding license and install SDP via Software Center:
The QNX SDP is by default installed to ~/qnx800
.
The archive of this directory is the input for the toolchains_qnx extension.
It is currently assumed that the license is deployed to /opt/score_qnx/license/licenses
.
By default QNX tooling installs the license in ~/.qnx/license/licenses
.
Pre-packaged SDP requires authentication with ones QNX login and password.
For this the tools/qnx_credential_helper.py
needs to be used.
The credential helper is a standalone application and cannot be referenced as Bazel target. For this the credential helper needs to be put:
- as an absolute path:
common --credential_helper=*.qnx.com=/path/to/qnx_credential_helper.py
- in $PATH and referenced as:
common --credential_helper=*.qnx.com=qnx_credential_helper.py
- in your module source and referenced as:
common --credential_helper=*.qnx.com=%worksapce%/path/to/qnx_credential_helper.py
The credentials are taken from .netrc or from enviroment variables SCORE_QNX_USER
and SCORE_QNX_PASSWORD
.