]> Git Repo - uclibc-ng.git/blobdiff - extra/Configs/Config.in
resolve merge
[uclibc-ng.git] / extra / Configs / Config.in
index d4960fbbf3737e3824387d5603cc602c4a14ac1f..1d382017bc010778b5dcfb543940ba54a6916f88 100644 (file)
@@ -3,15 +3,20 @@
 # see extra/config/Kconfig-language.txt
 #
 
-mainmenu "uClibc C Library Configuration"
+mainmenu "uClibc-ng $VERSION C Library Configuration"
 
 config DESIRED_TARGET_ARCH
        string
        option env="ARCH"
 
+config VERSION
+       string
+       option env="VERSION"
+
 choice
        prompt "Target Architecture"
        default TARGET_alpha if DESIRED_TARGET_ARCH = "alpha"
+       default TARGET_arc if DESIRED_TARGET_ARCH = "arc"
        default TARGET_arm if DESIRED_TARGET_ARCH = "arm"
        default TARGET_avr32 if DESIRED_TARGET_ARCH = "avr32"
        default TARGET_bfin if DESIRED_TARGET_ARCH = "bfin"
@@ -24,6 +29,7 @@ choice
        default TARGET_i960 if DESIRED_TARGET_ARCH = "i960"
        default TARGET_ia64 if DESIRED_TARGET_ARCH = "ia64"
        default TARGET_m68k if DESIRED_TARGET_ARCH = "m68k"
+       default TARGET_metag if DESIRED_TARGET_ARCH = "metag"
        default TARGET_microblaze if DESIRED_TARGET_ARCH = "microblaze"
        default TARGET_mips if DESIRED_TARGET_ARCH = "mips"
        default TARGET_nios if DESIRED_TARGET_ARCH = "nios"
@@ -39,8 +45,11 @@ choice
        help
          The architecture of your target.
 
-config TARGET_alpha
-       bool "alpha"
+#config TARGET_alpha
+#      bool "alpha"
+
+config TARGET_arc
+       bool "arc"
 
 config TARGET_arm
        bool "arm"
@@ -51,41 +60,49 @@ config TARGET_avr32
 config TARGET_bfin
        bool "bfin"
 
+# someone could sync this tree:
+# http://linux-c6x.org/git/?p=uClibc.git;a=summary
+config TARGET_c6x
+       bool "c6x"
+
 config TARGET_cris
        bool "cris"
 
-config TARGET_e1
-       bool "e1 (BROKEN)"
+#config TARGET_e1
+#      bool "e1 (BROKEN)"
 
-config TARGET_frv
-       bool "frv (BROKEN)"
+#config TARGET_frv
+#      bool "frv (BROKEN)"
 
-config TARGET_h8300
-       bool "h8300 (BROKEN)"
+#config TARGET_h8300
+#      bool "h8300 (BROKEN)"
 
-config TARGET_hppa
-       bool "hppa"
+#config TARGET_hppa
+#      bool "hppa"
 
 config TARGET_i386
        bool "i386"
 
-config TARGET_i960
-       bool "i960 (BROKEN)"
+#config TARGET_i960
+#      bool "i960 (BROKEN)"
 
-config TARGET_ia64
-       bool "ia64"
+#config TARGET_ia64
+#      bool "ia64"
 
 config TARGET_m68k
        bool "m68k"
 
+#config TARGET_metag
+#      bool "metag"
+
 config TARGET_microblaze
        bool "microblaze"
 
 config TARGET_mips
        bool "mips"
 
-config TARGET_nios
-       bool "nios"
+#config TARGET_nios
+#      bool "nios"
 
 config TARGET_nios2
        bool "nios2"
@@ -96,17 +113,17 @@ config TARGET_powerpc
 config TARGET_sh
        bool "superh"
 
-config TARGET_sh64
-       bool "sh64"
+#config TARGET_sh64
+#      bool "sh64"
 
 config TARGET_sparc
        bool "sparc"
 
-config TARGET_v850
-       bool "v850 (BROKEN)"
+#config TARGET_v850
+#      bool "v850 (BROKEN)"
 
-config TARGET_vax
-       bool "vax"
+#config TARGET_vax
+#      bool "vax"
 
 config TARGET_x86_64
        bool "x86_64"
@@ -114,9 +131,6 @@ config TARGET_x86_64
 config TARGET_xtensa
        bool "xtensa"
 
-config TARGET_c6x
-       bool "c6x"
-
 endchoice
 
 
@@ -174,6 +188,10 @@ if TARGET_m68k
 source "extra/Configs/Config.m68k"
 endif
 
+if TARGET_metag
+source "extra/Configs/Config.metag"
+endif
+
 if TARGET_nios
 source "extra/Configs/Config.nios"
 endif
@@ -226,15 +244,19 @@ if TARGET_c6x
 source "extra/Configs/Config.c6x"
 endif
 
+if TARGET_arc
+source "extra/Configs/Config.arc"
+endif
+
 config TARGET_SUBARCH
        string
        default "e500" if CONFIG_E500
        default "classic" if CONFIG_CLASSIC
        default "sh4" if CONFIG_SH4
-       default "" if CONFIG_GENERIC_386 || CONFIG_386
+       default "" if CONFIG_386
        default "i486" if CONFIG_486
-       default "i586" if CONFIG_586 || CONFIG_586MMX
-       default "i686" if TARGET_ARCH = "i386"
+       default "i586" if CONFIG_586
+       default "i686" if CONFIG_686
        default ""
 
 source "extra/Configs/Config.in.arch"
@@ -261,6 +283,9 @@ config ARCH_HAS_NO_LDSO
        bool
        select ARCH_HAS_NO_SHARED
 
+config ARCH_HAS_UCONTEXT
+       bool
+
 config HAVE_SHARED
        bool "Enable shared libraries"
        depends on !ARCH_HAS_NO_SHARED
@@ -395,6 +420,22 @@ config LDSO_RUNPATH
          Usage of RUNPATH tags is not too common, so disabling this feature
          should be safe for most people.
 
+config LDSO_RUNPATH_OF_EXECUTABLE
+       bool "Use executables RPATH/RUNPATH when searching for libraries."
+       depends on LDSO_RUNPATH
+       default n
+       help
+         Use the executables RPATH/RUNPATH to find to find libraries even
+         though this behavour is not standard.  Setting this option causes
+         the uclibc dynamic linker behavour to match the glibc dynamic linker.
+
+config LDSO_SAFE_RUNPATH
+       bool "Allow only RUNPATH beginning with /"
+       depends on LDSO_RUNPATH
+       default y
+       help
+         Allow only absolute path in RPATH/RUNPATH.
+
 config LDSO_SEARCH_INTERP_PATH
        bool "Add ldso path to lib search path"
        depends on HAVE_SHARED
@@ -423,7 +464,6 @@ config LDSO_LD_LIBRARY_PATH
 config LDSO_NO_CLEANUP
        bool "Disable automatic unloading of dynamically loaded shared objects"
        depends on HAVE_SHARED
-       default n
        help
          If you need complete allocation traces when debugging memory leaks
          using Valgrind in a process that dynamically loads shared objects,
@@ -433,7 +473,7 @@ config LDSO_NO_CLEANUP
          Unless you know you need this, you should answer N.
 
 config UCLIBC_CTOR_DTOR
-       bool "Support global constructors and destructors"
+       boolean
        default y
        help
          If you wish to build uClibc with support for global constructor
@@ -466,7 +506,6 @@ config LDSO_GNU_HASH_SUPPORT
 
 choice
        prompt "Thread support"
-       #default UCLIBC_HAS_THREADS_NATIVE if (TARGET_alpha || TARGET_arm || TARGET_i386 || TARGET_mips || TARGET_powerpc || TARGET_sh || TARGET_sh64)
        default HAS_NO_THREADS
        help
          If you want to compile uClibc with pthread support, then answer Y.
@@ -479,49 +518,44 @@ config HAS_NO_THREADS
        help
          Disable thread support.
 
-config LINUXTHREADS_OLD
-       bool "older (stable) version of linuxthreads"
-       # linuxthreads and linuxthreads.old need nanosleep()
+config UCLIBC_HAS_LINUXTHREADS
+       bool "Enable support for linuxthreads"
+       # linuxthreads need nanosleep()
        select UCLIBC_HAS_REALTIME
-       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.
-
-
-config LINUXTHREADS_NEW
-       bool "slightly newer version of linuxthreads"
-       help
-         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).
+       depends on !TARGET_arc && \
+                  !TARGET_i386 && \
+                  !TARGET_metag && \
+                  !TARGET_mips && \
+                  !TARGET_powerpc && \
+                  !TARGET_sh && \
+                  !TARGET_sparc && \
+                  !TARGET_x86_64 && \
+                  !TARGET_xtensa
+       help
+         See here for information about linuxthreads:
+         http://en.wikipedia.org/wiki/LinuxThreads
 
 config UCLIBC_HAS_THREADS_NATIVE
        bool "Native POSIX Threading (NPTL)"
        select UCLIBC_HAS_TLS
        select UCLIBC_HAS_STDIO_FUTEXES
-       # NPTL local:
-       select EXTRA_WARNINGS
+       select UCLIBC_HAS_REALTIME
        # i386 has no lowlevellock support (yet) as opposed to i486 onward
-       depends on !CONFIG_386
+       depends on !CONFIG_386 && \
+                  !TARGET_alpha && \
+                  !TARGET_avr32 && \
+                  !TARGET_bfin && \
+                  !TARGET_c6x && \
+                  !TARGET_cris && \
+                  !TARGET_hppa && \
+                  !TARGET_ia64 && \
+                  !TARGET_m68k && \
+                  !TARGET_microblaze && \
+                  !TARGET_nios2 && \
+                  !TARGET_vax
        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.
-
 endchoice
 
 config UCLIBC_HAS_THREADS
@@ -552,7 +586,6 @@ config PTHREADS_DEBUG_SUPPORT
          If you are doing development and want to debug applications using
          uClibc's pthread library, answer Y.  Otherwise, answer N.
 
-
 config UCLIBC_HAS_SYSLOG
        bool "Syslog support"
        default y
@@ -631,6 +664,15 @@ config MALLOC_GLIBC_COMPAT
          does not detect glibc style returning-a-valid-pointer-for-malloc(0)
          behavior).  Most people can safely answer N.
 
+config UCLIBC_HAS_OBSTACK
+       bool "Obstack Support (gnu extension)"
+       help
+         When this option is enabled, uClibc will provide support for obstacks.
+         An obstack is a structure in which memory can be dynamically allocated
+         as a 'stack of objects'.  Many programs need this GNU extention and
+         you should say Y if you are using any.  Otherwise, say N to save some
+         space.
+
 config UCLIBC_DYNAMIC_ATEXIT
        bool "Dynamic atexit() Support"
        default y
@@ -652,6 +694,16 @@ config COMPAT_ATEXIT
          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_SUSV2_LEGACY
+       bool "Enable SuSv2 LEGACY functions"
+       help
+         Enable this option if you want to have SuSv2 LEGACY functions
+         Currently applies to:
+
+         valloc
+
+         WARNING! ABI incompatibility.
+
 config UCLIBC_SUSV3_LEGACY
        bool "Enable SuSv3 LEGACY functions"
        #vfork,
@@ -672,6 +724,19 @@ config UCLIBC_SUSV3_LEGACY
 
          WARNING! ABI incompatibility.
 
+config UCLIBC_HAS_CONTEXT_FUNCS
+       bool "Use obsolescent context control functions"
+       depends on UCLIBC_SUSV3_LEGACY && ARCH_HAS_UCONTEXT
+       help
+         Add into library the SuSv3 obsolescent functions used for context
+         control. The setcontext family allows the implementation in C of
+         advanced control flow patterns such as iterators, fibers, and
+         coroutines. They may be viewed as an advanced version of
+         setjmp/longjmp; whereas the latter allows only a single non-local jump
+         up the stack, setcontext allows the creation of multiple cooperative
+         threads of control, each with its own stack.
+         These functions are: setcontext, getcontext, makecontext, swapcontext.
+
 config UCLIBC_SUSV3_LEGACY_MACROS
        bool "Enable SuSv3 LEGACY macros"
        help
@@ -700,9 +765,9 @@ config UCLIBC_SUSV4_LEGACY
          WARNING! ABI incompatibility.
 
 config UCLIBC_STRICT_HEADERS
-       bool "Enable structures and constants for unsupported features"
+       bool "Hide structures and constants for unsupported features"
        help
-         Enable structures and constants in headers that should not be used,
+         Hide structures and constants in headers that should not be used,
          because the respective feature is disabled.
 
          WARNING! enabling this option requires to patch many faulty apps,
@@ -739,7 +804,6 @@ config UCLIBC_HAS_PROGRAM_INVOCATION_NAME
 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.
@@ -954,16 +1018,16 @@ config UCLIBC_LINUX_SPECIFIC
        default y
        help
          accept4(), bdflush(),
-         capget(), capset(), eventfd(), fstatfs(),
-         inotify_*(), ioperm(), iopl(),
+         capget(), capset(), eventfd(), fallocate(),
+         fstatfs(), inotify_*(), ioperm(), iopl(),
          madvise(), modify_ldt(), pipe2(), personality(),
          prctl()/arch_prctl(), pivot_root(), modify_ldt(),
          ppoll(), readahead(), reboot(), remap_file_pages(),
          sched_getaffinity(), sched_setaffinity(), sendfile(),
          setfsgid(), setfsuid(), setresgid(), setresuid(),
-         splice(), vmsplice(), tee(), signalfd(), swapoff(), swapon(),
-         sync_file_range(), _sysctl(), sysinfo(), timerfd_*(), vhangup(),
-         umount(), umount2()
+         splice(), vmsplice(), tee(), signalfd(), statfs(),
+         swapoff(), swapon(), sync_file_range(), _sysctl(),
+         sysinfo(), timerfd_*(), vhangup(), umount(), umount2()
 
 config UCLIBC_HAS_GNU_ERROR
        bool "Support GNU extensions for error-reporting"
@@ -1322,6 +1386,12 @@ config UCLIBC_HAS_RESOLVER_SUPPORT
          In particular, the following functions will be added to the
          library:
 
+         ns_skiprr, ns_initparse, ns_parserr, ns_msg_getflag,
+         res_mkquery, res_init, res_ninit, res_close, res_nclose
+         res_query, res_search, res_querydomain,
+         dn_expand, dn_comp,
+         ns_name_uncompress, ns_name_ntop, ns_name_pton, ns_name_unpack,
+         ns_name_pack, ns_name_compress, ns_name_skip, dn_skipname,
          ns_get16, ns_get32, ns_put16, ns_put32
 
 config UCLIBC_HAS_LIBRESOLV_STUB
@@ -1364,6 +1434,13 @@ config UCLIBC_HAS_STRING_ARCH_OPT
          These are small and fast, the only reason _not_ to say Y here is
          for debugging purposes.
 
+config UCLIBC_HAS_STDIO_FUTEXES
+       bool "Use futexes for multithreaded I/O locking"
+       depends on UCLIBC_HAS_THREADS_NATIVE
+       help
+         If you want to compile uClibc to use futexes for low-level
+         I/O locking, answer Y.  Otherwise, answer N.
+
 config UCLIBC_HAS_CTYPE_TABLES
        bool "Use Table Versions Of 'ctype.h' Functions."
        default y
@@ -1464,7 +1541,7 @@ config UCLIBC_BUILD_MINIMAL_LOCALE
 
 config UCLIBC_PREGENERATED_LOCALE_DATA
        bool "Use Pre-generated Locale Data"
-       depends on UCLIBC_HAS_LOCALE
+       depends on UCLIBC_HAS_LOCALE && !TARGET_metag
        help
          Use pre-built locale data.
 
@@ -1592,19 +1669,6 @@ config UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS
 
          Most people will answer 9.
 
-
-config UCLIBC_HAS_SCANF_GLIBC_A_FLAG
-       bool "Support glibc's 'a' flag for scanf string conversions (not implemented)"
-       help
-         NOTE!!!  Currently Not Implemented!!! Just A Place Holder!!  NOTE!!!
-         NOTE!!!  Conflicts with an ANSI/ISO C99 scanf flag!!         NOTE!!!
-
-         Answer Y to enable support for glibc's 'a' flag for the scanf string
-         conversions '%s', '%[', '%ls', '%l[', and '%S'.  This is used to
-         auto-allocate sufficient memory to hold the data retrieved.
-
-         Most people will answer N.
-
 choice
        prompt "Stdio buffer size"
        default UCLIBC_HAS_STDIO_BUFSIZ_4096
@@ -1833,32 +1897,25 @@ config UCLIBC_HAS_GNU_GETOPT
        help
          Answer Y if you want to include full gnu getopt() instead of a
          (much smaller) SUSv3 compatible getopt().
+         Note that getopt_long, getopt_long_only as well as getsubopt
+         are implemented on top of this choice.
 
          Most people will answer Y.
 
-config UCLIBC_HAS_STDIO_FUTEXES
-       bool "Use futexes for multithreaded I/O locking"
-       depends on UCLIBC_HAS_THREADS_NATIVE
-       help
-         If you want to compile uClibc to use futexes for low-level
-         I/O locking, answer Y.  Otherwise, answer N.
-
 config UCLIBC_HAS_GETOPT_LONG
-       bool "Support getopt_long/getopt_long_only"
-       depends on !UCLIBC_HAS_GNU_GETOPT
+       bool "Support getopt_long/getopt_long_only (glibc-compat)"
        default y
        help
-         Answer Y if you want to include getopt_long[_only() used by many
-         apps, even busybox.
+         Answer Y if you want to include getopt_long[_only()] used by many
+         apps.
 
          Most people will answer Y.
 
 config UCLIBC_HAS_GNU_GETSUBOPT
-       bool "Support glibc getsubopt"
+       bool "Support getsubopt"
        default y
        help
-         Answer Y if you want to include glibc getsubopt() instead of a
-         smaller SUSv3 compatible getsubopt().
+         Answer Y if you want to include getsubopt().
 
          Most people will answer Y.
 endmenu
@@ -1933,7 +1990,7 @@ config UCLIBC_HAS_NFTW
          a pressing need for nftw(), you should probably answer N.
 
 config UCLIBC_HAS_FTW
-       bool "Support the ftw() interface"
+       bool "Support the ftw() interface (SUSv4-obsolete)"
        depends on UCLIBC_SUSV4_LEGACY
        help
          The SuSv3 ftw() interface is used to recursively descend
@@ -2095,6 +2152,16 @@ config UCLIBC_HAS_ARC4RANDOM
 
          Most people will answer N.
 
+config ARC4RANDOM_USES_NODEV
+       bool "Do not use /dev/urandom with arc4random()"
+       depends on UCLIBC_HAS_ARC4RANDOM
+       help
+         Answer Y to use gettimeofday(2) and getpid(2) exclusively for
+          arc4random(). This is not a bad idea for a diskless system, but
+          it uses a lot of syscalls to stir each array element.
+
+         Most people will answer N.
+
 config HAVE_NO_SSP
        bool
 
@@ -2147,8 +2214,8 @@ config SSP_QUICK_CANARY
 choice
        prompt "Propolice protection blocking signal"
        depends on UCLIBC_HAS_SSP
-       default PROPOLICE_BLOCK_ABRT if ! DODEBUG
-       default PROPOLICE_BLOCK_SEGV if DODEBUG
+       depends on DODEBUG
+       default PROPOLICE_BLOCK_SEGV
        help
          "abort" use SIGABRT to block offending programs.
          This is the default implementation.
@@ -2236,7 +2303,7 @@ config UCLIBC_BUILD_NOEXECSTACK
 
 endmenu
 
-menu "uClibc development/debugging options"
+menu "Development/debugging options"
 
 config CROSS_COMPILER_PREFIX
        string "Cross-compiling toolchain prefix"
@@ -2247,13 +2314,13 @@ config CROSS_COMPILER_PREFIX
          then enter 'arm-linux-uclibc-' here.
 
 config UCLIBC_EXTRA_CFLAGS
-       string "Extra CFLAGS to use to build uClibc"
+       string "Extra CFLAGS"
        default ""
        help
          Add any additional CFLAGS to be used to build uClibc.
 
 config DODEBUG
-       bool "Build uClibc with debugging symbols"
+       bool "Enable debugging symbols"
        select EXTRA_WARNINGS
        help
          Say Y here if you wish to compile uClibc with debugging symbols.
@@ -2266,7 +2333,7 @@ config DODEBUG
 
 config DODEBUG_PT
        bool "Build pthread with debugging output"
-       depends on UCLIBC_HAS_THREADS && LINUXTHREADS_OLD
+       depends on UCLIBC_HAS_THREADS && UCLIBC_HAS_LINUXTHREADS
        help
          Enable debug output in libpthread.  This is only useful when doing
          development in libpthread itself.
@@ -2284,7 +2351,7 @@ config DOSTRIP
          Most people will answer Y.
 
 config DOASSERTS
-       bool "Build uClibc with run-time assertion testing"
+       bool "Build with run-time assertion testing"
        help
          Say Y here to include runtime assertion tests.
          This enables runtime assertion testing in some code, which can
@@ -2342,6 +2409,7 @@ config SUPPORT_LD_DEBUG_EARLY
 config UCLIBC_MALLOC_DEBUGGING
        bool "Build malloc with debugging support"
        depends on MALLOC || MALLOC_STANDARD
+       select DOASSERTS
        help
          Answer Y here to compile extra debugging support code into malloc.
          Malloc debugging output may then be enabled at runtime using the
@@ -2400,11 +2468,4 @@ config DOMULTI
 
          If unsure, keep the default of N.
 
-config UCLIBC_MJN3_ONLY
-       bool "Manuel's hidden warnings"
-       help
-         Answer Y here to see all Manuel's personal notes, warnings, and todos.
-
-         Most people will answer N.
-
 endmenu
This page took 0.04724 seconds and 4 git commands to generate.