diff options
Diffstat (limited to 'extra/Configs/Config.in')
-rw-r--r-- | extra/Configs/Config.in | 2181 |
1 files changed, 2181 insertions, 0 deletions
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in new file mode 100644 index 000000000..a3f191059 --- /dev/null +++ b/extra/Configs/Config.in @@ -0,0 +1,2181 @@ +# +# For a description of the syntax of this configuration file, +# see extra/config/Kconfig-language.txt +# + +mainmenu "uClibc C Library Configuration" + +choice + prompt "Target Architecture" + help + The architecture of your target. + +config TARGET_alpha + bool "alpha" + +config TARGET_arm + bool "arm" + +config TARGET_avr32 + bool "avr32" + +config TARGET_bfin + bool "bfin" + +config TARGET_cris + bool "cris" + +config TARGET_e1 + bool "e1 (BROKEN)" + +config TARGET_frv + bool "frv (BROKEN)" + +config TARGET_h8300 + bool "h8300 (BROKEN)" + +config TARGET_hppa + bool "hppa" + +config TARGET_i386 + bool "i386" + +config TARGET_i960 + bool "i960 (BROKEN)" + +config TARGET_ia64 + bool "ia64" + +config TARGET_m68k + bool "m68k" + +config TARGET_microblaze + bool "microblaze (BROKEN)" + +config TARGET_mips + bool "mips" + +config TARGET_nios + bool "nios" + +config TARGET_nios2 + bool "nios2" + +config TARGET_powerpc + bool "powerpc" + +config TARGET_sh + bool "superh" + +config TARGET_sh64 + bool "sh64" + +config TARGET_sparc + bool "sparc" + +config TARGET_v850 + bool "v850 (BROKEN)" + +config TARGET_vax + bool "vax" + +config TARGET_x86_64 + bool "x86_64" + +config TARGET_xtensa + bool "xtensa" + +endchoice + + +menu "Target Architecture Features and Options" + +if TARGET_alpha +source "extra/Configs/Config.alpha" +endif + +if TARGET_arm +source "extra/Configs/Config.arm" +endif + +if TARGET_avr32 +source "extra/Configs/Config.avr32" +endif + +if TARGET_bfin +source "extra/Configs/Config.bfin" +endif + +if TARGET_cris +source "extra/Configs/Config.cris" +endif + +if TARGET_e1 +source "extra/Configs/Config.e1" +endif + +if TARGET_frv +source "extra/Configs/Config.frv" +endif + +if TARGET_h8300 +source "extra/Configs/Config.h8300" +endif + +if TARGET_hppa +source "extra/Configs/Config.hppa" +endif + +if TARGET_i386 +source "extra/Configs/Config.i386" +endif + +if TARGET_i960 +source "extra/Configs/Config.i960" +endif + +if TARGET_ia64 +source "extra/Configs/Config.ia64" +endif + +if TARGET_m68k +source "extra/Configs/Config.m68k" +endif + +if TARGET_nios +source "extra/Configs/Config.nios" +endif + +if TARGET_nios2 +source "extra/Configs/Config.nios2" +endif + +if TARGET_microblaze +source "extra/Configs/Config.microblaze" +endif + +if TARGET_mips +source "extra/Configs/Config.mips" +endif + +if TARGET_powerpc +source "extra/Configs/Config.powerpc" +endif + +if TARGET_sh +source "extra/Configs/Config.sh" +endif + +if TARGET_sh64 +source "extra/Configs/Config.sh64" +endif + +if TARGET_sparc +source "extra/Configs/Config.sparc" +endif + +if TARGET_v850 +source "extra/Configs/Config.v850" +endif + +if TARGET_vax +source "extra/Configs/Config.vax" +endif + +if TARGET_x86_64 +source "extra/Configs/Config.x86_64" +endif + +if TARGET_xtensa +source "extra/Configs/Config.xtensa" +endif + +config TARGET_SUBARCH + string + default "e500" if CONFIG_E500 + default "classic" if CONFIG_CLASSIC + default "sh4" if CONFIG_SH4 + default "" + +source "extra/Configs/Config.in.arch" + +endmenu + +menu "General Library Settings" + +config HAVE_NO_PIC + bool + default n + +config DOPIC + bool "Generate only Position Independent Code (PIC)" + default y + depends on !HAVE_NO_PIC + help + If you wish to build all of uClibc as PIC objects, then answer Y here. + If you are unsure, then you should answer N. + +config ARCH_HAS_NO_SHARED + bool + default n + +config ARCH_HAS_NO_LDSO + bool + select ARCH_HAS_NO_SHARED + default n + +config HAVE_SHARED + bool "Enable support for shared libraries" + depends on !ARCH_HAS_NO_SHARED + default y + help + If you wish to build uClibc with support for shared libraries then + answer Y here. If you only want to build uClibc as a static library, + then answer N. + +config FORCE_SHAREABLE_TEXT_SEGMENTS + bool "Only load shared libraries which can share their text segment" + depends on HAVE_SHARED + default n + help + If you answer Y here, the uClibc native shared library loader will + only load shared libraries, which do not need to modify any + non-writable segments. These libraries haven't set the DT_TEXTREL + tag in the dynamic section (==> objdump). + All your libraries must be compiled with -fPIC or -fpic, and all + assembler function must be written as position independent code (PIC). + Enabling this option will make uClibc's shared library loader a + little bit smaller and guarantee that no memory will be wasted by + badly coded shared libraries. + +config LDSO_LDD_SUPPORT + bool "Native 'ldd' support" + depends on HAVE_SHARED + default y + help + Enable this to enable all the code needed to support traditional ldd, + which executes the shared library loader to resolve all dependencies + and then provide a list of shared libraries that are required for an + application to function. Disabling this option will makes uClibc's + shared library loader a little bit smaller. + Most people will answer Y. + +config LDSO_CACHE_SUPPORT + bool "Enable library loader cache (ld.so.conf)" + depends on HAVE_SHARED + default y + help + Enable this to make use of /etc/ld.so.conf, the shared library loader + cache configuration file to support for non-standard library paths. + After updating this file, it is necessary to run 'ldconfig' to update + the /etc/ld.so.cache shared library loader cache file. + +config LDSO_PRELOAD_FILE_SUPPORT + bool "Enable library loader preload file (ld.so.preload)" + depends on HAVE_SHARED + default n + help + Enable this to make use of /etc/ld.so.preload. This file contains a + whitespace separated list of shared libraries to be loaded before + the program. + +config LDSO_BASE_FILENAME + string "Shared library loader naming prefix" + depends on HAVE_SHARED && (LDSO_CACHE_SUPPORT || LDSO_PRELOAD_FILE_SUPPORT) + default "ld.so" + help + If you wish to support both uClibc and glibc on the same system, it + is necessary to set this to something other than "ld.so" to avoid + conflicts with glibc, which also uses "ld.so". This prevents both + libraries from using the same /etc/ld.so.* files. If you wish to + support both uClibc and glibc on the same system then you should set + this to "ld-uClibc.so". + + Most people will leave this set to the default of "ld.so". + + WARNING: Changing the default prefix could cause problems with + binutils' ld ! + +config UCLIBC_STATIC_LDCONFIG + bool "Link ldconfig statically" + depends on HAVE_SHARED + default y + help + Enable this option to statically link the ldconfig binary. + + Making ldconfig static can be beneficial if you have a library + problem and need to use ldconfig to recover. Sometimes, it is + preferable to instead keep the size of the system down, in which + case you should disable this option. + +config LDSO_RUNPATH + bool "Enable ELF RUNPATH tag support" + depends on HAVE_SHARED + default y + help + ELF's may have dynamic RPATH/RUNPATH tags. These tags list paths + which extend the library search paths. They are really only useful + if a package installs libraries in non standard locations and + ld.so.conf support is disabled. + + Usage of RUNPATH tags is not too common, so disabling this feature + should be safe for most people. + +config UCLIBC_CTOR_DTOR + bool "Support global constructors and destructors" + default y + help + If you wish to build uClibc with support for global constructor + (ctor) and global destructor (dtor) support, then answer Y here. + When ctor/dtor support is enabled, binaries linked with uClibc must + also be linked with crtbegin.o and crtend.o which are provided by gcc + (the "*startfile:" and "*endfile:" settings in your gcc specs file + may need to be adjusted to include these files). This support will + also add a small amount of additional size to each binary compiled vs + uClibc. If you will be using uClibc with C++, or if you need the gcc + __attribute__((constructor)) and __attribute__((destructor)) to work, + then you definitely want to answer Y here. If you don't need ctors + or dtors and want your binaries to be as small as possible, then + answer N. + +config LDSO_GNU_HASH_SUPPORT + bool "Enable GNU hash style support" + depends on HAVE_SHARED + default n + help + Newest binutils support a new hash style named GNU-hash. The dynamic + linker will use the new GNU-hash section (.gnu.hash) for symbol lookup + if present into the ELF binaries, otherwise it will use the old SysV + hash style (.hash). This ensures that it is completely backward + compatible. + Further, being the hash table implementation self-contained into each + executable and shared libraries, objects with mixed hash style can + peacefully coexist in the same process. + + If you want to use this new feature, answer Y + +config HAS_NO_THREADS + bool + default n + +config UCLIBC_HAS_THREADS + bool "POSIX Threading support" + depends on !HAS_NO_THREADS + default y + # linuxthreads and linuxthreads.old need nanosleep() + select UCLIBC_HAS_REALTIME + help + If you want to compile uClibc with pthread support, then answer Y. + This will increase the size of uClibc by adding a bunch of locking + to critical data structures, and adding extra code to ensure that + functions are properly reentrant. + + If your applications require pthreads, answer Y. + +config UCLIBC_HAS_TLS + bool "Thread-Local Storage" + depends on UCLIBC_HAS_THREADS && !LINUXTHREADS_OLD + default n + help + If you want to enable TLS support then answer Y. + This is fast an efficient way to store per-thread local data + which is not on stack. It needs __thread support enabled in + gcc. + +config PTHREADS_DEBUG_SUPPORT + bool "Build pthreads debugging support" + default n + depends on UCLIBC_HAS_THREADS + help + Say Y here if you wish to be able to debug applications that use + uClibc's pthreads library. By enabling this option, a library + named libthread_db will be built. This library will be dlopen()'d + by gdb and will allow gdb to debug the threads in your application. + + IMPORTANT NOTE! Because gdb must dlopen() the libthread_db library, + you must compile gdb with uClibc in order for pthread debugging to + work properly. + + If you are doing development and want to debug applications using + uClibc's pthread library, answer Y. Otherwise, answer N. + +config LINUXTHREADS_OLD + bool "Use the older (stable) version of linuxthreads" + default y + depends on UCLIBC_HAS_THREADS && !UCLIBC_HAS_THREADS_NATIVE + help + There are two versions of linuxthreads. The older (stable) version + has been in uClibc for quite a long time but hasn't seen too many + updates other than bugfixes. + + The new version has not been tested much, and lacks ports for arches + which glibc does not support (like bfin/frv/etc...), but is based on + the latest code from glibc, so it may be the only choice for the + newer ports (like alpha/amd64/64bit arches and hppa). + +config UCLIBC_HAS_THREADS_NATIVE + bool "Native POSIX Threading (NPTL) Support" + depends on UCLIBC_HAS_THREADS + default n + select UCLIBC_HAS_TLS + help + If you want to compile uClibc with NPTL support, then answer Y. + + IMPORTANT NOTE! NPTL requires a Linux 2.6 kernel, binutils + at least version 2.16 and GCC with at least version 4.1.0. NPTL + will not work with older versions of any above sources. If you + ignore any of these guidelines, you do so at your own risk. Do + not ask for help on any of the development mailing lists. + + !!!! WARNING !!!! BIG FAT WARNING !!!! REALLY BIG FAT WARNING !!!! + + This is experimental code and at times it may not even build and + even if it does it might decide to do random damage. This code is + potentially hazardous to your health and sanity. It will remain + that way until further notice at which point this notice will + disappear. Thank you for your support and for not smoking. + +config LINUXTHREADS_NEW + def_bool y + depends on UCLIBC_HAS_THREADS && !LINUXTHREADS_OLD && !UCLIBC_HAS_THREADS_NATIVE + +config UCLIBC_HAS_SYSLOG + bool "Syslog support" + default y + depends on UCLIBC_HAS_NETWORK_SUPPORT + select UCLIBC_HAS_SOCKET + help + Support sending messages to the system logger. + This requires socket-support. + +config UCLIBC_HAS_LFS + bool "Large File Support" + default y + help + If you wish to build uClibc with support for accessing large files + (i.e. files greater then 2 GiB) then answer Y. Do not enable this + if you are using an older Linux kernel (2.0.x) that lacks large file + support. Enabling this option will increase the size of uClibc. + +choice + prompt "Malloc Implementation" + default MALLOC if ! ARCH_USE_MMU + default MALLOC_STANDARD if ARCH_USE_MMU + +config MALLOC + bool "malloc" + help + "malloc" use mmap for all allocations and so works very well on + MMU-less systems that do not support the brk() system call. It is + pretty smart about reusing already allocated memory, and minimizing + memory wastage. + This is the default for uClinux MMU-less systems. + +config MALLOC_SIMPLE + bool "malloc-simple" + help + "malloc-simple" is trivially simple and slow as molasses. It + was written from scratch for uClibc, and is the simplest possible + (and therefore smallest) malloc implementation. + + This uses only the mmap() system call to allocate and free memory, + and does not use the brk() system call at all, making it a fine + choice for MMU-less systems with very limited memory. It's 100% + standards compliant, thread safe, very small, and releases freed + memory back to the OS immediately rather than keeping it in the + process's heap for reallocation. It is also VERY SLOW. + +config MALLOC_STANDARD + bool "malloc-standard" + depends on ARCH_USE_MMU + help + "malloc-standard" is derived from the public domain dlmalloc + implementation by Doug Lea. It is quite fast, and is pretty smart + about reusing already allocated memory, and minimizing memory + wastage. This uses brk() for small allocations, while using mmap() + for larger allocations. This is the default malloc implementation + for uClibc. + + If unsure, answer "malloc-standard". + +endchoice + +config MALLOC_GLIBC_COMPAT + bool "Malloc returns live pointer for malloc(0)" + default n + help + The behavior of malloc(0) is listed as implementation-defined by + SuSv3. Glibc returns a valid pointer to something, while uClibc + normally returns NULL. I personally feel glibc's behavior is + not particularly safe, and allows buggy applications to hide very + serious problems. + + When this option is enabled, uClibc will act just like glibc, and + return a live pointer when someone calls malloc(0). This pointer + provides a malloc'ed area with a size of 1 byte. This feature is + mostly useful when dealing with applications using autoconf's broken + AC_FUNC_MALLOC macro (which redefines malloc as rpl_malloc if it + does not detect glibc style returning-a-valid-pointer-for-malloc(0) + behavior). Most people can safely answer N. + +config UCLIBC_DYNAMIC_ATEXIT + bool "Dynamic atexit() Support" + default y + help + When this option is enabled, uClibc will support an infinite number, + of atexit() and on_exit() functions, limited only by your available + memory. This can be important when uClibc is used with C++, since + global destructors are implemented via atexit(), and it is quite + possible to exceed the default number when this option is disabled. + Enabling this option adds a few bytes, and more significantly makes + atexit and on_exit depend on malloc, which can be bad when compiling + static executables. + + Unless you use uClibc with C++, you should probably answer N. + +config COMPAT_ATEXIT + bool "Old (visible) atexit Support" + default n + help + Enable this option if you want to update from 0.9.28 to git/0.9.29, + else you will be missing atexit() until you rebuild all apps. + +config UCLIBC_SUSV3_LEGACY + bool "Enable SuSv3 LEGACY functions" + default n + #vfork, + # h_errno + # gethostbyaddr + # gethostbyname + help + Enable this option if you want to have SuSv3 LEGACY functions + in the library, else they are replaced by SuSv3 proposed macros. + Currently applies to: + + bcmp, bcopy, bzero, index, rindex, ftime, + bsd_signal, (ecvt), (fcvt), gcvt, (getcontext), + (getwd), (makecontext), + mktemp, (pthread_attr_getstackaddr), (pthread_attr_setstackaddr), + scalb, (setcontext), (swapcontext), ualarm, usleep, + wcswcs. + + WARNING! ABI incompatibility. + +config UCLIBC_SUSV3_LEGACY_MACROS + bool "Enable SuSv3 LEGACY macros" + default n + help + Enable this option if you want to have SuSv3 LEGACY macros. + Currently applies to bcopy/bzero/bcmp/index/rindex et al. + WARNING! ABI incompatibility. + +config UCLIBC_SUSV4_LEGACY + bool "Enable SuSv4 LEGACY or obsolescent functions" + default n + help + Enable this option if you want to have SuSv4 LEGACY functions + and macros in the library. + Currently applies to: + + - XSI functions: + _longjmp, _setjmp, _tolower, _toupper, ftw, getitimer, + gettimeofday, isascii, pthread_getconcurrency, + pthread_setconcurrency, setitimer, setpgrp, sighold, + sigignore, sigpause, sigrelse, sigset, siginterrupt, + tempnam, toascii, ulimit. + + - Base functions: + asctime, asctime_r, ctime, ctime_r, gets, rand_r, + tmpnam, utime. + + WARNING! ABI incompatibility. + +config UCLIBC_HAS_STUBS + bool "Provide stubs for unavailable functionality" + default n + help + With this option uClibc provides non-functional stubs for + functions which are impossible to implement on the target + architecture. Otherwise, such functions are simply omitted. + + As of 2008-07, this option makes uClibc provide fork() stub + on NOMMU targets. It always sets errno to ENOSYS and returns -1. + + This may be useful if you port a lot of software and cannot + audit all of it and replace or disable fork() usage. + With this option, a program which uses fork() will build + successfully. Of course, it may be useless if fork() + is essential for its operation. + +config UCLIBC_HAS_SHADOW + bool "Shadow Password Support" + default y + help + Answer N if you do not need shadow password support. + Most people will answer Y. + +config UCLIBC_HAS_PROGRAM_INVOCATION_NAME + bool "Support for program_invocation_name" + default n + help + Support for the GNU-specific program_invocation_name and + program_invocation_short_name strings. Some GNU packages + (like tar and coreutils) utilize these for extra useful + output, but in general are not required. + + At startup, these external strings are automatically set + up based on the value of ARGV[0]. + + If unsure, just answer N. + +config UCLIBC_HAS___PROGNAME + bool "Support for __progname" + default y + depends on UCLIBC_HAS_PROGRAM_INVOCATION_NAME + help + Some packages (like openssh) like to peek into internal libc + symbols to make their output a bit more user friendly. + + At startup, __progname is automatically set up based on the + value of ARGV[0]. + + If unsure, just answer N. + +config UCLIBC_HAS_PTY + bool "Support for pseudo-terminals" + default y + help + This enables support for pseudo-terminals (see man 4 pts + and man 7 pty). + + If unsure, just answer Y. + +config ASSUME_DEVPTS + bool "Assume that /dev/pts is a devpts or devfs file system" + default y + depends on UCLIBC_HAS_PTY + help + Enable this if /dev/pts is on a devpts or devfs filesystem. Both + these filesystems automatically manage permissions on the /dev/pts + devices. You may need to mount your devpts or devfs filesystem on + /dev/pts for this to work. + + Most people should answer Y. + +config UNIX98PTY_ONLY + bool "Support only Unix 98 PTYs" + default y + depends on UCLIBC_HAS_PTY + help + If you want to support only Unix 98 PTYs enable this. Some older + applications may need this disabled and will thus use legacy BSD + style PTY handling which is more complex and also bigger than + Unix 98 PTY handling. + + For most current programs, you can generally answer Y. + +if UNIX98PTY_ONLY +config UCLIBC_HAS_GETPT + bool "Support getpt() (glibc-compat)" + default n + depends on UCLIBC_HAS_PTY + help + Some packages may need getpt(). + All of those are non-standard and can be considered + GNU/libc compatibility. + Either use posix_openpt() or just open /dev/ptmx yourself. + + If unsure, just say N. +endif + +if !UNIX98PTY_ONLY +# Have to use __libc_ptyname{1,2}[] and related bloat +config UCLIBC_HAS_GETPT + def_bool y +endif + +config UCLIBC_HAS_TM_EXTENSIONS + bool "Support 'struct tm' timezone extension fields" + default y + help + Enabling this option adds fields to 'struct tm' in time.h for + tracking the number of seconds east of UTC, and an abbreviation for + the current timezone. These fields are not specified by the SuSv3 + standard, but they are commonly used in both GNU and BSD application + code. + + To strictly follow the SuSv3 standard, leave this disabled. + Most people will probably want to answer Y. + +config UCLIBC_HAS_TZ_CACHING + bool "Enable caching of the last valid timezone 'TZ' string" + default y + help + Answer Y to enable caching of the last valid 'TZ' string describing + the timezone setting. This allows a quick string compare to avoid + repeated parsing of unchanged 'TZ' strings when tzset() is called. + + Most people will answer Y. + +config UCLIBC_HAS_TZ_FILE + bool "Enable '/etc/TZ' file support to set a default timezone (uClibc-specific)" + default y + help + Answer Y to enable the setting of a default timezone for uClibc. + + Ordinarily, uClibc gets the timezone information exclusively from the + 'TZ' environment variable. In particular, there is no support for + the zoneinfo directory tree or the /etc/timezone file used by glibc. + + With this option enabled, uClibc will use the value stored in the + file '/etc/TZ' (default path) to obtain timezone information if the + 'TZ' environment variable is missing or has an invalid value. The + file consists of a single line (newline required) of text describing + the timezone in the format specified for the TZ environment variable. + + Doing 'echo CST6CDT > /etc/TZ' is enough to create a valid file. + See + http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap08.html + for details on valid settings of 'TZ'. + + Most people will answer Y. + +config UCLIBC_HAS_TZ_FILE_READ_MANY + bool "Repeatedly read the '/etc/TZ' file" + depends on UCLIBC_HAS_TZ_FILE + default y + help + Answer Y to enable repeated reading of the '/etc/TZ' file even after + a valid value has been read. This incurs the overhead of an + open/read/close for each tzset() call (explicit or implied). However, + setting this will allow applications to update their timezone + information if the contents of the file change. + + Most people will answer Y. + +config UCLIBC_TZ_FILE_PATH + string "Path to the 'TZ' file for setting the global timezone" + depends on UCLIBC_HAS_TZ_FILE + default "/etc/TZ" + help + This is the path to the 'TZ' file. + + Most people will use the default of '/etc/TZ'. + +endmenu + +menu "Advanced Library Settings" + +config UCLIBC_PWD_BUFFER_SIZE + int "Buffer size for getpwnam() and friends" + default 256 + range 12 1024 + help + This sets the value of the buffer size for getpwnam() and friends. + By default, this is 256. (For reference, glibc uses 1024). + The value can be found using sysconf() with the _SC_GETPW_R_SIZE_MAX + parameter. + +config UCLIBC_GRP_BUFFER_SIZE + int "Buffer size for getgrnam() and friends" + default 256 + range 12 1024 + help + This sets the value of the buffer size for getgrnam() and friends. + By default, this is 256. (For reference, glibc uses 1024). + The value can be found using sysconf() with the _SC_GETGR_R_SIZE_MAX + parameter. + +comment "Support various families of functions" + +config UCLIBC_LINUX_MODULE_24 + bool "Linux kernel module functions" + default !(TARGET_bfin) + help + create_module, query_module + are used in linux (prior to 2.6) for loadable kernel modules. + + Say N if you do not use kernel modules, or you only support + Linux 2.6+. + +config UCLIBC_LINUX_SPECIFIC + bool "Linux specific functions" + default y + help + capget(), capset(), fstatfs(), inotify_*(), ioperm(), iopl(), + madvise(), modify_ldt(), personality(), prctl()/arch_prctl(), + ppoll(), readahead(), reboot(), remap_file_pages(), + sched_getaffinity(), sched_setaffinity(), sendfile(), + setfsgid(), setfsuid(), setresuid(), + splice(), vmsplice(), tee(), signalfd(), swapoff(), swapon(), + sync_file_range(), sysctl(), sysinfo(), vhangup() + +config UCLIBC_HAS_GNU_ERROR + bool "Support GNU extensions for error-reporting" + default y + help + Support for the GNU-specific error(), error_at_line(), + void (* error_print_progname)(), error_message_count + functions and variables. Some GNU packages + utilize these for extra useful output, but in general + are not required. + + If unsure, just answer N. + +config UCLIBC_BSD_SPECIFIC + bool "BSD specific functions" + default y + help + mincore(), getdomainname(), setdomainname() + + If unsure, say N. + +config UCLIBC_HAS_BSD_ERR + bool "BSD err functions" + default y + help + These functions are non-standard BSD extensions. + err(), errx(), warn(), warnx(), verr(), verrx(), vwarn(), vwarnx() + + If unsure, say N. + +config UCLIBC_HAS_OBSOLETE_BSD_SIGNAL + bool "BSD obsolete signal functions" + default n + help + These functions are provided as a compatibility interface for + programs that make use of the historical System V signal API. + This API is obsolete: + new applications should use the POSIX signal API (sigaction(2), + sigprocmask(2), etc.). + Affected functions: + + sigset(), sighold(), sigrelse(), sigignore() + + If unsure, say N. + +config UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL + bool "SYSV obsolete signal functions" + default n + help + Use of sysv_signal() should be avoided; use sigaction(2) instead. + + If unsure, say N. + +config UCLIBC_NTP_LEGACY + bool "ntp_*() aliases" + default n + help + Provide legacy aliases for ntp functions: + ntp_adjtime(), ntp_gettime() + + It is safe to say N here. + +config UCLIBC_SV4_DEPRECATED + bool "Enable SVr4 deprecated functions" + default n + help + These functions are DEPRECATED in System V release 4. + Say N unless you desparately need one of the functions below: + + ustat() [use statfs(2) in your code instead] + +config UCLIBC_HAS_REALTIME + bool "Realtime-related family of SUSv functions" + default y + help + These functions are part of the Timers option and need not + be available on all implementations. + Includes AIO, message-queue, scheduler, semaphore functions: + + aio.h + mqueue.h + sched.h + semaphore.h + + aio_cancel() + aio_error() + aio_fsync() + aio_read() + lio_listio() + aio_return() + aio_suspend() + aio_write() + clock_getres(), clock_gettime(), clock_settime() + fdatasync() + mlockall(), munlockall() + mlock(), munlock() + mq_close() + mq_getattr() + mq_notify() + mq_open() + mq_receive() + mq_send() + mq_setattr() + mq_unlink() + nanosleep() + sched_getparam() + sched_get_priority_max(), sched_get_priority_min() + sched_getscheduler() + sched_rr_get_interval() + sched_setparam() + sched_setscheduler() + sem_close() + sem_destroy() + sem_getvalue() + sem_init() + sem_open() + sem_post() + sem_trywait(), sem_wait() + sem_unlink() + sigqueue() + sigtimedwait(), sigwaitinfo() + timer_create() + timer_delete() + timer_getoverrun(), timer_gettime(), timer_settime() + +config UCLIBC_HAS_ADVANCED_REALTIME + bool "Advanced realtime-related family of SUSv functions" + default y + depends on UCLIBC_HAS_REALTIME + help + These functions are part of the Timers option and need not + be available on all implementations. + + clock_getcpuclockid() + clock_nanosleep() + mq_timedreceive() + mq_timedsend() + posix_fadvise() + posix_fallocate() + posix_madvise() + posix_memalign() + posix_mem_offset() + posix_spawnattr_destroy(), posix_spawnattr_init() + posix_spawnattr_getflags(), posix_spawnattr_setflags() + posix_spawnattr_getpgroup(), posix_spawnattr_setpgroup() + posix_spawnattr_getschedparam(), posix_spawnattr_setschedparam() + posix_spawnattr_getschedpolicy(), posix_spawnattr_setschedpolicy() + posix_spawnattr_getsigdefault(), posix_spawnattr_setsigdefault() + posix_spawnattr_getsigmask(), posix_spawnattr_setsigmask() + posix_spawn_file_actions_addclose() + posix_spawn_file_actions_adddup2() + posix_spawn_file_actions_addopen() + posix_spawn_file_actions_destroy() + posix_spawn_file_actions_init() + posix_spawn() + posix_spawnp() + posix_typed_mem_get_info() + pthread_mutex_timedlock() + sem_timedwait() + +#config UCLIBC_HAS_TERMIOS +# bool "termios functions" +# default y +# help +# Get and set terminal attributes, line control, get and set baud +# rate. +# termios(), tcgetattr(), tcsetattr(), tcsendbreak(), tcdrain(), +# tcflush(), tcflow(), cfmakeraw(), cfgetospeed(), cfgetispeed(), +# cfsetispeed(), cfsetospeed(), cfsetspeed() +# +# If unsure, say Y. + +config UCLIBC_HAS_EPOLL + bool "epoll" + default y + help + epoll_create(), epoll_ctl(), epoll_wait() functions. + +config UCLIBC_HAS_XATTR + bool "Extended Attributes" + default y + help + Extended Attributes support. + + setxattr() + lsetxattr() + fsetxattr() + getxattr() + lgetxattr() + fgetxattr() + listxattr() + llistxattr() + flistxattr() + removexattr() + lremovexattr() + fremovexattr() + + Say N unless you need support for extended attributes and the + filesystems do actually support them. + +config UCLIBC_HAS_PROFILING + bool "Profiling support" + default y + help + gcc's -finstrument-functions needs these. + + Most people can safely answer N. + +config UCLIBC_HAS_CRYPT_IMPL + bool "libcrypt support" + default y + help + libcrypt contains crypt(), setkey() and encrypt() + +config UCLIBC_HAS_CRYPT_STUB + bool "libcrypt stubs" + default y + depends on !UCLIBC_HAS_CRYPT_IMPL + help + Standards mandate that crypt(3) provides a stub if it is unavailable. + If you enable this option then stubs for + crypt(), setkey() and encrypt() + will be provided in a small libcrypt. + +config UCLIBC_HAS_CRYPT + def_bool y + depends on UCLIBC_HAS_CRYPT_IMPL || UCLIBC_HAS_CRYPT_STUB +endmenu + +menuconfig UCLIBC_HAS_NETWORK_SUPPORT + bool "Networking Support" + default y + help + Say N here if you do not need network support. + +if UCLIBC_HAS_NETWORK_SUPPORT +config UCLIBC_HAS_SOCKET + bool "Socket support" + default y + help + If you want to include support for sockets then answer Y. + +config UCLIBC_HAS_IPV4 + bool "IP version 4 support" + default y + select UCLIBC_HAS_SOCKET + help + If you want to include support for the Internet Protocol + (IP version 4) then answer Y. + + Most people will say Y. + +config UCLIBC_HAS_IPV6 + bool "IP version 6 support" + default n + select UCLIBC_HAS_SOCKET + help + If you want to include support for the next version of the Internet + Protocol (IP version 6) then answer Y. + + Most people should answer N. + +config UCLIBC_HAS_RPC + bool "Remote Procedure Call (RPC) support" + default n + # RPC+socket-ipvX doesn't currently work. + depends on UCLIBC_HAS_IPV4 || UCLIBC_HAS_IPV6 + help + If you want to include RPC support, enable this. RPC is rarely used + for anything except for the NFS filesystem. Unless you plan to use + NFS, you can probably leave this set to N and save some space. + + If you need to use NFS then you should answer Y. + +config UCLIBC_HAS_FULL_RPC + bool "Full RPC support" + depends on UCLIBC_HAS_RPC + default y if !HAVE_SHARED + help + Normally we enable just enough RPC support for things like rshd and + nfs mounts to work. If you find you need the rest of the RPC stuff, + then enable this option. Most people can safely answer N. + +config UCLIBC_HAS_REENTRANT_RPC + bool "Reentrant RPC support" + depends on UCLIBC_HAS_RPC + default y if !HAVE_SHARED + help + Most packages utilize the normal (non-reentrant) RPC functions, but + some (like exportfs from nfs-utils) need these reentrant versions. + + Most people can safely answer N. + +config UCLIBC_USE_NETLINK + bool "Use netlink to query interfaces" + default n + depends on UCLIBC_HAS_SOCKET + help + In newer versions of Linux (2.4.17+), support was added for querying + network device information via netlink rather than the old style + ioctl's. Most of the time, the older ioctl style is sufficient (and + it is smaller than netlink), but if you find that not all of your + devices are being returned by the if_nameindex() function, you will + have to use the netlink implementation. + + Most people can safely answer N. + +config UCLIBC_SUPPORT_AI_ADDRCONFIG + bool "Support the AI_ADDRCONFIG flag" + depends on UCLIBC_USE_NETLINK + default n + help + The implementation of AI_ADDRCONFIG is aligned with the glibc + implementation using netlink to query interfaces to find both + ipv4 and ipv6 support. This is only needed if an application uses + the AI_ADDRCONFIG flag. + + Most people can safely answer N. + +config UCLIBC_HAS_BSD_RES_CLOSE + bool "Support res_close() (bsd-compat)" + default n + help + Answer Y if you desperately want to support BSD compatibility in + the network code. + + Most people will say N. + +config UCLIBC_HAS_COMPAT_RES_STATE + bool "Use compatible but bloated _res" + default y + help + Answer Y if you build net |