# @configure_input@
# Don't edit this file.  Put configuration parameters in configparms instead.

version = @VERSION@
release = @RELEASE@

# Installation prefixes.
install_root = $(DESTDIR)
prefix = @prefix@
exec_prefix = @exec_prefix@
datadir = @datadir@
libdir = @libdir@
slibdir = @libc_cv_slibdir@
rtlddir = @libc_cv_rtlddir@
localedir = @libc_cv_localedir@
sysconfdir = @libc_cv_sysconfdir@
libexecdir = @libexecdir@
rootsbindir = @libc_cv_rootsbindir@
infodir = @infodir@
includedir = @includedir@
datarootdir = @datarootdir@
localstatedir = @libc_cv_localstatedir@

# Should we use and build ldconfig?
use-ldconfig = @use_ldconfig@

# Maybe the `ldd' script must be rewritten.
ldd-rewrite-script = @ldd_rewrite_script@

# System configuration.
config-machine = @host_cpu@
base-machine = @base_machine@
config-vendor = @host_vendor@
config-os = @host_os@
config-sysdirs = @sysnames@
cflags-cpu = @libc_cv_cc_submachine@
asflags-cpu = @libc_cv_cc_submachine@

config-extra-cflags = @libc_extra_cflags@
config-cflags-nofma = @libc_cv_cc_nofma@

defines = @DEFINES@
sysheaders = @sysheaders@
sysincludes = @SYSINCLUDES@
c++-sysincludes = @CXX_SYSINCLUDES@
all-warnings = @all_warnings@

have-z-combreloc = @libc_cv_z_combreloc@
have-z-execstack = @libc_cv_z_execstack@
have-Bgroup = @libc_cv_Bgroup@
with-fp = @with_fp@
old-glibc-headers = @old_glibc_headers@
unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
have-forced-unwind = @libc_cv_forced_unwind@
have-fpie = @libc_cv_fpie@
gnu89-inline-CFLAGS = @gnu89_inline@
have-ssp = @libc_cv_ssp@
have-selinux = @have_selinux@
have-libaudit = @have_libaudit@
have-libcap = @have_libcap@
have-cc-with-libunwind = @libc_cv_cc_with_libunwind@
fno-unit-at-a-time = @fno_unit_at_a_time@
bind-now = @bindnow@
have-hash-style = @libc_cv_hashstyle@
use-default-link = @use_default_link@
output-format = @libc_cv_output_format@

static-libgcc = @libc_cv_gcc_static_libgcc@

oldest-abi = @oldest_abi@
exceptions = @exceptions@
multi-arch = @multi_arch@

mach-interface-list = @mach_interface_list@

have-bash2 = @libc_cv_have_bash2@
have-ksh = @libc_cv_have_ksh@

sizeof-long-double = @sizeof_long_double@

nss-crypt = @libc_cv_nss_crypt@

# Configuration options.
build-shared = @shared@
build-pic-default= @libc_cv_pic_default@
build-profile = @profile@
build-static-nss = @static_nss@
add-ons = @add_ons@
add-on-subdirs = @add_on_subdirs@
sysdeps-add-ons = @sysdeps_add_ons@
cross-compiling = @cross_compiling@
force-install = @force_install@
link-obsolete-rpc = @link_obsolete_rpc@
build-nscd = @build_nscd@
use-nscd = @use_nscd@
build-hardcoded-path-in-tests= @hardcoded_path_in_tests@
build-pt-chown = @build_pt_chown@

# Build tools.
CC = @CC@
CXX = @CXX@
BUILD_CC = @BUILD_CC@
CFLAGS = @CFLAGS@
CPPFLAGS-config = @CPPFLAGS@
CPPUNDEFS = @CPPUNDEFS@
ASFLAGS-config = @ASFLAGS_config@
AR = @AR@
NM = @NM@
MAKEINFO = @MAKEINFO@
AS = $(CC) -c
BISON = @BISON@
AUTOCONF = @AUTOCONF@
OBJDUMP = @OBJDUMP@
OBJCOPY = @OBJCOPY@
READELF = @READELF@

# Installation tools.
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_INFO = @INSTALL_INFO@
LN_S = @LN_S@
MSGFMT = @MSGFMT@

# Script execution tools.
BASH = @BASH_SHELL@
KSH = @KSH@
AWK = @AWK@
PERL = @PERL@

# Additional libraries.
LIBGD = @LIBGD@

# Package versions and bug reporting configuration.
PKGVERSION = @PKGVERSION@
PKGVERSION_TEXI = @PKGVERSION_TEXI@
REPORT_BUGS_TO = @REPORT_BUGS_TO@
REPORT_BUGS_TEXI = @REPORT_BUGS_TEXI@

# More variables may be inserted below by configure.
