summaryrefslogtreecommitdiff
path: root/extra/Configs/Config.in
diff options
context:
space:
mode:
Diffstat (limited to 'extra/Configs/Config.in')
-rw-r--r--extra/Configs/Config.in2181
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