diff options
Diffstat (limited to 'config/comp_libs')
-rw-r--r-- | config/comp_libs/cloog.in | 1 | ||||
-rw-r--r-- | config/comp_libs/expat.in | 1 | ||||
-rw-r--r-- | config/comp_libs/gettext.in | 11 | ||||
-rw-r--r-- | config/comp_libs/gmp.in | 1 | ||||
-rw-r--r-- | config/comp_libs/gnuprumcu.in | 2 | ||||
-rw-r--r-- | config/comp_libs/isl.in | 1 | ||||
-rw-r--r-- | config/comp_libs/libelf.in | 1 | ||||
-rw-r--r-- | config/comp_libs/libiconv.in | 1 | ||||
-rw-r--r-- | config/comp_libs/mpc.in | 3 | ||||
-rw-r--r-- | config/comp_libs/mpfr.in | 1 | ||||
-rw-r--r-- | config/comp_libs/ncurses.in | 57 | ||||
-rw-r--r-- | config/comp_libs/newlib-nano.in | 236 | ||||
-rw-r--r-- | config/comp_libs/picolibc.in | 132 | ||||
-rw-r--r-- | config/comp_libs/zlib.in | 1 |
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 |