summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-08-02 07:36:45 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-08-03 09:23:10 +0200
commit0d76cc9f0449f7d57ecb93a2cd2a118b89df93e9 (patch)
tree0788c9b2f8ce12fb8e8ab608413d839f4c3c73b4 /spec
parentbsps/shared: Fix Coverity warning in MCP7940M (diff)
downloadrtems-0d76cc9f0449f7d57ecb93a2cd2a118b89df93e9.tar.bz2
build: Add PROGRAM_PREFIX option
Replace --rtems-version with a PROGRAM_PREFIX option. This allows also the use of vendor tools.
Diffstat (limited to 'spec')
-rw-r--r--spec/build/bsps/makeinc.yml16
-rw-r--r--spec/build/bsps/maketarget.yml22
-rw-r--r--spec/build/bsps/optobjcopy.yml2
-rw-r--r--spec/build/cpukit/cpuopts.yml2
-rw-r--r--spec/build/cpukit/optgcc.yml8
-rw-r--r--spec/build/cpukit/optprogramprefix.yml18
-rw-r--r--spec/build/testsuites/ada/optgnat.yml2
7 files changed, 45 insertions, 25 deletions
diff --git a/spec/build/bsps/makeinc.yml b/spec/build/bsps/makeinc.yml
index ac395f2f02..08fc75a8b9 100644
--- a/spec/build/bsps/makeinc.yml
+++ b/spec/build/bsps/makeinc.yml
@@ -16,14 +16,14 @@ content: |
prefix = ${PREFIX}
exec_prefix = $${prefix}/${ARCH}-rtems${__RTEMS_MAJOR__}
- CC_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-gcc
- CXX_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-g++
- AS_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-as
- AR_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ar
- NM_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-nm
- LD_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-ld
- SIZE_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-size
- OBJCOPY_FOR_TARGET = ${ARCH}-rtems${__RTEMS_MAJOR__}-objcopy
+ CC_FOR_TARGET = ${PROGRAM_PREFIX}gcc
+ CXX_FOR_TARGET = ${PROGRAM_PREFIX}g++
+ AS_FOR_TARGET = ${PROGRAM_PREFIX}as
+ AR_FOR_TARGET = ${PROGRAM_PREFIX}ar
+ NM_FOR_TARGET = ${PROGRAM_PREFIX}nm
+ LD_FOR_TARGET = ${PROGRAM_PREFIX}ld
+ SIZE_FOR_TARGET = ${PROGRAM_PREFIX}size
+ OBJCOPY_FOR_TARGET = ${PROGRAM_PREFIX}objcopy
CC= $$(CC_FOR_TARGET)
CXX= $$(CXX_FOR_TARGET)
diff --git a/spec/build/bsps/maketarget.yml b/spec/build/bsps/maketarget.yml
index 798b64fa22..7a7b0c3d35 100644
--- a/spec/build/bsps/maketarget.yml
+++ b/spec/build/bsps/maketarget.yml
@@ -11,17 +11,17 @@ content: |
LIBS =
RTEMS_API = ${__RTEMS_MAJOR__}
- CC = ${ARCH}-rtems${__RTEMS_MAJOR__}-gcc --pipe
- AS = ${ARCH}-rtems${__RTEMS_MAJOR__}-as
- AR = ${ARCH}-rtems${__RTEMS_MAJOR__}-ar
- NM = ${ARCH}-rtems${__RTEMS_MAJOR__}-nm
- LD = ${ARCH}-rtems${__RTEMS_MAJOR__}-ld
- SIZE = ${ARCH}-rtems${__RTEMS_MAJOR__}-size
- STRIP = ${ARCH}-rtems${__RTEMS_MAJOR__}-strip
- OBJCOPY = ${ARCH}-rtems${__RTEMS_MAJOR__}-objcopy
- RANLIB = ${ARCH}-rtems${__RTEMS_MAJOR__}-ranlib
-
- CXX = ${ARCH}-rtems${__RTEMS_MAJOR__}-g++
+ CC = ${PROGRAM_PREFIX}gcc --pipe
+ AS = ${PROGRAM_PREFIX}as
+ AR = ${PROGRAM_PREFIX}ar
+ NM = ${PROGRAM_PREFIX}nm
+ LD = ${PROGRAM_PREFIX}ld
+ SIZE = ${PROGRAM_PREFIX}size
+ STRIP = ${PROGRAM_PREFIX}strip
+ OBJCOPY = ${PROGRAM_PREFIX}objcopy
+ RANLIB = ${PROGRAM_PREFIX}ranlib
+
+ CXX = ${PROGRAM_PREFIX}g++
export CC
export AS
diff --git a/spec/build/bsps/optobjcopy.yml b/spec/build/bsps/optobjcopy.yml
index 3387e23794..63fab08ac6 100644
--- a/spec/build/bsps/optobjcopy.yml
+++ b/spec/build/bsps/optobjcopy.yml
@@ -1,6 +1,6 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
actions:
-- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-objcopy
+- set-value: ${PROGRAM_PREFIX}objcopy
- substitute: null
- find-program: null
- env-assign: OBJCOPY
diff --git a/spec/build/cpukit/cpuopts.yml b/spec/build/cpukit/cpuopts.yml
index f1b30eec55..1d28ace552 100644
--- a/spec/build/cpukit/cpuopts.yml
+++ b/spec/build/cpukit/cpuopts.yml
@@ -8,6 +8,8 @@ include-headers: []
install-path: ${BSP_INCLUDEDIR}/rtems/score
links:
- role: build-dependency
+ uid: optprogramprefix
+- role: build-dependency
uid: optgcc
- role: build-dependency
uid: optarchbits
diff --git a/spec/build/cpukit/optgcc.yml b/spec/build/cpukit/optgcc.yml
index 3afb909444..94af494af4 100644
--- a/spec/build/cpukit/optgcc.yml
+++ b/spec/build/cpukit/optgcc.yml
@@ -1,21 +1,21 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
actions:
-- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-gcc
+- set-value: ${PROGRAM_PREFIX}gcc
- substitute: null
- find-program: null
- env-assign: AS
- env-assign: CC
- env-assign: LINK_CC
-- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-g++
+- set-value: ${PROGRAM_PREFIX}g++
- substitute: null
- find-program: null
- env-assign: CXX
- env-assign: LINK_CXX
-- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-ar
+- set-value: ${PROGRAM_PREFIX}ar
- substitute: null
- find-program: null
- env-assign: AR
-- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-ld
+- set-value: ${PROGRAM_PREFIX}ld
- substitute: null
- find-program: null
- env-assign: LD
diff --git a/spec/build/cpukit/optprogramprefix.yml b/spec/build/cpukit/optprogramprefix.yml
new file mode 100644
index 0000000000..73deef79d1
--- /dev/null
+++ b/spec/build/cpukit/optprogramprefix.yml
@@ -0,0 +1,18 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+actions:
+- get-string: null
+- substitute: null
+- env-assign: null
+build-type: option
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+default:
+- enabled-by: true
+ value: ${ARCH}-rtems${__RTEMS_MAJOR__}-
+description: |
+ Defines the program prefix of tools (compiler, assembler, linker).
+enabled-by: true
+format: '{}'
+links: []
+name: PROGRAM_PREFIX
+type: build
diff --git a/spec/build/testsuites/ada/optgnat.yml b/spec/build/testsuites/ada/optgnat.yml
index 6d84f64845..449859bde0 100644
--- a/spec/build/testsuites/ada/optgnat.yml
+++ b/spec/build/testsuites/ada/optgnat.yml
@@ -1,6 +1,6 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
actions:
-- set-value: ${ARCH}-rtems${__RTEMS_MAJOR__}-gnatmake
+- set-value: ${PROGRAM_PREFIX}gnatmake
- substitute: null
- find-program: null
- env-assign: GNATMAKE