Commit Graph

1324 Commits

Author SHA1 Message Date
Thomas De Schampheleire
61c5e0319c package/pkg-cmake.mk: determine CMAKE_BUILD_TYPE depending on BR2_ENABLE_RUNTIME_DEBUG
The CMAKE_BUILD_TYPE is currently set as 'Debug' in case BR2_ENABLE_DEBUG is
set, and as 'Release' in other cases. However, while the description of
BR2_ENABLE_DEBUG is to enable debug symbols (no runtime impact), the 'Debug'
build type in CMake can actually have runtime impact. For one, because it
does not set -DNDEBUG like is done for 'Release', but also because packages
may do custom things based on it.

The question of which CMAKE_BUILD_TYPE Buildroot should set, be it 'Debug',
'Release', 'RelWithDebInfo' or others, has come up several times in the
past. See some references below:

- July 2016: switch from Debug to RelWithDebInfo:
  https://git.buildroot.org/buildroot/commit/?id=4b0120183404913f7f7788ef4f0f6b51498ef363

- October 2016: switch from RelWithDebInfo back to Debug:
  https://git.buildroot.org/buildroot/commit/?id=104bb29e0490bfb487e2e665448dd3ca07fcc2b5
  and changes to make sure Buildroot's flags are respected:
  https://git.buildroot.org/buildroot/commit/?id=12494ef48f893684d0800e7f6fe39a2ceaed0451

- August 2017: bug #10246 - "BR2_ENABLE_DEBUG does not have the expected
  effect for cmake packages"
  https://bugs.busybox.net/show_bug.cgi?id=10246

- August 2017: mail thread following bug #10246:
  http://lists.busybox.net/pipermail/buildroot/2017-August/200778.html

In the last mail thread, Samuel Martin confirmed that the 'Release' build
type could be used in all cases, because Buildroot is actually making sure
that the optimization flags are those determined by Buildroot, not the
defaults of cmake, thanks to commit 12494ef48f.
But Arnout Vandecappelle objected to using always 'Release', stating that
users may actually want the extra assertions.

With the introduction of BR2_ENABLE_RUNTIME_DEBUG, Buildroot can now cater
for all cases:

- use CMAKE_BUILD_TYPE=Release by default. This makes sure that there is no
  unexpected performance degradation triggered by enabling BR2_ENABLE_DEBUG.

- users can optionally enable BR2_ENABLE_RUNTIME_DEBUG if they want runtime
  debug info like assertions, at the risk of introducing performance
  degradation. In this case, we switch to CMAKE_BUILD_TYPE=Debug.

- orthogonally to the above, BR2_ENABLE_DEBUG still determines passing the
  '-g' flag to enable debug symbols, and BR2_OPTIMIZE_X still determines the
  used optimization flags.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-06-01 22:39:28 +02:00
Peter Korsgaard
afe19e6ced Update for 2021.05-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-05-12 10:49:31 +02:00
Thomas Petazzoni
efdcd651bf package/Makefile.in: expose CONFIG_DIR to post-build/post-image scripts
Sometimes, post-build or post-image scripts need to reinvoke
Buildroot's make, for example to execute "make printvars".

However, so far post-build/image/fakeroot can't trivially run printvars
in a way that worked for both in-tree and out-of-tree builds. Indeed:

 * "make printvars" would work for in-tree builds, but not out of tree
   builds

 * "make -C ${O} printvars" would work for out-of-tree builds, but not
   in-tree builds

 * "make -C ${BR2_CONFIG%/*} printvars" works in both cases, but it is
   a bit cryptic, and two maintainers did not even immediately think of
   it

In order to solve this, this commit exposes $(CONFIG_DIR) to
post-build/image/fakeroot scripts, through the EXTRA_ENV variable.

The documentation is updated accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[yann.morin.1998@free.fr:
  - reference BR2_CONFIG as an exemple
  - slightly reword the commit log accordingly
  - move the doc for CONFIG_DIR next to that of BR2_CONFIG
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-06 22:58:54 +02:00
Peter Korsgaard
168bb8c336 docs/website: update for 2021.02.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-04-07 13:37:12 +02:00
Peter Korsgaard
6b595091c7 docs/website: update for 2020.02.12
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-04-05 14:03:54 +02:00
Peter Korsgaard
cb81c441e3 docs/website: update for 2020.11.4
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-04-05 12:16:27 +02:00
Thomas Petazzoni
1e12cc90a7 docs/manual: add documentation for the gitlab macro
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-03-28 22:44:57 +02:00
Thomas Petazzoni
b7cd17eb09 docs/manual: improve details about the Github macro
The Github macro example shows something that is now considered
incorrect: using v1.0 as the VERSION. This is not longer recommended
as it prevents from matching with release-monitoring.org details.

Let's update the example, and add a note to explain this in more
details.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-03-28 22:44:57 +02:00
Thomas Petazzoni
5568837997 docs/website: adjust link to Buildroot training course
The previous course has ended, announce the next one.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-03-12 22:04:21 +01:00
Peter Korsgaard
a3a9d17e43 docs/website/news.html: add 2021.02 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-03-07 13:01:02 +01:00
Peter Korsgaard
e2fba6457b Update for 2021.02
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-03-06 22:16:45 +01:00
Yann E. MORIN
2770ccf471 docs/manual: do not expose CPE_ID_VALID as package-settable
FOO_CPE_ID_VALID is an internal implementation detail. Packages should
really define an actual CPE_ID variable to trigger their full CPE_ID
definition.

Reported-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Matthew Weber <matthew.weber@rockwellcollins.com>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Peter: completely drop any mention of _CPE_ID_VALID in the manual]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-03-06 17:05:59 +01:00
Peter Korsgaard
4c5b27fbef Update for 2021.02-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-02-27 18:34:56 +01:00
Peter Korsgaard
d8447af9d8 docs/website: update for 2020.02.11
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-02-17 21:04:31 +01:00
Peter Korsgaard
b284c1a4f3 docs/website: update for 2020.11.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-02-17 19:44:35 +01:00
Peter Korsgaard
21eb777551 Update for 2021.02-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-02-17 17:50:51 +01:00
Thomas Petazzoni
6593eb22f3 docs/website: mention Bootlin Buildroot training courses
Our documentation page already mentions the open-source and freely
available training materials from Bootlin on Buildroot.

It turns out that we now have online training courses accessible to
public registration, which makes them accessible to a wider
audience. It probably makes sense to mention them alongside the
training materials.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-02-12 22:15:05 +01:00
Peter Korsgaard
92237c45c5 Update for 2021.02-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-02-09 22:55:10 +01:00
Fabrice Fontaine
f7922a57f5 Replace LIBFOO_CPE_ID_VERSION_MINOR by LIBFOO_CPE_ID_UPDATE
Replace LIBFOO_CPE_ID_VERSION_MINOR by LIBFOO_CPE_ID_UPDATE to better
"comply" with the official "Well-Formed CPE Name Data Model" parameters:
 - https://csrc.nist.gov/publications/detail/nistir/7695/final
 - https://nvlpubs.nist.gov/nistpubs/Legacy/IR/nistir7695.pdf

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-31 23:21:38 +01:00
Peter Korsgaard
9ce5314f5b docs/website: update for 2020.02.10
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-01-31 22:50:57 +01:00
Peter Korsgaard
19a3ae79fe docs/website: update for 2020.11.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-01-31 22:47:02 +01:00
Fabrice Fontaine
d90cee6d11 Revert "docs/manual: replace LIBFOO_CPE_ID_PRODUCT"
This reverts commit ff13cb9414.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-21 22:42:01 +01:00
Peter Seiderer
93daabcfbd docs/manual/pkg-cmake.txt: add _INSTALL_OPTS description
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-18 22:33:07 +01:00
Peter Seiderer
0c80a0da9a docs/manual/pkg-cmake.txt: fix _INSTALL_STAGING_OPTS/_INSTALL_TARGET_OPTS description
Since commit dfcc18f84b cmake-package
_INSTALL_STAGING_OPTS/_INSTALL_TARGET_OPTS use 'install/fast'
instead of 'install', adjust documentation accordingly.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-18 22:33:03 +01:00
Fabrice Fontaine
ff13cb9414 docs/manual: replace LIBFOO_CPE_ID_PRODUCT
Replace LIBFOO_CPE_ID_PRODUCT by LIBFOO_CPE_ID_NAME

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-11 21:37:18 +01:00
Konrad Schwarz
7197b1bc44 package/environment-setup: fix spelling of the script file in the manual.
The manual incorrectly refers to the script file as `setup-environment';
it is actually called `environment-setup'.

Signed-off-by: Konrad Schwarz <konrad.schwarz@siemens.com>
Reviewed-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-01-07 23:09:47 +01:00
Peter Korsgaard
1a78af4d10 docs/website: update for 2020.02.9
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-12-27 18:24:10 +01:00
Peter Korsgaard
e80f28a35b docs/website: update for 2020.08.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-12-27 17:11:17 +01:00
Peter Korsgaard
acc73e592d docs/website: update for 2020.11.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-12-27 16:10:26 +01:00
Angelo Compagnucci
39d334faa5 package/pkg-qmake: add <pkg>_SYNC_QT_HEADERS support
Some qmake based packages need to call the syncqt.pl script before
building to have a properly populated "include" directory inside the
package build tree.

This script is normally automatically executed by qmake when a source
tree is from a git clone: buildroot purges the .git directory hence
the script never runs, and we need to call it explicitly. Setting
<pkg>_SYNC_QT_HEADERS = YES will force calling this script.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-12-05 22:48:47 +01:00
Peter Korsgaard
6eff339082 Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-12-03 10:30:49 +01:00
Peter Korsgaard
cf9cea1934 docs/website/news.html: add 2020.11 announcement link
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-12-02 23:45:57 +01:00
Peter Korsgaard
9624a001f9 Update for 2020.11
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-12-02 23:21:32 +01:00
Peter Korsgaard
a418d0ac51 Update for 2020.11-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-11-28 11:10:01 +01:00
Thomas Petazzoni
db24c08bea docs/manual: document <pkg>_CPE_ID variables
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Matt Weber <matthew.weber@rockwellcollins.com>
Reviewed-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-11-26 16:35:18 +01:00
Peter Korsgaard
9bbb6efc81 docs/website: update for 2020.02.8
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-11-17 09:07:28 +01:00
Peter Korsgaard
e2f77f00af docs/website: update for 2020.08.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-11-16 23:46:25 +01:00
Peter Korsgaard
6a33ea03b4 Update for 2020.11-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-11-14 14:51:08 +01:00
Thomas Petazzoni
9b9d3dedbb docs/manual: add some minimal documentation about show-info and pkg-stats
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-11-11 12:09:41 +01:00
Peter Korsgaard
5b79a9cc47 Update for 2020.11-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-11-04 23:29:24 +01:00
Angelo Compagnucci
26cb4e72e1 package/environment-setup: add configure alias
In order to simplify the usage of a buildroot toolchain within
the buildroot shell, a "configure" alias is provided to call
./configure with the correct flags.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-11-03 22:40:53 +01:00
Angelo Compagnucci
f56a715e3c package/environment-setup: new package
Install an helper script to setup a build environment based on
Buildroot. It's useful when a developer wants to use a Buildroot
generated SDK to build an external project.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Tested-by: Michael Trimarchi <michael@amarulasolutions.com>
Tested-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Maury Anderson <maury.anderson@collins.com>
Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-11-03 22:28:17 +01:00
Brandon Maier
03dfc6acf6 docs/manual: add section about br2-external init
Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
[yann.morin.1998@free.fr:
  - move before skeletons
  - select the custom 'mine' skeleton, not the sysv one
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-10-14 23:04:33 +02:00
Brandon Maier
c71dbcf34a docs/manual: add section about br2-external skeleton
Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
[yann.morin.1998@free.fr:
  - alphabetical order (skeleton before toolchain)
  - leave the list of choices 'open'
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-10-14 22:35:31 +02:00
Peter Korsgaard
6a055f08e8 docs/website: update for 2020.02.7
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-10-13 00:00:26 +02:00
Peter Korsgaard
6e40f0000f docs/website: update for 2020.05.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-10-12 23:09:40 +02:00
Peter Korsgaard
3345caa907 docs/website: update for 2020.08.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-10-12 16:04:37 +02:00
Brandon Maier
76ed69499d docs/manual: Add section about contributing to maintenance branches
Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
[yann.morin.1998@free.fr:
  - s/release branch/maintenance branch/
  - extend the master-then-backport section
  - slight eye-candy on the rest
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-09-09 00:38:41 +02:00
Peter Korsgaard
666503c7de docs/website: update for 2020.02.6
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-09-05 21:35:11 +02:00
Antoine Tenart
c38c1cde0d docs/manual: add a section about SELinux
Add documentation about how to use SELinux in Buildroot, and what are
the available mechanisms to extend and customize the SELinux policy.

Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
[Thomas: misc improvements.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-09-04 14:47:29 +02:00