Skip to content

build/cmake: Fix hexagon toolchain SDK path and V_ARCH compatibility for SDK 6.x#91

Open
quic-aditrath wants to merge 3 commits into
AudioReach:masterfrom
quic-aditrath:hex_toolchain_fix
Open

build/cmake: Fix hexagon toolchain SDK path and V_ARCH compatibility for SDK 6.x#91
quic-aditrath wants to merge 3 commits into
AudioReach:masterfrom
quic-aditrath:hex_toolchain_fix

Conversation

@quic-aditrath
Copy link
Copy Markdown
Contributor

The hexagon toolchain CMake script had three issues that prevented successful builds with Hexagon SDK 6.x:

  1. Stale FastRPC include paths
    HEXAGON_SDK_REMOTE_INCLUDES and HEXAGON_SDK_RPCMEM_INCLUDES were hardcoded to a libs/common/ directory layout that does not exist in either SDK 4.x or SDK 6.x. Updated to the correct ipc/fastrpc/ paths present across both SDK releases.

  2. Hardcoded QuRT include path
    HEXAGON_SDK_QURT_INCLUDES was hardcoded to computev65/include/qurt. SDK 6.x ships QuRT headers from computev68 onwards, causing a fatal atomic_ops.h not found error. The path is now derived dynamically from V_ARCH at configure time.

  3. Incomplete V_ARCH validation list
    The V_ARCH validation only accepted architectures up to v66, rejecting all variants supported by SDK 6.x with a fatal CMake error. Added v68, v69, v73, v75, v79 and v81 to the allowed list.

HEXAGON_SDK_REMOTE_INCLUDES and HEXAGON_SDK_RPCMEM_INCLUDES were
hardcoded to a libs/common/ layout that does not exist in either
Hexagon SDK 4.x or SDK 6.x releases.

In SDK 4.5.0 and 6.x, FastRPC components live under ipc/fastrpc/.
Point HEXAGON_SDK_REMOTE_INCLUDES to ipc/fastrpc/remote/ship and
HEXAGON_SDK_RPCMEM_INCLUDES to ipc/fastrpc/rpcmem/inc to match
the actual SDK directory layout.

Signed-off-by: Aditya Rathi <aditrath@qti.qualcomm.com>
HEXAGON_SDK_QURT_INCLUDES was hardcoded to computev65/include/qurt.
Hexagon SDK 6.x ships QuRT headers from computev68 onwards; the
absence of computev65 causes a fatal missing header build error.

Derive the path dynamically as computev${V_ARCH_NUM}/include/qurt
by extracting the numeric suffix from V_ARCH at configure time.

Signed-off-by: Aditya Rathi <aditrath@qti.qualcomm.com>
The V_ARCH check only covered up to v66, causing a fatal CMake
error for any arch variant introduced in Hexagon SDK 6.x.

Add v68, v69, v73, v75, v79 and v81 to the allowed list, matching
arch variants present in the SDK 6.x toolchain and QuRT headers.

Signed-off-by: Aditya Rathi <aditrath@qti.qualcomm.com>
@quic-aditrath quic-aditrath requested review from a team June 3, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants