summaryrefslogtreecommitdiff
path: root/config/comp_libs
diff options
context:
space:
mode:
Diffstat (limited to 'config/comp_libs')
-rw-r--r--config/comp_libs/cloog.in1
-rw-r--r--config/comp_libs/expat.in1
-rw-r--r--config/comp_libs/gettext.in11
-rw-r--r--config/comp_libs/gmp.in1
-rw-r--r--config/comp_libs/gnuprumcu.in2
-rw-r--r--config/comp_libs/isl.in1
-rw-r--r--config/comp_libs/libelf.in1
-rw-r--r--config/comp_libs/libiconv.in1
-rw-r--r--config/comp_libs/mpc.in3
-rw-r--r--config/comp_libs/mpfr.in1
-rw-r--r--config/comp_libs/ncurses.in57
-rw-r--r--config/comp_libs/newlib-nano.in236
-rw-r--r--config/comp_libs/picolibc.in132
-rw-r--r--config/comp_libs/zlib.in1
14 files changed, 449 insertions, 0 deletions
diff --git a/config/comp_libs/cloog.in b/config/comp_libs/cloog.in
new file mode 100644
index 0000000..01318b4
--- /dev/null
+++ b/config/comp_libs/cloog.in
@@ -0,0 +1 @@
+# CLooG options
diff --git a/config/comp_libs/expat.in b/config/comp_libs/expat.in
new file mode 100644
index 0000000..c435757
--- /dev/null
+++ b/config/comp_libs/expat.in
@@ -0,0 +1 @@
+# expat config file
diff --git a/config/comp_libs/gettext.in b/config/comp_libs/gettext.in
new file mode 100644
index 0000000..85e4387
--- /dev/null
+++ b/config/comp_libs/gettext.in
@@ -0,0 +1,11 @@
+# gettext options
+
+config GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG
+ def_bool y
+ depends on GETTEXT_0_21_or_later
+
+if GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG
+comment "This version of gettext is not compatible with uClibc-NG. Select"
+comment "a different version if uClibc-NG is used on the target or (in a"
+comment "Canadian cross build) on the host."
+endif
diff --git a/config/comp_libs/gmp.in b/config/comp_libs/gmp.in
new file mode 100644
index 0000000..f49d1a7
--- /dev/null
+++ b/config/comp_libs/gmp.in
@@ -0,0 +1 @@
+# GMP options
diff --git a/config/comp_libs/gnuprumcu.in b/config/comp_libs/gnuprumcu.in
new file mode 100644
index 0000000..1ee9cfa
--- /dev/null
+++ b/config/comp_libs/gnuprumcu.in
@@ -0,0 +1,2 @@
+# gnuprumcu config file
+## depends on ARCH_PRU
diff --git a/config/comp_libs/isl.in b/config/comp_libs/isl.in
new file mode 100644
index 0000000..22b0cad
--- /dev/null
+++ b/config/comp_libs/isl.in
@@ -0,0 +1 @@
+# ISL options
diff --git a/config/comp_libs/libelf.in b/config/comp_libs/libelf.in
new file mode 100644
index 0000000..e1376c2
--- /dev/null
+++ b/config/comp_libs/libelf.in
@@ -0,0 +1 @@
+# libelf config file
diff --git a/config/comp_libs/libiconv.in b/config/comp_libs/libiconv.in
new file mode 100644
index 0000000..35cf1c4
--- /dev/null
+++ b/config/comp_libs/libiconv.in
@@ -0,0 +1 @@
+# libiconv options
diff --git a/config/comp_libs/mpc.in b/config/comp_libs/mpc.in
new file mode 100644
index 0000000..422935f
--- /dev/null
+++ b/config/comp_libs/mpc.in
@@ -0,0 +1,3 @@
+# MPC options
+# MPC 1.0.x and earlier break with MPFR 4.0.0.
+## select MPFR_REQUIRE_older_than_4_0_0 if MPFR_NEEDED && !MPC_1_1_0_or_later
diff --git a/config/comp_libs/mpfr.in b/config/comp_libs/mpfr.in
new file mode 100644
index 0000000..733d9ed
--- /dev/null
+++ b/config/comp_libs/mpfr.in
@@ -0,0 +1 @@
+# MPFR options
diff --git a/config/comp_libs/ncurses.in b/config/comp_libs/ncurses.in
new file mode 100644
index 0000000..4e7e6d4
--- /dev/null
+++ b/config/comp_libs/ncurses.in
@@ -0,0 +1,57 @@
+# ncurses config file
+
+config NCURSES_NEW_ABI
+ bool "ncurses 6.0 ABI support"
+ default y
+ help
+ This option allows you to use the new ncurses-6 ABI.
+ It's wise to leave this disabled and stick with the ncurses-5 ABI!
+
+config NCURSES_HOST_CONFIG_ARGS
+ string "Extra configure arguments for host ncurses"
+ help
+ Extra arguments that are passed verbatim to the configure when
+ building host ncurses.
+
+config NCURSES_HOST_DISABLE_DB
+ bool "Disable terminfo DB on the host"
+ default y
+ help
+ The terminfo database is not currently not installed on the host
+ as a part of the toolchain built by crosstool-ng. This means the
+ library will not be able to use the terminals, unless that database
+ comes preinstalled.
+
+ Selecting this option allows one to embed some popular terminal
+ definitions into the library itself.
+
+ If not select, the path to the terminfo database on the host will
+ likely need to be passed as an argument to configure.
+
+config NCURSES_HOST_FALLBACKS
+ string "List of fallback terminals for the host"
+ default "linux,xterm,xterm-color,xterm-256color,vt100"
+ help
+ List of terminal descriptions that will be compiled into the curses
+ library for the host.
+
+config NCURSES_TARGET_CONFIG_ARGS
+ string "Extra configure arguments for target ncurses"
+ help
+ Extra arguments that are passed verbatim to the configure when
+ building target ncurses.
+
+config NCURSES_TARGET_DISABLE_DB
+ bool "Disable terminfo DB on the target"
+ default n
+ help
+ The terminfo database is installed with the terminfo database for the
+ target. If you want to configure ncurses with preselected terminals,
+ select Y here.
+
+config NCURSES_TARGET_FALLBACKS
+ string "List of fallback terminals for the target"
+ help
+ List of terminal descriptions that will be compiled into the curses
+ library for the target.
+
diff --git a/config/comp_libs/newlib-nano.in b/config/comp_libs/newlib-nano.in
new file mode 100644
index 0000000..e7ef6f7
--- /dev/null
+++ b/config/comp_libs/newlib-nano.in
@@ -0,0 +1,236 @@
+# newlib-nano options
+
+## depends on BARE_METAL
+## select LIBC_PROVIDES_CXA_ATEXIT
+
+## help Newlib-nano is a C library intended for use on embedded systems. It is a
+## help conglomeration of several library parts, all under free software
+## help licenses that make them easily usable on embedded products. Newlib-nano
+## help is only available in source form. It can be compiled for a wide
+## help array of processors, and will usually work on any architecture with
+## help the addition of a few low-level routines.
+
+config NEWLIB_NANO_GCC_LIBSTDCXX
+ bool
+ prompt "Compile libstdc++ newlib-nano variant"
+ default y
+ depends on CC_LANG_CXX
+ help
+ This option compiles an additional target libstdc++ for use with
+ newlib-nano.
+
+config NEWLIB_NANO_GCC_LIBSTDCXX_TARGET_CXXFLAGS
+ string
+ prompt "Target CXXFLAGS for libstdc++ newlib-nano variant"
+ default "-fno-exceptions"
+ help
+ Used to add extra CXXFLAGS when compiling the target libstdc++
+ newlib-nano library (e.g. -fno-exceptions).
+
+config NEWLIB_NANO_INSTALL_IN_TARGET
+ bool
+ prompt "Additionally install newlib-nano libs into TARGET dir"
+ help
+ This option will install a copy of newlib-nano lib*.a file in the target
+ dir but renamed with a nano.a suffix (eg: libc_nano.a) as some default
+ nano.spec files from newlib expect this setup.
+
+ Additionally the newlib-nano version of newlib.h will get copied to
+ include/newlib-nano/newlib.h.
+
+config LIBC_NEWLIB_NANO_TARGET_CFLAGS
+ string
+ prompt "Target CFLAGS for newlib"
+ 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_NEWLIB_NANO_TARGET_CFLAGS are used
+ to compile the libraries.
+
+ Leave blank if you don't know better.
+
+config LIBC_NEWLIB_NANO_IO_C99FMT
+ bool
+ prompt "Enable IOs on C99 formats"
+ help
+ Enable support for IOs on C99 formats.
+
+config LIBC_NEWLIB_NANO_IO_LL
+ bool
+ prompt "Enable IOs on long long"
+ help
+ Enable support for IOs on long long integers.
+
+config LIBC_NEWLIB_NANO_IO_FLOAT
+ bool
+ prompt "Enable IOs on floats and doubles"
+ help
+ Enable support for IOs on floating point
+ values (float and double).
+
+config LIBC_NEWLIB_NANO_IO_LDBL
+ bool
+ prompt "Enable IOs on long doubles"
+ depends on LIBC_NEWLIB_NANO_IO_FLOAT
+ help
+ Enable support for IOs on long doubles.
+
+config LIBC_NEWLIB_NANO_IO_POS_ARGS
+ bool
+ prompt "Enable printf-family positional arg support"
+ help
+ Enable printf-family positional arg support.
+
+config LIBC_NEWLIB_NANO_FVWRITE_IN_STREAMIO
+ bool
+ prompt "Vector buffer mechanism to support stream IO buffering"
+ default y
+ help
+ NEWLIB implements the vector buffer mechanism to support stream IO
+ buffering required by C standard. This feature is possibly
+ unnecessary for embedded systems which won't change file buffering
+ with functions like `setbuf' or `setvbuf'. The buffering mechanism
+ still acts as default for STDIN/STDOUT/STDERR even if this option
+ is specified.
+
+config LIBC_NEWLIB_NANO_UNBUF_STREAM_OPT
+ bool
+ prompt "Optimize fprintf to unbuffered unix file"
+ help
+ NEWLIB does optimization when `fprintf to write only unbuffered unix
+ file'. It creates a temorary buffer to do the optimization that
+ increases stack consumption by about `BUFSIZ' bytes. Disabling this option
+ disables the optimization and saves size of text and stack.
+
+config LIBC_NEWLIB_NANO_FSEEK_OPTIMIZATION
+ bool
+ prompt "Fseek optimisation"
+ help
+ Disabling fseek optimisation can decrease code size.
+
+config LIBC_NEWLIB_NANO_DISABLE_SUPPLIED_SYSCALLS
+ bool
+ prompt "Disable the syscalls supplied with newlib"
+ help
+ Disable the syscalls that come with newlib. You
+ will have to implement your own _sbrk, _read,
+ _write... If you plan to port newlib to a new
+ platform/board, say Yes.
+
+config LIBC_NEWLIB_NANO_REGISTER_FINI
+ bool
+ prompt "Enable finalization function registration using atexit"
+ help
+ Enable finalization function registration using atexit.
+
+config LIBC_NEWLIB_NANO_ATEXIT_DYNAMIC_ALLOC
+ bool
+ prompt "Enable dynamic allocation of atexit entries"
+ default y
+ help
+ Enable dynamic allocation of atexit entries.
+
+config LIBC_NEWLIB_NANO_GLOBAL_ATEXIT
+ bool
+ prompt "Enable atexit data structure as global variable"
+ default y
+ help
+ Enable atexit data structure as global variable. By doing so it is
+ move out of _reent structure, and can be garbage collected if atexit
+ is not referenced.
+
+config LIBC_NEWLIB_NANO_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_NEWLIB_NANO_REENT_SMALL
+ bool
+ prompt "Enable small reentrant struct support"
+ default y
+ help
+ Enable small reentrant struct support.
+
+config LIBC_NEWLIB_NANO_MULTITHREAD
+ bool
+ prompt "Enable support for multiple threads"
+ default y
+ help
+ Enable support for multiple threads.
+
+config LIBC_NEWLIB_NANO_RETARGETABLE_LOCKING
+ bool
+ prompt "Enable retargetable locking"
+ help
+ Enable retargetable locking to allow the operating system to override
+ the dummy lock functions defined within the newlib.
+
+config LIBC_NEWLIB_NANO_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_NEWLIB_NANO_WIDE_ORIENT
+ bool
+ prompt "Allow wide C99 stream orientation"
+ default n
+ help
+ C99 states that each stream has an orientation, wide or byte. This
+ feature is possibly unnecessary for embedded systems which only do
+ byte input/output operations on stream. Disabling this feature can
+ decrease code size.
+
+config LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE
+ bool
+ prompt "Optimize newlib for size"
+ default y
+ help
+ Pass --enable-target-optspace to newlib configure.
+
+ This will compile newlib with -Os.
+
+config LIBC_NEWLIB_NANO_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_NEWLIB_NANO_NANO_MALLOC
+ bool
+ prompt "Enable Nano Malloc"
+ default y
+ help
+ NEWLIB 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_NEWLIB_NANO_NANO_FORMATTED_IO
+ bool
+ prompt "Enable Nano Formatted I/O"
+ default y
+ help
+ This builds NEWLIB with a special implementation of formatted I/O
+ functions, designed to lower the size of application on small systems
+ with size constraint issues. This option does not affect wide-char
+ formatted I/O functions.
+
+config LIBC_NEWLIB_NANO_EXTRA_CONFIG_ARRAY
+ string
+ prompt "Extra config for newlib"
+ default ""
+ help
+ Extra flags to pass onto ./configure when configuring the newlib.
diff --git a/config/comp_libs/picolibc.in b/config/comp_libs/picolibc.in
new file mode 100644
index 0000000..99f0e45
--- /dev/null
+++ b/config/comp_libs/picolibc.in
@@ -0,0 +1,132 @@
+# picolibc options
+
+## depends on BARE_METAL && CONFIGURE_has_meson && CONFIGURE_has_ninja
+
+## 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
+## help when compiling applications using the toolchain
+## help
+## 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.
+
+config LIBC_PICOLIBC_GCC_LIBSTDCXX
+ bool
+ prompt "Compile 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.
+
+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.
diff --git a/config/comp_libs/zlib.in b/config/comp_libs/zlib.in
new file mode 100644
index 0000000..3481166
--- /dev/null
+++ b/config/comp_libs/zlib.in
@@ -0,0 +1 @@
+# Zlib options