diff --git a/spec/build/bsps/bspopts.yml b/spec/build/bsps/bspopts.yml index d43136e94e..4a4c06d321 100644 --- a/spec/build/bsps/bspopts.yml +++ b/spec/build/bsps/bspopts.yml @@ -7,6 +7,12 @@ guard: __BSP_OPTIONS_H include-headers: [] install-path: ${BSP_INCLUDEDIR} links: +- role: build-dependency + uid: optbspoptflags +- role: build-dependency + uid: optcpukitoptflags +- role: build-dependency + uid: opttestoptflags - role: build-dependency uid: optabi - role: build-dependency @@ -17,6 +23,8 @@ links: uid: optfatalverb - role: build-dependency uid: optincludes +- role: build-dependency + uid: optcflags - role: build-dependency uid: optlinkflags - role: build-dependency diff --git a/spec/build/bsps/optbspoptflags.yml b/spec/build/bsps/optbspoptflags.yml new file mode 100644 index 0000000000..40dbb6c7ab --- /dev/null +++ b/spec/build/bsps/optbspoptflags.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-string: null +- substitute: null +- split: null +- env-assign: null +build-type: option +copyrights: +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) +default: ${OPTIMIZATION_FLAGS} +default-by-variant: [] +description: | + Optimization flags passed to C and C++ compilers for the BSP. +enabled-by: true +format: '{}' +links: [] +name: BSP_OPTIMIZATION_FLAGS +type: build diff --git a/spec/build/bsps/optcflags.yml b/spec/build/bsps/optcflags.yml new file mode 100644 index 0000000000..ef03940bff --- /dev/null +++ b/spec/build/bsps/optcflags.yml @@ -0,0 +1,17 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- set-value: | + ${BSP_OPTIMIZATION_FLAGS} +- substitute: null +- split: null +- env-assign: null +build-type: option +copyrights: +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) +default: null +default-by-variant: [] +description: '' +enabled-by: true +links: [] +name: BSP_CFLAGS +type: build diff --git a/spec/build/bsps/optcpukitoptflags.yml b/spec/build/bsps/optcpukitoptflags.yml new file mode 100644 index 0000000000..3baec4b8c8 --- /dev/null +++ b/spec/build/bsps/optcpukitoptflags.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-string: null +- substitute: null +- split: null +- env-assign: null +build-type: option +copyrights: +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) +default: ${OPTIMIZATION_FLAGS} +default-by-variant: [] +description: | + Optimization flags passed to C and C++ compilers for the CPU kit. +enabled-by: true +format: '{}' +links: [] +name: CPUKIT_OPTIMIZATION_FLAGS +type: build diff --git a/spec/build/bsps/opto0.yml b/spec/build/bsps/opto0.yml index 406286980f..9f54709c07 100644 --- a/spec/build/bsps/opto0.yml +++ b/spec/build/bsps/opto0.yml @@ -3,8 +3,6 @@ actions: - get-string: null - split: null - env-assign: null -- env-append: CFLAGS -- env-append: CXXFLAGS build-type: option copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) @@ -15,7 +13,7 @@ default: - -ffunction-sections default-by-variant: [] description: | - Optimization flags passed to the C and C++ compiler + Default optimization flags for C and C++ compilers. enabled-by: true links: [] name: OPTIMIZATION_FLAGS diff --git a/spec/build/bsps/opto1.yml b/spec/build/bsps/opto1.yml index 52d285c2ab..e0668a887b 100644 --- a/spec/build/bsps/opto1.yml +++ b/spec/build/bsps/opto1.yml @@ -3,8 +3,6 @@ actions: - get-string: null - split: null - env-assign: null -- env-append: CFLAGS -- env-append: CXXFLAGS build-type: option copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) @@ -15,7 +13,7 @@ default: - -ffunction-sections default-by-variant: [] description: | - Optimization flags passed to the C and C++ compiler + Default optimization flags for C and C++ compilers. enabled-by: true links: [] name: OPTIMIZATION_FLAGS diff --git a/spec/build/bsps/opto2.yml b/spec/build/bsps/opto2.yml index 071e5411d5..7b54556c5b 100644 --- a/spec/build/bsps/opto2.yml +++ b/spec/build/bsps/opto2.yml @@ -3,8 +3,6 @@ actions: - get-string: null - split: null - env-assign: null -- env-append: CFLAGS -- env-append: CXXFLAGS build-type: option copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) @@ -15,7 +13,7 @@ default: - -ffunction-sections default-by-variant: [] description: | - Optimization flags passed to the C and C++ compiler + Default optimization flags for C and C++ compilers. enabled-by: true links: [] name: OPTIMIZATION_FLAGS diff --git a/spec/build/bsps/optog.yml b/spec/build/bsps/optog.yml index d08bd7b2b2..2eab2acdd1 100644 --- a/spec/build/bsps/optog.yml +++ b/spec/build/bsps/optog.yml @@ -3,8 +3,6 @@ actions: - get-string: null - split: null - env-assign: null -- env-append: CFLAGS -- env-append: CXXFLAGS build-type: option copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) @@ -15,7 +13,7 @@ default: - -ffunction-sections default-by-variant: [] description: | - Optimization flags passed to the C and C++ compiler + Default optimization flags for C and C++ compilers. enabled-by: true links: [] name: OPTIMIZATION_FLAGS diff --git a/spec/build/bsps/optos.yml b/spec/build/bsps/optos.yml index df9e0efd02..1c2c106064 100644 --- a/spec/build/bsps/optos.yml +++ b/spec/build/bsps/optos.yml @@ -3,8 +3,6 @@ actions: - get-string: null - split: null - env-assign: null -- env-append: CFLAGS -- env-append: CXXFLAGS build-type: option copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) @@ -15,7 +13,7 @@ default: - -ffunction-sections default-by-variant: [] description: | - Optimization flags passed to the C and C++ compiler + Default optimization flags for C and C++ compilers. enabled-by: true links: [] name: OPTIMIZATION_FLAGS diff --git a/spec/build/bsps/opttestoptflags.yml b/spec/build/bsps/opttestoptflags.yml new file mode 100644 index 0000000000..43e0c92c07 --- /dev/null +++ b/spec/build/bsps/opttestoptflags.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-string: null +- substitute: null +- split: null +- env-assign: null +build-type: option +copyrights: +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) +default: ${OPTIMIZATION_FLAGS} +default-by-variant: [] +description: | + Optimization flags passed to C and C++ compiler for tests. +enabled-by: true +format: '{}' +links: [] +name: TEST_OPTIMIZATION_FLAGS +type: build diff --git a/spec/build/cpukit/grp.yml b/spec/build/cpukit/grp.yml index 24aa2f0634..ec9cab2167 100644 --- a/spec/build/cpukit/grp.yml +++ b/spec/build/cpukit/grp.yml @@ -1,10 +1,12 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause build-type: group -cflags: [] +cflags: +- ${CPUKIT_OPTIMIZATION_FLAGS} copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) cppflags: [] -cxxflags: [] +cxxflags: +- ${CPUKIT_OPTIMIZATION_FLAGS} enabled-by: true includes: [] install: [] diff --git a/spec/build/testsuites/grp.yml b/spec/build/testsuites/grp.yml index 82c7b87f2e..18c8ccd4d8 100644 --- a/spec/build/testsuites/grp.yml +++ b/spec/build/testsuites/grp.yml @@ -1,10 +1,12 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause build-type: group -cflags: [] +cflags: +- ${TEST_OPTIMIZATION_FLAGS} copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) cppflags: [] -cxxflags: [] +cxxflags: +- ${TEST_OPTIMIZATION_FLAGS} enabled-by: true includes: - ${BSP_INCLUDES} diff --git a/wscript b/wscript index 9894dcd7fd..4071cc9ef8 100755 --- a/wscript +++ b/wscript @@ -625,7 +625,7 @@ class BSPItem(Item): + bld.env.BSP_INCLUDES + self.substitute(bld, self.data["includes"]), self.substitute(bld, self.data["cppflags"]), - self.substitute(bld, self.data["cflags"]), + bld.env.BSP_CFLAGS + self.substitute(bld, self.data["cflags"]), [], [], [],