James Hilliard 5b0094c105 package/pkg-cargo: configure cargo profiles
pkg-cargo currently sets the --release flag unless BR2_ENABLE_DEBUG is
set. However, this does not accurately reflect the configured build
settings. In addition, it only works for packages that use the cargo
infrastructure directory and not with packages using the cargo
environment indirectly, such as pyo3 based python packages. To support
these, we really want to pass the necessary flags in PKG_CARGO_ENV.

In order to accurately reflect the configured build settings
(optimization and debug levels), we set the appropriate environment
variables according to the global settings.

There is no way to specify the profile to use through an environment
variable, it has to be set through a cargo flag like --release. Since we
can't easily control the profile flags used by non-cargo package
infrastructures, we instead set the env variables for both root profiles
(dev/release). For the aspects that are not affected by the global
settings (incremental, codegen-units, split-debuginfo), we set them
equal to the default for release - which in our context is the
appropriate choice even when BR2_ENABLE_DEBUG is set.

For reference the default cargo root profile settings are:
https://doc.rust-lang.org/cargo/reference/profiles.html#default-profiles

Cc: Moritz Bitsch <moritz@h6t.eu>
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Tested-by: Moritz Bitsch <moritz@h6t.eu>
Tested-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Reviewed-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-02-06 15:35:04 +01:00
2024-01-15 21:01:07 +01:00
2023-12-04 15:25:25 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches
Description
No description provided
Readme 207 MiB
Languages
Makefile 62.5%
Python 19%
C 8.5%
Shell 6.1%
PHP 1.4%
Other 2.1%