aboutsummaryrefslogtreecommitdiff
path: root/config/comp_libs
diff options
context:
space:
mode:
authorJoakim Nohlgård <joakim@nohlgard.se>2022-11-30 01:09:14 +0100
committerChris Packham <judge.packham@gmail.com>2023-03-08 16:54:12 +1300
commit1a362b560768453ac2745abf7a889e7fc423f3da (patch)
tree19f7c3fb7f3130f5214cbd03252087f3b0f47b66 /config/comp_libs
parent9e13e83068afbc3b93728fa4512d8c199617be03 (diff)
downloadcrosstool-ng-1a362b560768453ac2745abf7a889e7fc423f3da.tar.gz
crosstool-ng-1a362b560768453ac2745abf7a889e7fc423f3da.tar.bz2
crosstool-ng-1a362b560768453ac2745abf7a889e7fc423f3da.zip
picolibc: Add configuration to select picolibc as the system libc
This moves the picolibc configuration values under C-library -> picolibc so that they will be more easily discovered. Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
Diffstat (limited to 'config/comp_libs')
-rw-r--r--config/comp_libs/picolibc.in128
1 files changed, 14 insertions, 114 deletions
diff --git a/config/comp_libs/picolibc.in b/config/comp_libs/picolibc.in
index 99f0e452..4b283aec 100644
--- a/config/comp_libs/picolibc.in
+++ b/config/comp_libs/picolibc.in
@@ -1,6 +1,9 @@
-# picolibc options
+# picolibc companion library options
+## no-package
## depends on BARE_METAL && CONFIGURE_has_meson && CONFIGURE_has_ninja
+## depends on !LIBC_PICOLIBC
+## select LIBC_PICOLIBC_SHOW
## help This option adds Picolibc to an existing configuration which may have
## help a C library, allowing you to install both and select between them
@@ -9,124 +12,21 @@
## help Picolibc is a C library intended for use on embedded systems. It is a
## help conglomeration of several library parts, all under BSD-compatible software
## help licenses that make them easily usable on embedded products.
+## help
+## help Configuration for picolibc can be found under:
+## help -> C-library
+## help -> picolibc
config LIBC_PICOLIBC_GCC_LIBSTDCXX
bool
- prompt "Compile libstdc++ picolibc variant"
+ prompt "Compile companion libstdc++ picolibc variant"
default y
depends on CC_LANG_CXX
help
This option compiles an additional target libstdc++ for use with
- picolibc. This version is linked when "--specs=picolibcpp.specs"
- is specified.
+ the picolibc companion library. This version is linked when
+ "--specs=picolibcpp.specs" is specified.
-config LIBC_PICOLIBC_CXA_ATEXIT
- def_bool y
- select LIBC_PROVIDES_CXA_ATEXIT
-
-config LIBC_PICOLIBC_TARGET_CFLAGS
- string
- prompt "Target CFLAGS for picolibc"
- default ""
- help
- Used to add specific options when compiling the target libraries
- (eg. -ffunction-sections -fdata-sections), which can't be defined
- in global TARGET_CFLAGS, because they shall be not used for the
- gcc target libraries.
- Note: Both TARGET_CFLAGS and LIBC_PICOLIBC_TARGET_CFLAGS are used
- to compile the libraries.
-
- Leave blank if you don't know better.
-
-config LIBC_PICOLIBC_IO_C99FMT
- bool
- prompt "Enable IOs on C99 formats"
- default y
- help
- Enable support for IOs on C99 formats.
-
-config LIBC_PICOLIBC_REGISTER_FINI
- bool
- prompt "Enable finalization function registration using atexit"
- help
- Enable finalization function registration using atexit.
-
-config LIBC_PICOLIBC_ATEXIT_DYNAMIC_ALLOC
- bool
- prompt "Enable dynamic allocation of atexit entries"
- help
- Enable dynamic allocation of atexit entries.
-
-config LIBC_PICOLIBC_GLOBAL_ATEXIT
- bool
- prompt "Enable atexit data structure as global variable"
- help
- Enable atexit data structure as global variable, instead
- of being thread-local.
-
-config LIBC_PICOLIBC_LITE_EXIT
- bool
- prompt "Enable lite exit"
- default y
- help
- Enable lite exit, a size-reduced implementation of exit that doesn't
- invoke clean-up functions such as _fini or global destructors.
-
-config LIBC_PICOLIBC_MULTITHREAD
- bool
- prompt "Enable support for multiple threads"
- default y
- help
- Enable support for multiple threads.
-
-config LIBC_PICOLIBC_RETARGETABLE_LOCKING
- bool
- prompt "Enable retargetable locking"
- default y
- help
- Enable retargetable locking to allow the operating system to override
- the dummy lock functions defined within picolibc.
-
-config LIBC_PICOLIBC_EXTRA_SECTIONS
- bool
- prompt "Place each function & data element in their own section"
- help
- Place each function & data symbol in their own section. This allows
- the linker to garbage collect unused symbols at link time.
-
-config LIBC_PICOLIBC_ENABLE_TARGET_OPTSPACE
- bool
- prompt "Optimize picolibc for size"
- default y
- help
- Pass --enable-target-optspace to picolibc configure.
-
- This will compile picolibc with -Os.
-
-config LIBC_PICOLIBC_LTO
- bool
- prompt "Enable Link Time Optimization"
- depends on CC_GCC_USE_LTO
- help
- Builds the libraries with -flto to enable more aggressive link time
- optimization. You will need to add -flto-partition=one to your
- application's link line to keep the RETURN assembler macro together
- with it's consumers.
-
-config LIBC_PICOLIBC_NANO_MALLOC
- bool
- prompt "Enable Nano Malloc"
- default y
- help
- PICOLIBC has two implementations of malloc family's functions, one in
- `mallocr.c' and the other one in `nano-mallocr.c'. This options
- enables the nano-malloc implementation, which is for small systems
- with very limited memory. Note that this implementation does not
- support `--enable-malloc-debugging' any more.
-
-config LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY
- string
- prompt "Extra config for picolibc"
- default ""
- help
- Extra flags to pass to meson when configuring picolibc.
+comment "Configuration for picolibc can be found under"
+comment "* -> C-library"
+comment "* -> picolibc"