📄 config.in
字号:
## 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" default TARGET_i386 help Stuffconfig TARGET_alpha bool "alpha"config TARGET_arm bool "arm"config TARGET_bfin bool "bfin"config TARGET_cris bool "cris"config TARGET_e1 bool "e1"config TARGET_frv bool "frv"config TARGET_h8300 bool "h8300"config TARGET_i386 bool "i386"config TARGET_i960 bool "i960"config TARGET_m68k bool "m68k"config TARGET_microblaze bool "microblaze"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_sparc bool "sparc"config TARGET_v850 bool "v850"endchoicemenu "Target Architecture Features and Options"if TARGET_alphasource "extra/Configs/Config.alpha"endifif TARGET_armsource "extra/Configs/Config.arm"endifif TARGET_bfinsource "extra/Configs/Config.bfin"endifif TARGET_crissource "extra/Configs/Config.cris"endifif TARGET_e1source "extra/Configs/Config.e1"endifif TARGET_frvsource "extra/Configs/Config.frv"endifif TARGET_h8300source "extra/Configs/Config.h8300"endifif TARGET_i386source "extra/Configs/Config.i386"endifif TARGET_i960source "extra/Configs/Config.i960"endifif TARGET_m68ksource "extra/Configs/Config.m68k"endifif TARGET_niossource "extra/Configs/Config.nios"endifif TARGET_nios2source "extra/Configs/Config.nios2"endifif TARGET_microblazesource "extra/Configs/Config.microblaze"endifif TARGET_mipssource "extra/Configs/Config.mips"endifif TARGET_powerpcsource "extra/Configs/Config.powerpc"endifif TARGET_shsource "extra/Configs/Config.sh"endifif TARGET_sparcsource "extra/Configs/Config.sparc"endifif TARGET_v850source "extra/Configs/Config.v850"endifsource "extra/Configs/Config.in.arch"endmenumenu "General Library Settings"config HAVE_NO_PIC bool default nconfig DOPIC bool "Generate Position Independent Code (PIC)" default y depends !HAVE_NO_PIC 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 HAVE_NO_SHARED bool default nconfig HAVE_SHARED bool "Enable support for shared libraries" depends on DOPIC && !HAVE_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 ARCH_HAS_NO_LDSO bool default nconfig BUILD_UCLIBC_LDSO bool "Compile native shared library loader" depends on HAVE_SHARED && !ARCH_HAS_NO_LDSO default y help uClibc has a native shared library loader for some architectures. If you answer Y here, the uClibc native shared library loader will be built for your target architecture. If this option is available, to you, then you almost certainly want to answer Y.config FORCE_SHAREABLE_TEXT_SEGMENTS bool "Only load shared libraries which can share their text segment" depends on BUILD_UCLIBC_LDSO 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). So 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 makes 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 shared library loader 'ldd' support" depends on BUILD_UCLIBC_LDSO 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 shared library loader cache" depends on BUILD_UCLIBC_LDSO 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 shared library loader preload file support" depends on BUILD_UCLIBC_LDSO 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 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_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 HAS_NO_THREADS bool default nconfig UCLIBC_HAS_THREADS bool "POSIX Threading Support" depends on !HAS_NO_THREADS default y 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 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 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_HAS_MMU default MALLOC_STANDARD if ARCH_HAS_MMU 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. "malloc-simple" was written from scratch for uClibc, and is the simplest possible (and therefore smallest) malloc implementation. This uses only the mmap() system call to allocation 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 is rather dumb, and certainly isn't the fastest. But it is 100% standards compliant, thread safe, and very small. "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".config MALLOC bool "malloc"config MALLOC_SIMPLE bool "malloc-simple"config MALLOC_STANDARD bool "malloc-standard" depends on ARCH_HAS_MMUendchoiceconfig 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 return a 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 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 UNIX98PTY_ONLY bool "Support only Unix 98 PTYs" default y help If you want to support only Unix 98 PTYs enable this. Some older applications may need this disabled. For most current programs, you can generally answer Y.config ASSUME_DEVPTS bool "Assume that /dev/pts is a devpts or devfs file system" default y 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 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -