diff options
Diffstat (limited to 'extra/Configs')
-rw-r--r-- | extra/Configs/Config.i386 | 370 | ||||
-rw-r--r-- | extra/Configs/Config.i386.default | 73 | ||||
-rw-r--r-- | extra/Configs/Config.in | 260 |
3 files changed, 517 insertions, 186 deletions
diff --git a/extra/Configs/Config.i386 b/extra/Configs/Config.i386 index 13e4916bb..4b3ff7b5a 100644 --- a/extra/Configs/Config.i386 +++ b/extra/Configs/Config.i386 @@ -1,189 +1,187 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, or (at your option) any -# later version. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = #$(TARGET_ARCH)-linux- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=/usr/src/linux - -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = true - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true - -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false - -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false - -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false - -# This specifies which malloc implementation is used. -# -# "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. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -#MALLOC = malloc -MALLOC = malloc-930716 - -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = false - -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX=true - -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = false - -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false - -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false - -# If you want to include threads support, enable this. The C library will -# be compiled thread-safe, and the libpthread library will be built. -INCLUDE_THREADS = true - -# 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 leave this true. -UNIX98PTY_ONLY = true - -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true - - -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = true - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=true - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib - -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc - -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) - -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr - -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install + +mainmenu "uClibc C Library Configuration" + +menu "Target Architecture Features and Options" + +choice + prompt "Target Processor Type" + default CONFIG_386 + help + This is the processor type of your CPU. This information is used for + optimizing purposes. To build a library that will run on all x86 CPU + types (albeit not optimally fast), you can specify "386" here. If + you pick anything other than "386", there is no guarantee that uClibc + will even run on anything other than the selected processor type. + + Here are the settings recommended for greatest speed: + - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI + 486DLC/DLC2, UMC 486SX-S and NexGen Nx586. Only "386" kernels + will run on a 386 class machine. + - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or + SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S. + - "586" for generic Pentium CPUs lacking the TSC + (time stamp counter) register. + - "Pentium-Classic" for the Intel Pentium. + - "Pentium-MMX" for the Intel Pentium MMX. + - "Pentium-Pro" for the Intel Pentium Pro/Celeron/Pentium II. + - "Pentium-III" for the Intel Pentium III + and Celerons based on the Coppermine core. + - "Pentium-4" for the Intel Pentium 4. + - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D). + - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird). + - "Crusoe" for the Transmeta Crusoe series. + - "Winchip-C6" for original IDT Winchip. + - "Winchip-2" for IDT Winchip 2. + - "Winchip-2A" for IDT Winchips with 3dNow! capabilities. + - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3. + + If you don't know what to do, choose "386". + +config CONFIG_386 + bool "386" + +config CONFIG_486 + bool "486" + +config CONFIG_586 + bool "586/K5/5x86/6x86/6x86MX" + +config CONFIG_586TSC + bool "Pentium-Classic" + +config CONFIG_586MMX + bool "Pentium-MMX" + +config CONFIG_686 + bool "Pentium-Pro/Celeron/Pentium-II" + +config CONFIG_PENTIUMIII + bool "Pentium-III/Celeron(Coppermine)" + +config CONFIG_PENTIUM4 + bool "Pentium-4" + +config CONFIG_K6 + bool "K6/K6-II/K6-III" + +config CONFIG_K7 + bool "Athlon/Duron/K7" + +config CONFIG_ELAN + bool "Elan" + +config CONFIG_CRUSOE + bool "Crusoe" + +config CONFIG_WINCHIPC6 + bool "Winchip-C6" + +config CONFIG_WINCHIP2 + bool "Winchip-2" + +config CONFIG_WINCHIP3D + bool "Winchip-2A/Winchip-3" + +config CONFIG_CYRIXIII + bool "CyrixIII/VIA-C3" + +endchoice + +config UCLIBC_HAS_MMU + bool "Target CPU has a memory management unit (MMU)" + default y + help + If your target CPU does not have a memory management unit (MMU), + then answer N here. Normally, Linux runs on systems with an MMU. + If you are building a uClinux system, answer N. + + Most people will answer Y. + +config UCLIBC_HAS_FLOATS + bool "Enable floating point number support" + default y + help + This option allows you to entirely omit all floating point number + support from uClibc. This will cause floating point functions like + strtod() to be entirely omitted from uClibc. Other functions, such + as printf() and scanf() will still be included in the library, but + will not contain support for floating point numbers. + + Answering N to this option can reduce the size of uClibc. Most people + will answer Y. + +config HAS_FPU + bool "Target CPU has a floating point unit (FPU)" + depends on UCLIBC_HAS_FLOATS + default y + help + If your target CPU does not have a floating management unit (FPU), + but you wish to support floating point functions, then uClibc will + need to be compiled with soft floating point support (-msoft-float). + If your target CPU does not have an FPU or an FPU emulator within the + Linux kernel, then you should answer N. + + Most people will answer Y. + +config DO_C99_MATH + bool "Enable full C99 math library support" + depends on UCLIBC_HAS_FLOATS + default n + help + If you want the uClibc math library to contain the full set C99 + math library features, then answer Y. If you leave this set to + N the math library will contain only the math functions that were + listed as part of the traditionla POSIX/IEEE 1003.1b-1993 standard. + Leaving this option set to N will save around 35k on an x86 system. + + If your applications require the newer C99 math library functions, + then answer Y. + +config WARNINGS + string "Compiler Warnings" + default "-Wall" + help + Set this to the set of gcc warnings you wish to see while compiling. + +config KERNEL_SOURCE + string "Linux kernel header location" + default "/usr/src/linux" + help + The kernel source you use to compile with should be the same as the + Linux kernel you run your apps on. uClibc doesn't even try to achieve binary + compatibility across kernel versions. So don't expect, for example, uClibc + compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x + can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, + but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't + work at all. You have been warned. + +config C_SYMBOL_PREFIX + string + default "" + +config UCLIBC_UCLINUX_BROKEN_MUNMAP + bool + depends on !HAS_MMU + default y + +config HAVE_ELF + bool + default y + +config NO_UNDERSCORES + bool + default n + +config HAVE_DOT_HIDDEN + bool + default n + +endmenu + +source "extra/Configs/Config.in" + diff --git a/extra/Configs/Config.i386.default b/extra/Configs/Config.i386.default new file mode 100644 index 000000000..3fdaa05b7 --- /dev/null +++ b/extra/Configs/Config.i386.default @@ -0,0 +1,73 @@ +# +# Automatically generated make config: don't edit +# + +# +# Target Architecture Features and Options +# +CONFIG_386=y +# CONFIG_486 is not set +# CONFIG_586 is not set +# CONFIG_586TSC is not set +# CONFIG_586MMX is not set +# CONFIG_686 is not set +# CONFIG_PENTIUMIII is not set +# CONFIG_PENTIUM4 is not set +# CONFIG_K6 is not set +# CONFIG_K7 is not set +# CONFIG_ELAN is not set +# CONFIG_CRUSOE is not set +# CONFIG_WINCHIPC6 is not set +# CONFIG_WINCHIP2 is not set +# CONFIG_WINCHIP3D is not set +# CONFIG_CYRIXIII is not set +UCLIBC_HAS_MMU=y +UCLIBC_HAS_FLOATS=y +HAS_FPU=y +# DO_C99_MATH is not set +WARNINGS="-Wall" +KERNEL_SOURCE="/usr/src/linux" +C_SYMBOL_PREFIX="" +UCLIBC_UCLINUX_BROKEN_MUNMAP=y +HAVE_ELF=y +# NO_UNDERSCORES is not set +# HAVE_DOT_HIDDEN is not set + +# +# General Library Settings +# +HAVE_PIC=y +HAVE_SHARED=y +BUILD_UCLIBC_LDSO=y +UCLIBC_HAS_THREADS=y +UCLIBC_HAS_LFS=y +# MALLOC is not set +MALLOC_930716=y +HAS_SHADOW=y +UCLIBC_HAS_REGEX=y +UNIX98PTY_ONLY=y +ASSUME_DEVPTS=y + +# +# Networking Support +# +# UCLIBC_HAS_IPV6 is not set +# UCLIBC_HAS_RPC is not set + +# +# String and Stdio Support +# +# UCLIBC_HAS_WCHAR is not set +# USE_OLD_VFPRINTF is not set + +# +# Library Installation Options +# +SHARED_LIB_LOADER_PATH="$(DEVEL_PREFIX)/lib" +DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc" +SYSTEM_DEVEL_PREFIX="$(DEVEL_PREFIX)" + +# +# uClibc hacking options +# +# DODEBUG is not set diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in new file mode 100644 index 000000000..43bc9a68c --- /dev/null +++ b/extra/Configs/Config.in @@ -0,0 +1,260 @@ +# +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. +# + + +menu "General Library Settings" + +config HAVE_PIC + bool "Generate Position Independent Code (PIC)" + 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 HAVE_SHARED + bool "Enable support for shared libraries" + depends on HAVE_PIC + 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 BUILD_UCLIBC_LDSO + bool "Compile native shared library loader" + depends on HAVE_SHARED + 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 UCLIBC_HAS_THREADS + bool "POSIX Threading Support" + 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 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-930716" + 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. + + "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call + for all memory allocations. This makes it very fast. It is also pretty + smart about reusing already allocated memory, and minimizing memory wastage. + Because this uses brk() it will not work on uClinux MMU-less systems. + + If unsure, answer "malloc". + +config MALLOC + bool "malloc" + +config MALLOC_930716 + bool "malloc-930716" + depends on UCLIBC_HAS_MMU + +endchoice + +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 UCLIBC_HAS_REGEX + bool "Regular Expression Support" + default y + help + Posix regular expression code is really big -- 27k all by itself. + If you don't use regular expressions, turn this off and save space. + Of course, if you only staticly link, leave this on, since it will + only be included in your apps if you use regular expressions. + +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. + +endmenu + + + +menu "Networking Support" + +config UCLIBC_HAS_IPV6 + bool "IP version 6 Support" + default n + 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 Procedute Call (RPC) support" + default n + 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 n + 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. + +endmenu + + +menu "String and Stdio Support" + +config UCLIBC_HAS_WCHAR + bool "Wide Charactor Support" + default n + help + Answer Y to enable wide char support. This will make uClibc much + bigger. + + Most people will answer N. + +config UCLIBC_HAS_LOCALE + bool "Locale Support" + depends on UCLIBC_HAS_WCHAR + default n + help + Answer Y to enable locale support. This will make uClibc much + bigger. + + Most people will answer N. + +config USE_OLD_VFPRINTF + bool "Use the old vfprintf implementation" + default n + help + Set to true to use the old vfprintf instead of the new. This is roughly + C89 compliant, but doesn't deal with qualifiers on %n and doesn't deal with + %h correctly or %hh at all on the interger conversions. But on i386 it is + over 1.5k smaller than the new code. Of course, the new code fixes the + above mentioned deficiencies and adds custom specifier support similar to + glibc, as well as handling positional args. This will be rewritten at some + point to bring it to full C89 standards compliance. + + Most people will answer N. + +endmenu + +menu "Library Installation Options" + +config SHARED_LIB_LOADER_PATH + string "Shared library loader path" + depends on BUILD_UCLIBC_LDSO + default "$(DEVEL_PREFIX)/lib" + help + When using shared libraries, this path is the location where the + shared library will be invoked. This value will be compiled into + every binary compiled with uClibc. + + BIG FAT WARNING: + If you do not have a shared library loader with the correct name + sitting in the directory this points to, your binaries will not + run. + +config SYSTEM_LDSO + string "System shared library loader" + depends on !BUILD_UCLIBC_LDSO + default "/lib/ld-linux.so.2" + help + If you are using shared libraries, but do not want/have a native + uClibc shared library loader, please specify the name of your + target system's shared library loader here... + + BIG FAT WARNING: + If you do not have a shared library loader with the correct name + sitting in the directory this points to, your binaries will not + run. + +config DEVEL_PREFIX + string "uClibc development environment directory" + default "/usr/$(TARGET_ARCH)-linux-uclibc" + help + DEVEL_PREFIX is the directory into which the uClibc development + environment will be installed. The result will look something + like the following: + $(DEVEL_PREFIX)/ + lib/ <contains all runtime and static libs> + include/ <Where all the header files go> + This value is used by the 'make install' Makefile target. Since this + directory is compiled into the uclibc cross compiler spoofer, you + have to recompile uClibc if you change this value... + +config SYSTEM_DEVEL_PREFIX + string "uClibc development environment system directory" + default "$(DEVEL_PREFIX)" + help + SYSTEM_DEVEL_PREFIX is the directory prefix used when installing + bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by + the 'make install' target, and is not compiled into anything. This + defaults to $(DEVEL_PREFIX)/usr, but makers of .rpms and .debs will + want to set this to "/usr" instead. + +endmenu + +menu "uClibc hacking options" + +config DODEBUG + bool "Build uClibc with debugging symbols" + default n + help + Say Y here if you wish to compile uClibc with debugging symbols. + This will allow you to use a debugger to examine uClibc internals + while applications are running. This increases the size of the + library considerably and should only be used when doing development. + If you are doing development and want to debug uClibc, answer Y. + + Otherwise, answer N. +endmenu + + + |