Skip to content

Commit fe8cf49

Browse files
committed
Fixes qnx8_build issues and review findings
1 parent 27dc162 commit fe8cf49

16 files changed

Lines changed: 93 additions & 138 deletions

File tree

.bazelrc

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,26 @@ common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry
99
common --registry=https://bcr.bazel.build
1010
common --credential_helper=*.qnx.com=%workspace%/scripts/internal/qnx_creds.py
1111

12+
build:x86_64-linux --platforms=@score_bazel_platforms//:x86_64-linux
13+
build:x86_64-linux --define=config=x86_64-linux
14+
1215
build:build_qnx8 --platforms=@score_bazel_platforms//:arm64-qnx8_0
1316
build:build_qnx8 --extra_toolchains=@toolchains_qnx_qcc//:qcc_aarch64
1417
build:build_qnx8 --extra_toolchains=@score_toolchains_rust//toolchains/aarch64-unknown-qnx8_0:toolchain_aarch64_qnx8_0
15-
build:build_qnx8 --extra_toolchains=@score_toolchains_rust//toolchains/x86_64-unknown-linux-gnu:toolchain_x86_64_linux
16-
build:build_qnx8 --extra_toolchains=@toolchains_qnx_ifs//:ifs_x86_64
17-
build:build_qnx8 --extra_toolchains=@toolchains_qnx_ifs//:ifs_aarch64
18+
build:build_qnx8 --define=config=build_qnx8
19+
20+
# TODO: Enable when rust toolchain for x86_64-qnx becomes available
21+
# build:x86_64-qnx --platforms=@score_bazel_platforms//:x86_64-qnx
22+
# build:x86_64-qnx --extra_toolchains=@toolchains_qnx_qcc//:qcc_x86_64
23+
# build:x86_64-qnx --define=config=x86_64-qnx
1824

1925
common --@score_baselibs//score/mw/log/flags:KRemote_Logging=False
2026
common --@score_baselibs//score/json:base_library=nlohmann
2127

28+
## default is a stdout logger which looks like dlt logs
29+
## uncomment below to use score::mw::log instead of the stdout logger
30+
# build --cxxopt=-DLC_LOG_SCORE_MW_LOG
31+
2232
build --cxxopt=-std=c++17
2333
build --cxxopt=-Wno-missing-template-arg-list-after-template-kw
2434
# Required to build baselibs dependency which uses some deprecated APIs

.github/actions/setup-rust-build/action.yml

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,12 @@
11
name: 'Setup Rust Build Environment'
2-
description: 'Checks out code, installs protoc, and caches cargo dependencies'
3-
4-
inputs:
5-
repo-token:
6-
description: 'GitHub token for protoc downloads'
7-
required: true
8-
2+
description: 'Checks out code, and caches cargo dependencies'
93

104
runs:
115
using: "composite"
126
steps:
137
- name: Checkout Repository
148
uses: actions/checkout@v4
159

16-
- name: Install protoc 26.1
17-
uses: arduino/setup-protoc@v3
18-
with:
19-
version: 26.1
20-
repo-token: ${{ inputs.repo-token }}
21-
2210
- name: Cache cargo & target
2311
uses: actions/cache@v3
2412
with:

.github/workflows/build.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,6 @@ jobs:
3232
- name: Checkout code
3333
uses: actions/checkout@v4.2.2
3434

35-
- name: Install protoc 26.1
36-
uses: arduino/setup-protoc@v3
37-
with:
38-
version: 26.1
39-
repo-token: ${{ secrets.GITHUB_TOKEN }}
40-
4135
- name: Setup Bazel
4236
uses: bazel-contrib/setup-bazel@0.15.0
4337
with:

.github/workflows/cargo_required.yml

Lines changed: 0 additions & 94 deletions
This file was deleted.

.github/workflows/lint_clippy.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,6 @@ jobs:
2929
with:
3030
fetch-depth: 0
3131

32-
- name: Install protoc 26.1
33-
uses: arduino/setup-protoc@v3
34-
with:
35-
version: 26.1
36-
repo-token: ${{ secrets.GITHUB_TOKEN }}
37-
3832
- name: Cache Cargo registry, git deps & target
3933
uses: actions/cache@v3
4034
with:

.vscode/settings.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"[rust]": {
3+
"editor.defaultFormatter": "rust-lang.rust-analyzer",
4+
"editor.formatOnSave": true,
5+
"editor.rulers": [
6+
150
7+
]
8+
},
9+
"rust-analyzer.cargo.features": [
10+
"qm"
11+
],
12+
"rust-analyzer.cargo.cfgs": [
13+
"!miri"
14+
],
15+
"rust-analyzer.check.command": "clippy",
16+
"rust-analyzer.rustfmt.overrideCommand": [
17+
"${workspaceFolder}/.vscode/rustfmt.sh"
18+
]
19+
}

config/BUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ config_setting(
2525
)
2626

2727
config_setting(
28-
name = "arm64-qnx",
28+
name = "build_qnx8",
2929
define_values = {
30-
"config": "arm64-qnx",
30+
"config": "build_qnx8",
3131
},
3232
)
3333

demo/control_application/BUILD

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@ cc_binary(
1717
"control_app_cli.cpp",
1818
],
1919
copts = select({
20+
"//config:build_qnx8": [],
2021
"//config:x86_64-qnx": [],
2122
"//conditions:default": ["-pthread"],
2223
}),
2324
linkopts = select({
25+
"//config:build_qnx8": [],
2426
"//config:x86_64-qnx": [],
2527
"//conditions:default": [
2628
"-lpthread",
@@ -40,10 +42,12 @@ cc_binary(
4042
"control_daemon.cpp",
4143
],
4244
copts = select({
45+
"//config:build_qnx8": [],
4346
"//config:x86_64-qnx": [],
4447
"//conditions:default": ["-pthread"],
4548
}),
4649
linkopts = select({
50+
"//config:build_qnx8": [],
4751
"//config:x86_64-qnx": [],
4852
"//conditions:default": [
4953
"-lpthread",

demo/cpp_lifecycle_app/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@ cc_binary(
1616
"main.cpp",
1717
],
1818
copts = select({
19+
"//config:build_qnx8": [],
1920
"//config:x86_64-qnx": [],
2021
"//conditions:default": ["-pthread"],
2122
}),
2223
linkopts = select({
24+
"//config:build_qnx8": [],
2325
"//config:x86_64-qnx": [],
2426
"//conditions:default": ["-lpthread"],
2527
}),

demo/cpp_lifecycle_app/main.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@
2020
#include <ctime>
2121
#include <string>
2222

23-
#include <linux/prctl.h>
24-
#include <sys/prctl.h>
23+
#ifdef __linux__
24+
#include <linux/prctl.h>
25+
#include <sys/prctl.h>
26+
#endif
2527

2628
#include "score/lcm/lifecycle_client.h"
2729

@@ -96,9 +98,15 @@ void signalHandler(int)
9698
void set_process_name() {
9799
const char* identifier = getenv("PROCESSIDENTIFIER");
98100
if(identifier != nullptr) {
99-
if(prctl(PR_SET_NAME, identifier) < 0) {
100-
std::cerr << "Failed to set process name to " << identifier << std::endl;
101-
}
101+
#ifdef __QNXNTO__
102+
if (pthread_setname_np(pthread_self(), identifier) != 0) {
103+
std::cerr << "Failed to set QNX thread name" << std::endl;
104+
}
105+
#elif defined(__linux__)
106+
if (prctl(PR_SET_NAME, identifier) < 0) {
107+
std::cerr << "Failed to set process name to " << identifier << std::endl;
108+
}
109+
#endif
102110
}
103111
}
104112

0 commit comments

Comments
 (0)