From 1faefdf8ee6fa28b699a0ecba664eaae3fa3b5c0 Mon Sep 17 00:00:00 2001 From: Alexey Milovidov Date: Sun, 21 Nov 2021 19:00:01 +0300 Subject: [PATCH] Our own CMakeLists for gsasl --- contrib/CMakeLists.txt | 2 +- contrib/libgsasl-cmake/CMakeLists.txt | 105 ++ .../linux_x86_64/include/config.h | 1091 +++++++++++++++++ 3 files changed, 1197 insertions(+), 1 deletion(-) create mode 100644 contrib/libgsasl-cmake/CMakeLists.txt create mode 100644 contrib/libgsasl-cmake/linux_x86_64/include/config.h diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt index 7fa14a602b7..5cc49cbf0cd 100644 --- a/contrib/CMakeLists.txt +++ b/contrib/CMakeLists.txt @@ -194,7 +194,7 @@ if (USE_EMBEDDED_COMPILER) endif () if (USE_INTERNAL_LIBGSASL_LIBRARY) - add_subdirectory(libgsasl) + add_subdirectory(libgsasl-cmake) endif() if (USE_INTERNAL_LIBXML2_LIBRARY) diff --git a/contrib/libgsasl-cmake/CMakeLists.txt b/contrib/libgsasl-cmake/CMakeLists.txt new file mode 100644 index 00000000000..834336e7495 --- /dev/null +++ b/contrib/libgsasl-cmake/CMakeLists.txt @@ -0,0 +1,105 @@ +set (SRC_DIR "${ClickHouse_SOURCE_DIR}/contrib/libgsasl") + +set(SRCS + ${SRC_DIR}/gl/gc-gnulib.c + ${SRC_DIR}/gl/printf-parse.c + ${SRC_DIR}/gl/c-ctype.c + ${SRC_DIR}/gl/float.c + ${SRC_DIR}/gl/printf-args.c + ${SRC_DIR}/gl/hmac-sha1.c + ${SRC_DIR}/gl/itold.c + ${SRC_DIR}/gl/hmac-md5.c + ${SRC_DIR}/gl/gc-pbkdf2-sha1.c + ${SRC_DIR}/gl/md5.c + ${SRC_DIR}/gl/base64.c + ${SRC_DIR}/gl/memxor.c + ${SRC_DIR}/gl/sha1.c + ${SRC_DIR}/openid20/client.c + ${SRC_DIR}/openid20/mechinfo.c + ${SRC_DIR}/openid20/server.c + ${SRC_DIR}/anonymous/client.c + ${SRC_DIR}/anonymous/mechinfo.c + ${SRC_DIR}/anonymous/server.c + ${SRC_DIR}/saml20/client.c + ${SRC_DIR}/saml20/mechinfo.c + ${SRC_DIR}/saml20/server.c + ${SRC_DIR}/scram/parser.c + ${SRC_DIR}/scram/printer.c + ${SRC_DIR}/scram/tokens.c + ${SRC_DIR}/scram/client.c + ${SRC_DIR}/scram/mechinfo.c + ${SRC_DIR}/scram/server.c + ${SRC_DIR}/scram/validate.c + ${SRC_DIR}/src/free.c + ${SRC_DIR}/src/supportp.c + ${SRC_DIR}/src/init.c + ${SRC_DIR}/src/mechtools.c + ${SRC_DIR}/src/error.c + ${SRC_DIR}/src/property.c + ${SRC_DIR}/src/done.c + ${SRC_DIR}/src/callback.c + ${SRC_DIR}/src/xstart.c + ${SRC_DIR}/src/xfinish.c + ${SRC_DIR}/src/version.c + ${SRC_DIR}/src/xstep.c + ${SRC_DIR}/src/mechname.c + ${SRC_DIR}/src/xcode.c + ${SRC_DIR}/src/crypto.c + ${SRC_DIR}/src/doxygen.c + ${SRC_DIR}/src/suggest.c + ${SRC_DIR}/src/saslprep.c + ${SRC_DIR}/src/listmech.c + ${SRC_DIR}/src/register.c + ${SRC_DIR}/src/base64.c + ${SRC_DIR}/src/md5pwd.c + ${SRC_DIR}/external/client.c + ${SRC_DIR}/external/mechinfo.c + ${SRC_DIR}/external/server.c + ${SRC_DIR}/securid/client.c + ${SRC_DIR}/securid/mechinfo.c + ${SRC_DIR}/securid/server.c + ${SRC_DIR}/plain/client.c + ${SRC_DIR}/plain/mechinfo.c + ${SRC_DIR}/plain/server.c + ${SRC_DIR}/cram-md5/client.c + ${SRC_DIR}/cram-md5/challenge.c + ${SRC_DIR}/cram-md5/mechinfo.c + ${SRC_DIR}/cram-md5/server.c + ${SRC_DIR}/cram-md5/digest.c + ${SRC_DIR}/digest-md5/client.c + ${SRC_DIR}/digest-md5/digesthmac.c + ${SRC_DIR}/digest-md5/free.c + ${SRC_DIR}/digest-md5/getsubopt.c + ${SRC_DIR}/digest-md5/mechinfo.c + ${SRC_DIR}/digest-md5/nonascii.c + ${SRC_DIR}/digest-md5/parser.c + ${SRC_DIR}/digest-md5/printer.c + ${SRC_DIR}/digest-md5/qop.c + ${SRC_DIR}/digest-md5/server.c + ${SRC_DIR}/digest-md5/session.c + ${SRC_DIR}/digest-md5/test-parser.c + ${SRC_DIR}/digest-md5/validate.c + ${SRC_DIR}/login/client.c + ${SRC_DIR}/login/mechinfo.c + ${SRC_DIR}/login/server.c +) + +if (USE_KRB5) + set(SRCS ${SRCS} + ${SRC_DIR}/gssapi/client.c + ${SRC_DIR}/gssapi/mechinfo.c + ${SRC_DIR}/gssapi/server.c) +endif() + +add_library(libgsasl ${SRCS}) + +target_include_directories(libgsasl PUBLIC ${SRC_DIR}) +target_include_directories(libgsasl PUBLIC ${SRC_DIR}/gl) +target_include_directories(libgsasl PUBLIC ${SRC_DIR}/src) +target_include_directories(libgsasl PUBLIC ${SRC_DIR}/digest-md5) +target_include_directories(libgsasl PRIVATE linux_x86_64/include) + +if (USE_KRB5) + target_link_libraries(libgsasl PUBLIC ${KRB5_LIBRARY}) + target_compile_definitions (libgsasl PRIVATE HAVE_GSSAPI_H=1 USE_GSSAPI=1 USE_KERBEROS_V5=1) +endif() diff --git a/contrib/libgsasl-cmake/linux_x86_64/include/config.h b/contrib/libgsasl-cmake/linux_x86_64/include/config.h new file mode 100644 index 00000000000..0f5c1d359ea --- /dev/null +++ b/contrib/libgsasl-cmake/linux_x86_64/include/config.h @@ -0,0 +1,1091 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to the number of bits in type 'ptrdiff_t'. */ +/* #undef BITSIZEOF_PTRDIFF_T */ + +/* Define to the number of bits in type 'sig_atomic_t'. */ +/* #undef BITSIZEOF_SIG_ATOMIC_T */ + +/* Define to the number of bits in type 'size_t'. */ +/* #undef BITSIZEOF_SIZE_T */ + +/* Define to the number of bits in type 'wchar_t'. */ +/* #undef BITSIZEOF_WCHAR_T */ + +/* Define to the number of bits in type 'wint_t'. */ +/* #undef BITSIZEOF_WINT_T */ + +/* Define to one of '_getb67', 'GETB67', 'getb67' for Cray-2 and Cray-YMP + systems. This function is required for 'alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using 'alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define as the bit index in the word where to find bit 0 of the exponent of + 'double'. */ +#define DBL_EXPBIT0_BIT 20 + +/* Define as the word index where to find the exponent of 'double'. */ +#define DBL_EXPBIT0_WORD 1 + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifdef __APPLE__ +#define ENABLE_NLS 0 +#else +#define ENABLE_NLS 1 +#endif + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module gc-hmac-md5 shall be considered present. */ +#define GNULIB_GC_HMAC_MD5 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module gc-hmac-sha1 shall be considered present. */ +#define GNULIB_GC_HMAC_SHA1 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module gc-md5 shall be considered present. */ +#define GNULIB_GC_MD5 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module gc-random shall be considered present. */ +#define GNULIB_GC_RANDOM 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module gc-sha1 shall be considered present. */ +#define GNULIB_GC_SHA1 1 + +/* Define to 1 when the gnulib module fdopen should be tested. */ +#define GNULIB_TEST_FDOPEN 1 + +/* Define to 1 when the gnulib module getdelim should be tested. */ +#define GNULIB_TEST_GETDELIM 1 + +/* Define to 1 when the gnulib module getline should be tested. */ +#define GNULIB_TEST_GETLINE 1 + +/* Define to 1 when the gnulib module getpagesize should be tested. */ +#define GNULIB_TEST_GETPAGESIZE 1 + +/* Define to 1 when the gnulib module memchr should be tested. */ +#define GNULIB_TEST_MEMCHR 1 + +/* Define to 1 when the gnulib module memmem should be tested. */ +#define GNULIB_TEST_MEMMEM 1 + +/* Define to 1 when the gnulib module realloc-posix should be tested. */ +#define GNULIB_TEST_REALLOC_POSIX 1 + +/* Define to 1 when the gnulib module strndup should be tested. */ +#define GNULIB_TEST_STRNDUP 1 + +/* Define to 1 when the gnulib module strnlen should be tested. */ +#define GNULIB_TEST_STRNLEN 1 + +/* Define to 1 when the gnulib module strverscmp should be tested. */ +#define GNULIB_TEST_STRVERSCMP 1 + +/* Define to 1 when the gnulib module vasprintf should be tested. */ +#define GNULIB_TEST_VASPRINTF 1 + +/* Define to 1 if you don't want backwards compatibility code. */ +#define GSASL_NO_OBSOLETE 1 + +/* Define to 1 if you have 'alloca' after including , a header that + may be supplied by this distribution. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +#define HAVE_ALLOCA_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_BP_SYM_H */ + +/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ + +/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#define HAVE_DCGETTEXT 1 + +/* Define to 1 if you have the declaration of `alarm', and to 0 if you don't. + */ +#define HAVE_DECL_ALARM 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +/* #undef HAVE_DECL_GETC_UNLOCKED */ + +/* Define to 1 if you have the declaration of `getdelim', and to 0 if you + don't. */ +#define HAVE_DECL_GETDELIM 1 + +/* Define to 1 if you have the declaration of `getline', and to 0 if you + don't. */ +#define HAVE_DECL_GETLINE 1 + +/* Define to 1 if you have the declaration of `memmem', and to 0 if you don't. + */ +#define HAVE_DECL_MEMMEM 1 + +/* Define to 1 if you have the declaration of `strndup', and to 0 if you + don't. */ +#define HAVE_DECL_STRNDUP 1 + +/* Define to 1 if you have the declaration of `strnlen', and to 0 if you + don't. */ +#define HAVE_DECL_STRNLEN 1 + +/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you + don't. */ +#define HAVE_DECL__SNPRINTF 0 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#ifdef __APPLE__ +#define HAVE_FEATURES_H 0 +#else +#define HAVE_FEATURES_H 1 +#endif + +/* Define to 1 if you have the `flockfile' function. */ +/* #undef HAVE_FLOCKFILE */ + +/* Define to 1 if you have the `funlockfile' function. */ +/* #undef HAVE_FUNLOCKFILE */ + +/* Define to 1 if you have the `getdelim' function. */ +#define HAVE_GETDELIM 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#define HAVE_GETTEXT 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_GSSAPI_GSSAPI_H */ + +/* Define to 1 if you have the `GSS_C_NT_HOSTBASED_SERVICE' function. */ +/* #undef HAVE_GSS_C_NT_HOSTBASED_SERVICE */ + +/* Define to 1 if you have the `gss_decapsulate_token' function. */ +/* #undef HAVE_GSS_DECAPSULATE_TOKEN */ + +/* Define to 1 if you have the `gss_encapsulate_token' function. */ +/* #undef HAVE_GSS_ENCAPSULATE_TOKEN */ + +/* Define to 1 if you have the `gss_inquire_mech_for_saslname' function. */ +/* #undef HAVE_GSS_INQUIRE_MECH_FOR_SASLNAME */ + +/* Define to 1 if you have the `gss_oid_equal' function. */ +/* #undef HAVE_GSS_OID_EQUAL */ + +/* Define if you have the iconv() function and it works. */ +/* #undef HAVE_ICONV */ + +/* Define if you have the 'intmax_t' type in or . */ +#define HAVE_INTMAX_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if exists, doesn't clash with , and + declares uintmax_t. */ +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 + +/* Define if you have the libgcrypt library. */ +/* #undef HAVE_LIBGCRYPT */ + +/* Define if you have the libgss library. */ +/* #undef HAVE_LIBGSS */ + +/* Define if you have the libgssapi32 library. */ +/* #undef HAVE_LIBGSSAPI32 */ + +/* Define if you have the libidn library. */ +#define HAVE_LIBIDN 0 + +/* Define if you have the libntlm library. */ +/* #undef HAVE_LIBNTLM */ + +/* Define if you have the libshishi library. */ +/* #undef HAVE_LIBSHISHI */ + +/* Define to 1 if the system has the type `long long int'. */ +#define HAVE_LONG_LONG_INT 1 + +/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including + config.h and . */ +#define HAVE_MAP_ANONYMOUS 1 + +/* Define to 1 if you have the `mbrtowc' function. */ +#define HAVE_MBRTOWC 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if defines the MIN and MAX macros. */ +/* #undef HAVE_MINMAX_IN_LIMITS_H */ + +/* Define to 1 if defines the MIN and MAX macros. */ +#define HAVE_MINMAX_IN_SYS_PARAM_H 1 + +/* Define to 1 if you have the `mprotect' function. */ +#define HAVE_MPROTECT 1 + +/* Define to 1 on MSVC platforms that have the "invalid parameter handler" + concept. */ +/* #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_OS_H */ + +/* Define to 1 if you have the `pr29_8z' function. */ +#define HAVE_PR29_8Z 0 + +/* Define to 1 if you have the header file. */ +#define HAVE_PR29_H 0 + +/* Define to 1 if atoll is declared even after undefining macros. */ +#define HAVE_RAW_DECL_ATOLL 1 + +/* Define to 1 if btowc is declared even after undefining macros. */ +#define HAVE_RAW_DECL_BTOWC 1 + +/* Define to 1 if canonicalize_file_name is declared even after undefining + macros. */ +#define HAVE_RAW_DECL_CANONICALIZE_FILE_NAME 1 + +/* Define to 1 if chdir is declared even after undefining macros. */ +#define HAVE_RAW_DECL_CHDIR 1 + +/* Define to 1 if chown is declared even after undefining macros. */ +#define HAVE_RAW_DECL_CHOWN 1 + +/* Define to 1 if dprintf is declared even after undefining macros. */ +#define HAVE_RAW_DECL_DPRINTF 1 + +/* Define to 1 if dup is declared even after undefining macros. */ +#define HAVE_RAW_DECL_DUP 1 + +/* Define to 1 if dup2 is declared even after undefining macros. */ +#define HAVE_RAW_DECL_DUP2 1 + +/* Define to 1 if dup3 is declared even after undefining macros. */ +#define HAVE_RAW_DECL_DUP3 1 + +/* Define to 1 if endusershell is declared even after undefining macros. */ +#define HAVE_RAW_DECL_ENDUSERSHELL 1 + +/* Define to 1 if environ is declared even after undefining macros. */ +#define HAVE_RAW_DECL_ENVIRON 1 + +/* Define to 1 if euidaccess is declared even after undefining macros. */ +#define HAVE_RAW_DECL_EUIDACCESS 1 + +/* Define to 1 if faccessat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FACCESSAT 1 + +/* Define to 1 if fchdir is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FCHDIR 1 + +/* Define to 1 if fchownat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FCHOWNAT 1 + +/* Define to 1 if fdatasync is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FDATASYNC 1 + +/* Define to 1 if ffsl is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FFSL 1 + +/* Define to 1 if ffsll is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FFSLL 1 + +/* Define to 1 if fpurge is declared even after undefining macros. */ +/* #undef HAVE_RAW_DECL_FPURGE */ + +/* Define to 1 if fseeko is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FSEEKO 1 + +/* Define to 1 if fsync is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FSYNC 1 + +/* Define to 1 if ftello is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FTELLO 1 + +/* Define to 1 if ftruncate is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FTRUNCATE 1 + +/* Define to 1 if getcwd is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETCWD 1 + +/* Define to 1 if getdelim is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETDELIM 1 + +/* Define to 1 if getdomainname is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETDOMAINNAME 1 + +/* Define to 1 if getdtablesize is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETDTABLESIZE 1 + +/* Define to 1 if getgroups is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETGROUPS 1 + +/* Define to 1 if gethostname is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETHOSTNAME 1 + +/* Define to 1 if getline is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETLINE 1 + +/* Define to 1 if getloadavg is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETLOADAVG 1 + +/* Define to 1 if getlogin is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETLOGIN 1 + +/* Define to 1 if getlogin_r is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETLOGIN_R 1 + +/* Define to 1 if getpagesize is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETPAGESIZE 1 + +/* Define to 1 if gets is declared even after undefining macros. */ +/* #undef HAVE_RAW_DECL_GETS */ + +/* Define to 1 if getsubopt is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETSUBOPT 1 + +/* Define to 1 if getusershell is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GETUSERSHELL 1 + +/* Define to 1 if grantpt is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GRANTPT 1 + +/* Define to 1 if group_member is declared even after undefining macros. */ +#define HAVE_RAW_DECL_GROUP_MEMBER 1 + +/* Define to 1 if imaxabs is declared even after undefining macros. */ +#define HAVE_RAW_DECL_IMAXABS 1 + +/* Define to 1 if imaxdiv is declared even after undefining macros. */ +#define HAVE_RAW_DECL_IMAXDIV 1 + +/* Define to 1 if initstate is declared even after undefining macros. */ +#define HAVE_RAW_DECL_INITSTATE 1 + +/* Define to 1 if initstate_r is declared even after undefining macros. */ +#define HAVE_RAW_DECL_INITSTATE_R 1 + +/* Define to 1 if isatty is declared even after undefining macros. */ +#define HAVE_RAW_DECL_ISATTY 1 + +/* Define to 1 if lchown is declared even after undefining macros. */ +#define HAVE_RAW_DECL_LCHOWN 1 + +/* Define to 1 if link is declared even after undefining macros. */ +#define HAVE_RAW_DECL_LINK 1 + +/* Define to 1 if linkat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_LINKAT 1 + +/* Define to 1 if lseek is declared even after undefining macros. */ +#define HAVE_RAW_DECL_LSEEK 1 + +/* Define to 1 if mbrlen is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MBRLEN 1 + +/* Define to 1 if mbrtowc is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MBRTOWC 1 + +/* Define to 1 if mbsinit is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MBSINIT 1 + +/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MBSNRTOWCS 1 + +/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MBSRTOWCS 1 + +/* Define to 1 if memmem is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MEMMEM 1 + +/* Define to 1 if mempcpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MEMPCPY 1 + +/* Define to 1 if memrchr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MEMRCHR 1 + +/* Define to 1 if mkdtemp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MKDTEMP 1 + +/* Define to 1 if mkostemp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MKOSTEMP 1 + +/* Define to 1 if mkostemps is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MKOSTEMPS 1 + +/* Define to 1 if mkstemp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MKSTEMP 1 + +/* Define to 1 if mkstemps is declared even after undefining macros. */ +#define HAVE_RAW_DECL_MKSTEMPS 1 + +/* Define to 1 if pclose is declared even after undefining macros. */ +#define HAVE_RAW_DECL_PCLOSE 1 + +/* Define to 1 if pipe is declared even after undefining macros. */ +#define HAVE_RAW_DECL_PIPE 1 + +/* Define to 1 if pipe2 is declared even after undefining macros. */ +#define HAVE_RAW_DECL_PIPE2 1 + +/* Define to 1 if popen is declared even after undefining macros. */ +#define HAVE_RAW_DECL_POPEN 1 + +/* Define to 1 if posix_openpt is declared even after undefining macros. */ +#define HAVE_RAW_DECL_POSIX_OPENPT 1 + +/* Define to 1 if pread is declared even after undefining macros. */ +#define HAVE_RAW_DECL_PREAD 1 + +/* Define to 1 if ptsname is declared even after undefining macros. */ +#define HAVE_RAW_DECL_PTSNAME 1 + +/* Define to 1 if ptsname_r is declared even after undefining macros. */ +#define HAVE_RAW_DECL_PTSNAME_R 1 + +/* Define to 1 if pwrite is declared even after undefining macros. */ +#define HAVE_RAW_DECL_PWRITE 1 + +/* Define to 1 if random is declared even after undefining macros. */ +#define HAVE_RAW_DECL_RANDOM 1 + +/* Define to 1 if random_r is declared even after undefining macros. */ +#define HAVE_RAW_DECL_RANDOM_R 1 + +/* Define to 1 if rawmemchr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_RAWMEMCHR 1 + +/* Define to 1 if readlink is declared even after undefining macros. */ +#define HAVE_RAW_DECL_READLINK 1 + +/* Define to 1 if readlinkat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_READLINKAT 1 + +/* Define to 1 if realpath is declared even after undefining macros. */ +#define HAVE_RAW_DECL_REALPATH 1 + +/* Define to 1 if renameat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_RENAMEAT 1 + +/* Define to 1 if rmdir is declared even after undefining macros. */ +#define HAVE_RAW_DECL_RMDIR 1 + +/* Define to 1 if rpmatch is declared even after undefining macros. */ +#define HAVE_RAW_DECL_RPMATCH 1 + +/* Define to 1 if setenv is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SETENV 1 + +/* Define to 1 if sethostname is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SETHOSTNAME 1 + +/* Define to 1 if setstate is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SETSTATE 1 + +/* Define to 1 if setstate_r is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SETSTATE_R 1 + +/* Define to 1 if setusershell is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SETUSERSHELL 1 + +/* Define to 1 if sleep is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SLEEP 1 + +/* Define to 1 if snprintf is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SNPRINTF 1 + +/* Define to 1 if srandom is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SRANDOM 1 + +/* Define to 1 if srandom_r is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SRANDOM_R 1 + +/* Define to 1 if stpcpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STPCPY 1 + +/* Define to 1 if stpncpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STPNCPY 1 + +/* Define to 1 if strcasestr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRCASESTR 1 + +/* Define to 1 if strchrnul is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRCHRNUL 1 + +/* Define to 1 if strdup is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRDUP 1 + +/* Define to 1 if strerror_r is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRERROR_R 1 + +/* Define to 1 if strncat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRNCAT 1 + +/* Define to 1 if strndup is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRNDUP 1 + +/* Define to 1 if strnlen is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRNLEN 1 + +/* Define to 1 if strpbrk is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRPBRK 1 + +/* Define to 1 if strsep is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRSEP 1 + +/* Define to 1 if strsignal is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRSIGNAL 1 + +/* Define to 1 if strtod is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRTOD 1 + +/* Define to 1 if strtoimax is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRTOIMAX 1 + +/* Define to 1 if strtok_r is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRTOK_R 1 + +/* Define to 1 if strtoll is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRTOLL 1 + +/* Define to 1 if strtoull is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRTOULL 1 + +/* Define to 1 if strtoumax is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRTOUMAX 1 + +/* Define to 1 if strverscmp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRVERSCMP 1 + +/* Define to 1 if symlink is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SYMLINK 1 + +/* Define to 1 if symlinkat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SYMLINKAT 1 + +/* Define to 1 if tmpfile is declared even after undefining macros. */ +#define HAVE_RAW_DECL_TMPFILE 1 + +/* Define to 1 if ttyname_r is declared even after undefining macros. */ +#define HAVE_RAW_DECL_TTYNAME_R 1 + +/* Define to 1 if unlink is declared even after undefining macros. */ +#define HAVE_RAW_DECL_UNLINK 1 + +/* Define to 1 if unlinkat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_UNLINKAT 1 + +/* Define to 1 if unlockpt is declared even after undefining macros. */ +#define HAVE_RAW_DECL_UNLOCKPT 1 + +/* Define to 1 if unsetenv is declared even after undefining macros. */ +#define HAVE_RAW_DECL_UNSETENV 1 + +/* Define to 1 if usleep is declared even after undefining macros. */ +#define HAVE_RAW_DECL_USLEEP 1 + +/* Define to 1 if vdprintf is declared even after undefining macros. */ +#define HAVE_RAW_DECL_VDPRINTF 1 + +/* Define to 1 if vsnprintf is declared even after undefining macros. */ +#define HAVE_RAW_DECL_VSNPRINTF 1 + +/* Define to 1 if wcpcpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCPCPY 1 + +/* Define to 1 if wcpncpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCPNCPY 1 + +/* Define to 1 if wcrtomb is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCRTOMB 1 + +/* Define to 1 if wcscasecmp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCASECMP 1 + +/* Define to 1 if wcscat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCAT 1 + +/* Define to 1 if wcschr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCHR 1 + +/* Define to 1 if wcscmp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCMP 1 + +/* Define to 1 if wcscoll is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCOLL 1 + +/* Define to 1 if wcscpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCPY 1 + +/* Define to 1 if wcscspn is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCSPN 1 + +/* Define to 1 if wcsdup is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSDUP 1 + +/* Define to 1 if wcslen is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSLEN 1 + +/* Define to 1 if wcsncasecmp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSNCASECMP 1 + +/* Define to 1 if wcsncat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSNCAT 1 + +/* Define to 1 if wcsncmp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSNCMP 1 + +/* Define to 1 if wcsncpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSNCPY 1 + +/* Define to 1 if wcsnlen is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSNLEN 1 + +/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSNRTOMBS 1 + +/* Define to 1 if wcspbrk is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSPBRK 1 + +/* Define to 1 if wcsrchr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSRCHR 1 + +/* Define to 1 if wcsrtombs is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSRTOMBS 1 + +/* Define to 1 if wcsspn is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSSPN 1 + +/* Define to 1 if wcsstr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSSTR 1 + +/* Define to 1 if wcstok is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSTOK 1 + +/* Define to 1 if wcswidth is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSWIDTH 1 + +/* Define to 1 if wcsxfrm is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSXFRM 1 + +/* Define to 1 if wctob is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCTOB 1 + +/* Define to 1 if wcwidth is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCWIDTH 1 + +/* Define to 1 if wmemchr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WMEMCHR 1 + +/* Define to 1 if wmemcmp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WMEMCMP 1 + +/* Define to 1 if wmemcpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WMEMCPY 1 + +/* Define to 1 if wmemmove is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WMEMMOVE 1 + +/* Define to 1 if wmemset is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WMEMSET 1 + +/* Define to 1 if _Exit is declared even after undefining macros. */ +#define HAVE_RAW_DECL__EXIT 1 + +/* Define if the 'realloc' function is POSIX compliant. */ +#define HAVE_REALLOC_POSIX 1 + +/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ +/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ + +/* Define to 1 if 'wchar_t' is a signed integer type. */ +/* #undef HAVE_SIGNED_WCHAR_T */ + +/* Define to 1 if 'wint_t' is a signed integer type. */ +/* #undef HAVE_SIGNED_WINT_T */ + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define if the return value of the snprintf function is the number of of + bytes (excluding the terminating NUL) that would have been produced if the + buffer had been large enough. */ +#define HAVE_SNPRINTF_RETVAL_C99 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define if exists, doesn't clash with , and declares + uintmax_t. */ +#define HAVE_STDINT_H_WITH_UINTMAX 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strnlen' function. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the `strverscmp' function. */ +#define HAVE_STRVERSCMP 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_BITYPES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_INTTYPES_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PARAM_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#define HAVE_UNSIGNED_LONG_LONG_INT 1 + +/* Define to 1 if you have the `vasnprintf' function. */ +/* #undef HAVE_VASNPRINTF */ + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 or 0, depending whether the compiler supports simple visibility + declarations. */ +#define HAVE_VISIBILITY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Define if you have the 'wchar_t' type. */ +#define HAVE_WCHAR_T 1 + +/* Define to 1 if you have the `wcrtomb' function. */ +#define HAVE_WCRTOMB 1 + +/* Define to 1 if you have the `wcslen' function. */ +#define HAVE_WCSLEN 1 + +/* Define to 1 if you have the `wcsnlen' function. */ +#define HAVE_WCSNLEN 1 + +/* Define if you have the 'wint_t' type. */ +#define HAVE_WINT_T 1 + +/* Define to 1 if the system has the type `_Bool'. */ +#define HAVE__BOOL 1 + +/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ +/* #undef HAVE__SET_INVALID_PARAMETER_HANDLER */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ +/* #undef MAP_ANONYMOUS */ + +/* defined to the name of the unpredictable nonce device */ +#define NAME_OF_NONCE_DEVICE "/dev/urandom" + +/* defined to the name of the pseudo random device */ +#define NAME_OF_PSEUDO_RANDOM_DEVICE "/dev/urandom" + +/* defined to the name of the (strong) random device */ +#define NAME_OF_RANDOM_DEVICE "/dev/random" + +/* Name of package */ +#define PACKAGE "libgsasl" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "bug-gsasl@gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libgsasl" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libgsasl 1.8.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgsasl" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.8.0" + +/* Define if exists and defines unusable PRI* macros. */ +/* #undef PRI_MACROS_BROKEN */ + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'ptrdiff_t'. */ +/* #undef PTRDIFF_T_SUFFIX */ + +/* Define if vasnprintf exists but is overridden by gnulib. */ +/* #undef REPLACE_VASNPRINTF */ + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'sig_atomic_t'. */ +/* #undef SIG_ATOMIC_T_SUFFIX */ + +/* Define as the maximum value of type 'size_t', if the system doesn't define + it. */ +#ifndef SIZE_MAX +/* # undef SIZE_MAX */ +#endif + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'size_t'. */ +/* #undef SIZE_T_SUFFIX */ + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you want ANONYMOUS. */ +#define USE_ANONYMOUS 1 + +/* Define to 1 if you want client code. */ +#define USE_CLIENT 1 + +/* Define to 1 if you want CRAM-MD5. */ +#define USE_CRAM_MD5 1 + +/* Define to 1 if you want DIGEST-MD5. */ +#define USE_DIGEST_MD5 1 + +/* Define to 1 if you want EXTERNAL. */ +#define USE_EXTERNAL 1 + +/* Define to 1 if you want GS2. */ +/* #undef USE_GS2 */ + +/* Define to 1 if you want LOGIN. */ +#define USE_LOGIN 1 + +/* Define to 1 if you want NTLM. */ +/* #undef USE_NTLM */ + +/* Define to 1 if you want OPENID20. */ +#define USE_OPENID20 1 + +/* Define to 1 if you want PLAIN. */ +#define USE_PLAIN 1 + +/* Define to 1 if you want SAML20. */ +#define USE_SAML20 1 + +/* Define to 1 if you want SCRAM-SHA-1. */ +#define USE_SCRAM_SHA1 1 + +/* Define to 1 if you want SECURID. */ +#define USE_SECURID 1 + +/* Define to 1 if you want server code. */ +#define USE_SERVER 1 + +/* Version number of package */ +#define VERSION "1.8.0" + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'wchar_t'. */ +/* #undef WCHAR_T_SUFFIX */ + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'wint_t'. */ +/* #undef WINT_T_SUFFIX */ + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if on MINIX. */ +/* #undef _MINIX */ + +/* The _Noreturn keyword of C11. */ +#if ! (defined _Noreturn \ + || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define to 1 if you need to in order for 'stat' and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* Define to 500 only on HP-UX. */ +/* #undef _XOPEN_SOURCE */ + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable general extensions on MacOS X. */ +#ifndef _DARWIN_C_SOURCE +# define _DARWIN_C_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to long or long long if and don't define. */ +/* #undef intmax_t */ + +/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports + the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of + earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. + __APPLE__ && __MACH__ test for MacOS X. + __APPLE_CC__ tests for the Apple compiler and its version. + __STDC_VERSION__ tests for the C99 mode. */ +#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ +# define __GNUC_STDC_INLINE__ 1 +#endif + +/* Define to `int' if does not define. */ +/* #undef mode_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define as the type of the result of subtracting two pointers, if the system + doesn't define it. */ +/* #undef ptrdiff_t */ + +/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#define restrict __restrict +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +# define __restrict__ +#endif + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define as a signed type of the same size as size_t. */ +/* #undef ssize_t */ + +/* Define as a marker that can be attached to declarations that might not + be used. This helps to reduce warnings, such as from + GCC -Wunused-parameter. */ +#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +# define _GL_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_UNUSED +#endif +/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name + is a misnomer outside of parameter lists. */ +#define _UNUSED_PARAMETER_ _GL_UNUSED + +/* The __pure__ attribute was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif + +/* The __const__ attribute was added in gcc 2.95. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST /* empty */ +#endif