No specific user configuration
[platform/upstream/bash.git] / config-bot.h
index 7673299..334581a 100644 (file)
@@ -1,51 +1,97 @@
 /* config-bot.h */
 /* modify settings or make new ones based on what autoconf tells us. */
 
-/* Copyright (C) 1989-2002 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2009 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
-   Bash is free software; you can redistribute it and/or modify it under
-   the terms of the GNU General Public License as published by the Free
-   Software Foundation; either version 2, or (at your option) any later
-   version.
+   Bash is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
 
-   Bash 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 General Public License
-   for more details.
+   Bash 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 General Public License for more details.
 
-   You should have received a copy of the GNU General Public License along
-   with Bash; see the file COPYING.  If not, write to the Free Software
-   Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
+   You should have received a copy of the GNU General Public License
+   along with Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*********************************************************/
+/* Modify or set defines based on the configure results. */
+/*********************************************************/
 
 #if !defined (HAVE_VPRINTF) && defined (HAVE_DOPRNT)
 #  define USE_VFPRINTF_EMULATION
 #  define HAVE_VPRINTF
 #endif
 
+#if defined (HAVE_SYS_RESOURCE_H) && defined (HAVE_GETRLIMIT)
+#  define HAVE_RESOURCE
+#endif
+
+#if !defined (GETPGRP_VOID)
+#  define HAVE_BSD_PGRP
+#endif
+
+/* Try this without testing __STDC__ for the time being. */
+#if defined (HAVE_STDARG_H)
+#  define PREFER_STDARG
+#  define USE_VARARGS
+#else
+#  if defined (HAVE_VARARGS_H)
+#    define PREFER_VARARGS
+#    define USE_VARARGS
+#  endif
+#endif
+
+#if defined (HAVE_SYS_SOCKET_H) && defined (HAVE_GETPEERNAME) && defined (HAVE_NETINET_IN_H)
+#  define HAVE_NETWORK
+#endif
+
+#if defined (HAVE_REGEX_H) && defined (HAVE_REGCOMP) && defined (HAVE_REGEXEC)
+#  define HAVE_POSIX_REGEXP
+#endif
+
+/* backwards compatibility between different autoconf versions */
+#if HAVE_DECL_SYS_SIGLIST && !defined (SYS_SIGLIST_DECLARED)
+#  define SYS_SIGLIST_DECLARED
+#endif
+
+/***********************************************************************/
+/* Unset defines based on what configure reports as missing or broken. */
+/***********************************************************************/
+
 /* Ultrix botches type-ahead when switching from canonical to
    non-canonical mode, at least through version 4.3 */
 #if !defined (HAVE_TERMIOS_H) || !defined (HAVE_TCGETATTR) || defined (ultrix)
 #  define TERMIOS_MISSING
 #endif
 
-/* If we have a getcwd(3), but it calls popen(), #undef HAVE_GETCWD so
-   the replacement in getcwd.c will be built. */
-#if defined (HAVE_GETCWD) && defined (GETCWD_BROKEN)
+/* If we have a getcwd(3), but one that does not dynamically allocate memory,
+   #undef HAVE_GETCWD so the replacement in getcwd.c will be built.  We do
+   not do this on Solaris, because their implementation of loopback mounts
+   breaks the traditional file system assumptions that getcwd uses. */
+#if defined (HAVE_GETCWD) && defined (GETCWD_BROKEN) && !defined (SOLARIS)
 #  undef HAVE_GETCWD
 #endif
 
-#if defined (HAVE_SYS_RESOURCE_H) && defined (HAVE_GETRLIMIT)
-#  define HAVE_RESOURCE
+#if !defined (HAVE_DEV_FD) && defined (NAMED_PIPES_MISSING)
+#  undef PROCESS_SUBSTITUTION
 #endif
 
-#if !defined (GETPGRP_VOID)
-#  define HAVE_BSD_PGRP
+#if defined (JOB_CONTROL_MISSING)
+#  undef JOB_CONTROL
 #endif
 
-#if !defined (HAVE_DEV_FD) && defined (NAMED_PIPES_MISSING)
-#  undef PROCESS_SUBSTITUTION
+#if defined (STRCOLL_BROKEN)
+#  undef HAVE_STRCOLL
+#endif
+
+#if !defined (HAVE_POSIX_REGEXP)
+#  undef COND_REGEXP
 #endif
 
 /* If the shell is called by this name, it will become restricted. */
 #  define RESTRICTED_SHELL_NAME "rbash"
 #endif
 
+/***********************************************************/
+/* Make sure feature defines have necessary prerequisites. */
+/***********************************************************/
+
 /* BANG_HISTORY requires HISTORY. */
 #if defined (BANG_HISTORY) && !defined (HISTORY)
 #  define HISTORY
 #  undef DEFAULT_ECHO_TO_XPG
 #endif
 
-#if defined (JOB_CONTROL_MISSING)
-#  undef JOB_CONTROL
-#endif
-
-#if defined (__STDC__) && defined (HAVE_STDARG_H)
-#  define PREFER_STDARG
-#  define USE_VARARGS
-#else
-#  if defined (HAVE_VARARGS_H)
-#    define PREFER_VARARGS
-#    define USE_VARARGS
-#  endif
-#endif
-
-#if defined (STRCOLL_BROKEN)
-#  undef HAVE_STRCOLL
-#endif
-
-#if defined (HAVE_SYS_SOCKET_H) && defined (HAVE_GETPEERNAME) && defined (HAVE_NETINET_IN_H)
-#  define HAVE_NETWORK
-#endif
-
 #if !defined (PROMPT_STRING_DECODE)
 #  undef PPROMPT
 #  define PPROMPT "$ "
 #endif
 
+#if !defined (HAVE_SYSLOG) || !defined (HAVE_SYSLOG_H)
+#  undef SYSLOG_HISTORY
+#endif
+
 /************************************************/
 /* check multibyte capability for I18N code    */
 /************************************************/
 /* For platforms which support the ISO C amendement 1 functionality we
    support user defined character classes.  */
 /* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.  */
-#if defined (HAVE_WCTYPE_H) && defined (HAVE_WCHAR_H)
+#if defined (HAVE_WCTYPE_H) && defined (HAVE_WCHAR_H) && defined (HAVE_LOCALE_H)
 #  include <wchar.h>
 #  include <wctype.h>
-#  if defined (HAVE_MBSRTOWCS) /* system is supposed to support XPG5 */
+#  if defined (HAVE_ISWCTYPE) && \
+      defined (HAVE_ISWLOWER) && \
+      defined (HAVE_ISWUPPER) && \
+      defined (HAVE_MBSRTOWCS) && \
+      defined (HAVE_MBRTOWC) && \
+      defined (HAVE_MBRLEN) && \
+      defined (HAVE_TOWLOWER) && \
+      defined (HAVE_TOWUPPER) && \
+      defined (HAVE_WCHAR_T) && \
+      defined (HAVE_WCTYPE_T) && \
+      defined (HAVE_WINT_T) && \
+      defined (HAVE_WCWIDTH) && \
+      defined (HAVE_WCTYPE)
+     /* system is supposed to support XPG5 */
 #    define HANDLE_MULTIBYTE      1
 #  endif
 #endif
 
+/* If we don't want multibyte chars even on a system that supports them, let
+   the configuring user turn multibyte support off. */
+#if defined (NO_MULTIBYTE_SUPPORT)
+#  undef HANDLE_MULTIBYTE
+#endif
+
 /* Some systems, like BeOS, have multibyte encodings but lack mbstate_t.  */
 #if HANDLE_MULTIBYTE && !defined (HAVE_MBSTATE_T)
 #  define wcsrtombs(dest, src, len, ps) (wcsrtombs) (dest, src, len, 0)
 /************************************************/
 /* end of multibyte capability checks for I18N */
 /************************************************/
+
+/******************************************************************/
+/* Placeholder for builders to #undef any unwanted features from  */
+/* config-top.h or created by configure (such as the default mail */
+/* file for mail checking).                                      */
+/******************************************************************/
+
+/* If you don't want bash to provide a default mail file to check. */
+/* #undef DEFAULT_MAIL_DIRECTORY */