## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
# Copyright (C) 2002-2019 Free Software Foundation, Inc.
#
# This file 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.
#
# This file 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 this file.  If not, see <https://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License,
# this file may be distributed as part of a program that
# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
# Reproduce by:
# gnulib-tool --import --local-dir=gl \
#  --lib=libbison \
#  --source-base=lib \
#  --m4-base=m4 \
#  --po-base=gnulib-po \
#  --doc-base=doc \
#  --tests-base=tests \
#  --aux-dir=build-aux \
#  --makefile-name=gnulib.mk \
#  --conditional-dependencies \
#  --no-libtool \
#  --macro-prefix=gl \
#  --po-domain=bison \
#  argmatch \
#  array-list \
#  assert \
#  assure \
#  bitsetv \
#  c-strcase \
#  calloc-posix \
#  close \
#  closeout \
#  config-h \
#  configmake \
#  dirname \
#  error \
#  extensions \
#  fdl \
#  fopen-safer \
#  fprintf-posix \
#  fstrcmp \
#  getopt-gnu \
#  gettext-h \
#  git-version-gen \
#  gitlog-to-changelog \
#  gpl-3.0 \
#  intprops \
#  inttypes \
#  isnan \
#  javacomp-script \
#  javaexec-script \
#  ldexpl \
#  libtextstyle-optional \
#  malloc-gnu \
#  mbfile \
#  mbswidth \
#  non-recursive-gnulib-prefix-hack \
#  obstack \
#  obstack-printf \
#  perror \
#  printf-posix \
#  progname \
#  quote \
#  quotearg \
#  readme-release \
#  realloc-posix \
#  relocatable-prog \
#  relocatable-script \
#  rename \
#  snprintf-posix \
#  spawn-pipe \
#  sprintf-posix \
#  stdbool \
#  stpcpy \
#  strdup-posix \
#  strerror \
#  strverscmp \
#  timevar \
#  unistd \
#  unistd-safer \
#  unlink \
#  unlocked-io \
#  unsetenv \
#  update-copyright \
#  verify \
#  vsnprintf-posix \
#  vsprintf-posix \
#  warnings \
#  winsz-ioctl \
#  winsz-termios \
#  xalloc \
#  xalloc-die \
#  xconcat-filename \
#  xhash \
#  xlist \
#  xmemdup0 \
#  xstrndup


MOSTLYCLEANFILES += lib/core lib/*.stackdump
# No GNU Make output.

noinst_LIBRARIES += lib/libbison.a

lib_libbison_a_SOURCES =
lib_libbison_a_LIBADD = $(gl_LIBOBJS)
lib_libbison_a_DEPENDENCIES = $(gl_LIBOBJS)
EXTRA_lib_libbison_a_SOURCES =

lib_libbison_a_CPPFLAGS = $(AM_CPPFLAGS) -DDEFAULT_TEXT_DOMAIN=\"bison-gnulib\"

## begin gnulib module absolute-header

# Use this preprocessor expression to decide whether #include_next works.
# Do not rely on a 'configure'-time test for this, since the expression
# might appear in an installed header, which is used by some other compiler.
HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)

## end   gnulib module absolute-header

## begin gnulib module alignof


EXTRA_DIST += lib/alignof.h

## end   gnulib module alignof

## begin gnulib module alloca-opt

BUILT_SOURCES += $(ALLOCA_H)

# We need the following in order to create <alloca.h> when the system
# doesn't have one that works with the given compiler.
if GL_GENERATE_ALLOCA_H
lib/alloca.h: lib/alloca.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' < $(top_srcdir)/lib/alloca.in.h; \
	} > $@-t && \
	mv -f $@-t $@
else
lib/alloca.h: $(top_builddir)/config.status
	rm -f $@
endif
MOSTLYCLEANFILES += lib/alloca.h lib/alloca.h-t

EXTRA_DIST += lib/alloca.in.h

## end   gnulib module alloca-opt

## begin gnulib module allocator

lib_libbison_a_SOURCES += lib/allocator.c

EXTRA_DIST += lib/allocator.h

## end   gnulib module allocator

## begin gnulib module announce-gen


EXTRA_DIST += $(top_srcdir)/build-aux/announce-gen

## end   gnulib module announce-gen

## begin gnulib module areadlink

lib_libbison_a_SOURCES += lib/areadlink.c

EXTRA_DIST += lib/areadlink.h

## end   gnulib module areadlink

## begin gnulib module argmatch

lib_libbison_a_SOURCES += lib/argmatch.c

EXTRA_DIST += lib/argmatch.h

## end   gnulib module argmatch

## begin gnulib module array-list

lib_libbison_a_SOURCES += lib/gl_array_list.h lib/gl_array_list.c

## end   gnulib module array-list

## begin gnulib module assure


EXTRA_DIST += lib/assure.h

## end   gnulib module assure

## begin gnulib module binary-io

lib_libbison_a_SOURCES += lib/binary-io.h lib/binary-io.c

## end   gnulib module binary-io

## begin gnulib module bitrotate

lib_libbison_a_SOURCES += lib/bitrotate.h lib/bitrotate.c

## end   gnulib module bitrotate

## begin gnulib module bitset

lib_libbison_a_SOURCES += lib/bitset.c lib/bitset/array.c lib/bitset/stats.c    lib/bitset/table.c lib/bitset/list.c lib/bitset/vector.c

EXTRA_DIST += lib/bitset.h lib/bitset/array.h lib/bitset/base.h lib/bitset/list.h lib/bitset/stats.h lib/bitset/table.h lib/bitset/vector.h

## end   gnulib module bitset

## begin gnulib module bitsetv

lib_libbison_a_SOURCES += lib/bitsetv.c

EXTRA_DIST += lib/bitsetv.h

## end   gnulib module bitsetv

## begin gnulib module c-ctype

lib_libbison_a_SOURCES += lib/c-ctype.h lib/c-ctype.c

## end   gnulib module c-ctype

## begin gnulib module c-strcase

lib_libbison_a_SOURCES += lib/c-strcase.h lib/c-strcasecmp.c lib/c-strncasecmp.c

## end   gnulib module c-strcase

## begin gnulib module c-strcaseeq


EXTRA_DIST += lib/c-strcaseeq.h

## end   gnulib module c-strcaseeq

## begin gnulib module calloc-posix


EXTRA_DIST += lib/calloc.c

EXTRA_lib_libbison_a_SOURCES += lib/calloc.c

## end   gnulib module calloc-posix

## begin gnulib module canonicalize-lgpl


EXTRA_DIST += lib/canonicalize-lgpl.c

EXTRA_lib_libbison_a_SOURCES += lib/canonicalize-lgpl.c

## end   gnulib module canonicalize-lgpl

## begin gnulib module careadlinkat

lib_libbison_a_SOURCES += lib/careadlinkat.c

EXTRA_DIST += lib/careadlinkat.h

## end   gnulib module careadlinkat

## begin gnulib module cloexec

lib_libbison_a_SOURCES += lib/cloexec.c

EXTRA_DIST += lib/cloexec.h

## end   gnulib module cloexec

## begin gnulib module close


EXTRA_DIST += lib/close.c

EXTRA_lib_libbison_a_SOURCES += lib/close.c

## end   gnulib module close

## begin gnulib module close-stream

lib_libbison_a_SOURCES += lib/close-stream.c

EXTRA_DIST += lib/close-stream.h

## end   gnulib module close-stream

## begin gnulib module closeout

lib_libbison_a_SOURCES += lib/closeout.c

EXTRA_DIST += lib/closeout.h

## end   gnulib module closeout

## begin gnulib module concat-filename

lib_libbison_a_SOURCES += lib/concat-filename.c

EXTRA_DIST += lib/concat-filename.h

## end   gnulib module concat-filename

## begin gnulib module configmake

# Listed in the same order as the GNU makefile conventions, and
# provided by autoconf 2.59c+ or 2.70.
# The Automake-defined pkg* macros are appended, in the order
# listed in the Automake 1.10a+ documentation.
lib/configmake.h: Makefile
	$(AM_V_GEN)rm -f $@-t && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  echo '#if HAVE_WINSOCK2_H'; \
	  echo '# include <winsock2.h> /* avoid mingw pollution on DATADIR */'; \
	  echo '#endif'; \
	  echo '#define PREFIX "$(prefix)"'; \
	  echo '#define EXEC_PREFIX "$(exec_prefix)"'; \
	  echo '#define BINDIR "$(bindir)"'; \
	  echo '#define SBINDIR "$(sbindir)"'; \
	  echo '#define LIBEXECDIR "$(libexecdir)"'; \
	  echo '#define DATAROOTDIR "$(datarootdir)"'; \
	  echo '#define DATADIR "$(datadir)"'; \
	  echo '#define SYSCONFDIR "$(sysconfdir)"'; \
	  echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \
	  echo '#define LOCALSTATEDIR "$(localstatedir)"'; \
	  echo '#define RUNSTATEDIR "$(runstatedir)"'; \
	  echo '#define INCLUDEDIR "$(includedir)"'; \
	  echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \
	  echo '#define DOCDIR "$(docdir)"'; \
	  echo '#define INFODIR "$(infodir)"'; \
	  echo '#define HTMLDIR "$(htmldir)"'; \
	  echo '#define DVIDIR "$(dvidir)"'; \
	  echo '#define PDFDIR "$(pdfdir)"'; \
	  echo '#define PSDIR "$(psdir)"'; \
	  echo '#define LIBDIR "$(libdir)"'; \
	  echo '#define LISPDIR "$(lispdir)"'; \
	  echo '#define LOCALEDIR "$(localedir)"'; \
	  echo '#define MANDIR "$(mandir)"'; \
	  echo '#define MANEXT "$(manext)"'; \
	  echo '#define PKGDATADIR "$(pkgdatadir)"'; \
	  echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \
	  echo '#define PKGLIBDIR "$(pkglibdir)"'; \
	  echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \
	} | sed '/""/d' > $@-t && \
	mv -f $@-t $@

BUILT_SOURCES += lib/configmake.h
CLEANFILES += lib/configmake.h lib/configmake.h-t

## end   gnulib module configmake

## begin gnulib module diffseq

lib_libbison_a_SOURCES += lib/diffseq.h

## end   gnulib module diffseq

## begin gnulib module dirname

lib_libbison_a_SOURCES += lib/dirname.c lib/basename.c

EXTRA_DIST += lib/stripslash.c

EXTRA_lib_libbison_a_SOURCES += lib/stripslash.c

## end   gnulib module dirname

## begin gnulib module dirname-lgpl

lib_libbison_a_SOURCES += lib/dirname-lgpl.c lib/basename-lgpl.c lib/stripslash.c

EXTRA_DIST += lib/dirname.h

## end   gnulib module dirname-lgpl

## begin gnulib module do-release-commit-and-tag


EXTRA_DIST += $(top_srcdir)/build-aux/do-release-commit-and-tag

## end   gnulib module do-release-commit-and-tag

## begin gnulib module dosname


EXTRA_DIST += lib/dosname.h

## end   gnulib module dosname

## begin gnulib module dup2


EXTRA_DIST += lib/dup2.c

EXTRA_lib_libbison_a_SOURCES += lib/dup2.c

## end   gnulib module dup2

## begin gnulib module errno

BUILT_SOURCES += $(ERRNO_H)

# We need the following in order to create <errno.h> when the system
# doesn't have one that is POSIX compliant.
if GL_GENERATE_ERRNO_H
lib/errno.h: lib/errno.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
	      -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
	      -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
	      -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \
	      -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \
	      -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
	      -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
	      < $(top_srcdir)/lib/errno.in.h; \
	} > $@-t && \
	mv $@-t $@
else
lib/errno.h: $(top_builddir)/config.status
	rm -f $@
endif
MOSTLYCLEANFILES += lib/errno.h lib/errno.h-t

EXTRA_DIST += lib/errno.in.h

## end   gnulib module errno

## begin gnulib module error


EXTRA_DIST += lib/error.c lib/error.h

EXTRA_lib_libbison_a_SOURCES += lib/error.c

## end   gnulib module error

## begin gnulib module exitfail

lib_libbison_a_SOURCES += lib/exitfail.c

EXTRA_DIST += lib/exitfail.h

## end   gnulib module exitfail

## begin gnulib module fatal-signal

lib_libbison_a_SOURCES += lib/fatal-signal.h lib/fatal-signal.c

## end   gnulib module fatal-signal

## begin gnulib module fcntl


EXTRA_DIST += lib/fcntl.c

EXTRA_lib_libbison_a_SOURCES += lib/fcntl.c

## end   gnulib module fcntl

## begin gnulib module fcntl-h

BUILT_SOURCES += lib/fcntl.h

# We need the following in order to create <fcntl.h> when the system
# doesn't have one that works with the given compiler.
lib/fcntl.h: lib/fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
	      -e 's/@''GNULIB_CREAT''@/$(GNULIB_CREAT)/g' \
	      -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \
	      -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \
	      -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \
	      -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \
	      -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \
	      -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \
	      -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \
	      -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
	      -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
	      -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/fcntl.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/fcntl.h lib/fcntl.h-t

EXTRA_DIST += lib/fcntl.in.h

## end   gnulib module fcntl-h

## begin gnulib module fd-hook

if gl_GNULIB_ENABLED_43fe87a341d9b4b93c47c3ad819a5239
lib_libbison_a_SOURCES += lib/fd-hook.c

endif
EXTRA_DIST += lib/fd-hook.h

## end   gnulib module fd-hook

## begin gnulib module fd-safer-flag

lib_libbison_a_SOURCES += lib/fd-safer-flag.c lib/dup-safer-flag.c

## end   gnulib module fd-safer-flag

## begin gnulib module filename


EXTRA_DIST += lib/filename.h

## end   gnulib module filename

## begin gnulib module float

BUILT_SOURCES += $(FLOAT_H)

# We need the following in order to create <float.h> when the system
# doesn't have one that works with the given compiler.
if GL_GENERATE_FLOAT_H
lib/float.h: lib/float.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
	      -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \
	      < $(top_srcdir)/lib/float.in.h; \
	} > $@-t && \
	mv $@-t $@
else
lib/float.h: $(top_builddir)/config.status
	rm -f $@
endif
MOSTLYCLEANFILES += lib/float.h lib/float.h-t

EXTRA_DIST += lib/float.c lib/float.in.h lib/itold.c

EXTRA_lib_libbison_a_SOURCES += lib/float.c lib/itold.c

## end   gnulib module float

## begin gnulib module fopen


EXTRA_DIST += lib/fopen.c

EXTRA_lib_libbison_a_SOURCES += lib/fopen.c

## end   gnulib module fopen

## begin gnulib module fopen-safer

lib_libbison_a_SOURCES += lib/fopen-safer.c

EXTRA_DIST += lib/stdio--.h lib/stdio-safer.h

## end   gnulib module fopen-safer

## begin gnulib module fpending


EXTRA_DIST += lib/fpending.c lib/fpending.h lib/stdio-impl.h

EXTRA_lib_libbison_a_SOURCES += lib/fpending.c

## end   gnulib module fpending

## begin gnulib module fprintf-posix


EXTRA_DIST += lib/fprintf.c

EXTRA_lib_libbison_a_SOURCES += lib/fprintf.c

## end   gnulib module fprintf-posix

## begin gnulib module fpucw


EXTRA_DIST += lib/fpucw.h

## end   gnulib module fpucw

## begin gnulib module frexp-nolibm


EXTRA_DIST += lib/frexp.c

EXTRA_lib_libbison_a_SOURCES += lib/frexp.c

## end   gnulib module frexp-nolibm

## begin gnulib module frexpl-nolibm


EXTRA_DIST += lib/frexp.c lib/frexpl.c

EXTRA_lib_libbison_a_SOURCES += lib/frexp.c lib/frexpl.c

## end   gnulib module frexpl-nolibm

## begin gnulib module fseterr

if gl_GNULIB_ENABLED_fseterr

endif
EXTRA_DIST += lib/fseterr.c lib/fseterr.h lib/stdio-impl.h

EXTRA_lib_libbison_a_SOURCES += lib/fseterr.c

## end   gnulib module fseterr

## begin gnulib module fstat

if gl_GNULIB_ENABLED_fstat

endif
EXTRA_DIST += lib/fstat.c lib/stat-w32.c lib/stat-w32.h

EXTRA_lib_libbison_a_SOURCES += lib/fstat.c lib/stat-w32.c

## end   gnulib module fstat

## begin gnulib module fstrcmp

lib_libbison_a_SOURCES += lib/fstrcmp.h lib/fstrcmp.c

## end   gnulib module fstrcmp

## begin gnulib module fsync


EXTRA_DIST += lib/fsync.c

EXTRA_lib_libbison_a_SOURCES += lib/fsync.c

## end   gnulib module fsync

## begin gnulib module gendocs


EXTRA_DIST += $(top_srcdir)/build-aux/gendocs.sh

## end   gnulib module gendocs

## begin gnulib module getdtablesize

if gl_GNULIB_ENABLED_getdtablesize

endif
EXTRA_DIST += lib/getdtablesize.c

EXTRA_lib_libbison_a_SOURCES += lib/getdtablesize.c

## end   gnulib module getdtablesize

## begin gnulib module gethrxtime

lib_libbison_a_SOURCES += lib/gethrxtime.c lib/xtime.c

EXTRA_DIST += lib/gethrxtime.h lib/xtime.h

## end   gnulib module gethrxtime

## begin gnulib module getopt-posix

BUILT_SOURCES += $(GETOPT_H) $(GETOPT_CDEFS_H)

# We need the following in order to create <getopt.h> when the system
# doesn't have one that works with the given compiler.
lib/getopt.h: lib/getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      < $(top_srcdir)/lib/getopt.in.h; \
	} > $@-t && \
	mv -f $@-t $@

lib/getopt-cdefs.h: lib/getopt-cdefs.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \
	      < $(top_srcdir)/lib/getopt-cdefs.in.h; \
	} > $@-t && \
	mv -f $@-t $@

MOSTLYCLEANFILES += lib/getopt.h lib/getopt.h-t lib/getopt-cdefs.h lib/getopt-cdefs.h-t

EXTRA_DIST += lib/getopt-cdefs.in.h lib/getopt-core.h lib/getopt-ext.h lib/getopt-pfx-core.h lib/getopt-pfx-ext.h lib/getopt.c lib/getopt.in.h lib/getopt1.c lib/getopt_int.h

EXTRA_lib_libbison_a_SOURCES += lib/getopt.c lib/getopt1.c

## end   gnulib module getopt-posix

## begin gnulib module getprogname

lib_libbison_a_SOURCES += lib/getprogname.h lib/getprogname.c

## end   gnulib module getprogname

## begin gnulib module getrusage


EXTRA_DIST += lib/getrusage.c

EXTRA_lib_libbison_a_SOURCES += lib/getrusage.c

## end   gnulib module getrusage

## begin gnulib module gettext-h

lib_libbison_a_SOURCES += lib/gettext.h

## end   gnulib module gettext-h

## begin gnulib module gettime

lib_libbison_a_SOURCES += lib/gettime.c

## end   gnulib module gettime

## begin gnulib module gettimeofday


EXTRA_DIST += lib/gettimeofday.c

EXTRA_lib_libbison_a_SOURCES += lib/gettimeofday.c

## end   gnulib module gettimeofday

## begin gnulib module git-version-gen


EXTRA_DIST += $(top_srcdir)/build-aux/git-version-gen

## end   gnulib module git-version-gen

## begin gnulib module gitlog-to-changelog


EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog

## end   gnulib module gitlog-to-changelog

## begin gnulib module gnu-web-doc-update


EXTRA_DIST += $(top_srcdir)/build-aux/gnu-web-doc-update

## end   gnulib module gnu-web-doc-update

## begin gnulib module gnumakefile

EXTRA_DIST += $(top_srcdir)/GNUmakefile
distclean-local: clean-GNUmakefile
clean-GNUmakefile:
	test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile

## end   gnulib module gnumakefile

## begin gnulib module gnupload


EXTRA_DIST += $(top_srcdir)/build-aux/gnupload

## end   gnulib module gnupload

## begin gnulib module hard-locale

if gl_GNULIB_ENABLED_30838f5439487421042f2225bed3af76
lib_libbison_a_SOURCES += lib/hard-locale.c

endif
EXTRA_DIST += lib/hard-locale.h

## end   gnulib module hard-locale

## begin gnulib module hash

lib_libbison_a_SOURCES += lib/hash.c

EXTRA_DIST += lib/hash.h

## end   gnulib module hash

## begin gnulib module havelib


EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath

## end   gnulib module havelib

## begin gnulib module intprops


EXTRA_DIST += lib/intprops.h

## end   gnulib module intprops

## begin gnulib module inttypes-incomplete

BUILT_SOURCES += lib/inttypes.h

# We need the following in order to create <inttypes.h> when the system
# doesn't have one that works with the given compiler.
lib/inttypes.h: lib/inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
	      -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
	      -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
	      -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
	      -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
	      -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
	      -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
	      -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
	      -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
	      -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
	      -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
	      -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
	      -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
	      -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
	      -e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \
	      -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
	      -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
	      -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
	      -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
	      -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
	      -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/inttypes.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/inttypes.h lib/inttypes.h-t

EXTRA_DIST += lib/inttypes.in.h

## end   gnulib module inttypes-incomplete

## begin gnulib module isnand


EXTRA_DIST += lib/float+.h lib/isnan.c lib/isnand.c

EXTRA_lib_libbison_a_SOURCES += lib/isnan.c lib/isnand.c

## end   gnulib module isnand

## begin gnulib module isnand-nolibm


EXTRA_DIST += lib/float+.h lib/isnan.c lib/isnand-nolibm.h lib/isnand.c

EXTRA_lib_libbison_a_SOURCES += lib/isnan.c lib/isnand.c

## end   gnulib module isnand-nolibm

## begin gnulib module isnanf


EXTRA_DIST += lib/float+.h lib/isnan.c lib/isnanf.c

EXTRA_lib_libbison_a_SOURCES += lib/isnan.c lib/isnanf.c

## end   gnulib module isnanf

## begin gnulib module isnanf-nolibm

if gl_GNULIB_ENABLED_3f0e593033d1fc2c127581960f641b66

endif
EXTRA_DIST += lib/float+.h lib/isnan.c lib/isnanf-nolibm.h lib/isnanf.c

EXTRA_lib_libbison_a_SOURCES += lib/isnan.c lib/isnanf.c

## end   gnulib module isnanf-nolibm

## begin gnulib module isnanl


EXTRA_DIST += lib/float+.h lib/isnan.c lib/isnanl.c

EXTRA_lib_libbison_a_SOURCES += lib/isnan.c lib/isnanl.c

## end   gnulib module isnanl

## begin gnulib module isnanl-nolibm


EXTRA_DIST += lib/float+.h lib/isnan.c lib/isnanl-nolibm.h lib/isnanl.c

EXTRA_lib_libbison_a_SOURCES += lib/isnan.c lib/isnanl.c

## end   gnulib module isnanl-nolibm

## begin gnulib module iswblank


EXTRA_DIST += lib/iswblank.c

EXTRA_lib_libbison_a_SOURCES += lib/iswblank.c

## end   gnulib module iswblank

## begin gnulib module javacomp-script


EXTRA_DIST += $(top_srcdir)/build-aux/javacomp.sh.in

## end   gnulib module javacomp-script

## begin gnulib module javaexec-script


EXTRA_DIST += $(top_srcdir)/build-aux/javaexec.sh.in

## end   gnulib module javaexec-script

## begin gnulib module ldexpl


EXTRA_DIST += lib/ldexpl.c

EXTRA_lib_libbison_a_SOURCES += lib/ldexpl.c

## end   gnulib module ldexpl

## begin gnulib module libc-config

if gl_GNULIB_ENABLED_21ee726a3540c09237a8e70c0baf7467

endif
EXTRA_DIST += lib/cdefs.h lib/libc-config.h

## end   gnulib module libc-config

## begin gnulib module libtextstyle-optional

BUILT_SOURCES += $(TEXTSTYLE_H)

# We need the following in order to create a dummy placeholder for
# <textstyle.h> when the system doesn't have one.
if GL_GENERATE_TEXTSTYLE_H
lib/textstyle.h: lib/textstyle.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  cat $(top_srcdir)/lib/textstyle.in.h; \
	} > $@-t && \
	mv $@-t $@
else
lib/textstyle.h: $(top_builddir)/config.status
	rm -f $@
endif
MOSTLYCLEANFILES += lib/textstyle.h lib/textstyle.h-t

EXTRA_DIST += lib/textstyle.in.h

## end   gnulib module libtextstyle-optional

## begin gnulib module limits-h

BUILT_SOURCES += $(LIMITS_H)

# We need the following in order to create <limits.h> when the system
# doesn't have one that is compatible with GNU.
if GL_GENERATE_LIMITS_H
lib/limits.h: lib/limits.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
	      < $(top_srcdir)/lib/limits.in.h; \
	} > $@-t && \
	mv $@-t $@
else
lib/limits.h: $(top_builddir)/config.status
	rm -f $@
endif
MOSTLYCLEANFILES += lib/limits.h lib/limits.h-t

EXTRA_DIST += lib/limits.in.h

## end   gnulib module limits-h

## begin gnulib module list

lib_libbison_a_SOURCES += lib/gl_list.h lib/gl_list.c

## end   gnulib module list

## begin gnulib module localcharset

lib_libbison_a_SOURCES += lib/localcharset.c

EXTRA_DIST += lib/localcharset.h

## end   gnulib module localcharset

## begin gnulib module localtime-buffer

if gl_GNULIB_ENABLED_2049e887c7e5308faad27b3f894bb8c9

endif
EXTRA_DIST += lib/localtime-buffer.c lib/localtime-buffer.h

EXTRA_lib_libbison_a_SOURCES += lib/localtime-buffer.c

## end   gnulib module localtime-buffer

## begin gnulib module lock

lib_libbison_a_SOURCES += lib/glthread/lock.h lib/glthread/lock.c

## end   gnulib module lock

## begin gnulib module lstat

if gl_GNULIB_ENABLED_lstat

endif
EXTRA_DIST += lib/lstat.c

EXTRA_lib_libbison_a_SOURCES += lib/lstat.c

## end   gnulib module lstat

## begin gnulib module maintainer-makefile

EXTRA_DIST += $(top_srcdir)/maint.mk

## end   gnulib module maintainer-makefile

## begin gnulib module malloc-gnu


EXTRA_DIST += lib/malloc.c

EXTRA_lib_libbison_a_SOURCES += lib/malloc.c

## end   gnulib module malloc-gnu

## begin gnulib module malloc-posix


EXTRA_DIST += lib/malloc.c

EXTRA_lib_libbison_a_SOURCES += lib/malloc.c

## end   gnulib module malloc-posix

## begin gnulib module malloca

if gl_GNULIB_ENABLED_malloca
lib_libbison_a_SOURCES += lib/malloca.c

endif
EXTRA_DIST += lib/malloca.h

## end   gnulib module malloca

## begin gnulib module math

BUILT_SOURCES += lib/math.h
lib_libbison_a_SOURCES += lib/math.c

# We need the following in order to create <math.h> when the system
# doesn't have one that works with the given compiler.
lib/math.h: lib/math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|$(NEXT_AS_FIRST_DIRECTIVE_MATH_H)|g' \
	      -e 's/@''GNULIB_ACOSF''@/$(GNULIB_ACOSF)/g' \
	      -e 's/@''GNULIB_ACOSL''@/$(GNULIB_ACOSL)/g' \
	      -e 's/@''GNULIB_ASINF''@/$(GNULIB_ASINF)/g' \
	      -e 's/@''GNULIB_ASINL''@/$(GNULIB_ASINL)/g' \
	      -e 's/@''GNULIB_ATANF''@/$(GNULIB_ATANF)/g' \
	      -e 's/@''GNULIB_ATANL''@/$(GNULIB_ATANL)/g' \
	      -e 's/@''GNULIB_ATAN2F''@/$(GNULIB_ATAN2F)/g' \
	      -e 's/@''GNULIB_CBRT''@/$(GNULIB_CBRT)/g' \
	      -e 's/@''GNULIB_CBRTF''@/$(GNULIB_CBRTF)/g' \
	      -e 's/@''GNULIB_CBRTL''@/$(GNULIB_CBRTL)/g' \
	      -e 's/@''GNULIB_CEIL''@/$(GNULIB_CEIL)/g' \
	      -e 's/@''GNULIB_CEILF''@/$(GNULIB_CEILF)/g' \
	      -e 's/@''GNULIB_CEILL''@/$(GNULIB_CEILL)/g' \
	      -e 's/@''GNULIB_COPYSIGN''@/$(GNULIB_COPYSIGN)/g' \
	      -e 's/@''GNULIB_COPYSIGNF''@/$(GNULIB_COPYSIGNF)/g' \
	      -e 's/@''GNULIB_COPYSIGNL''@/$(GNULIB_COPYSIGNL)/g' \
	      -e 's/@''GNULIB_COSF''@/$(GNULIB_COSF)/g' \
	      -e 's/@''GNULIB_COSL''@/$(GNULIB_COSL)/g' \
	      -e 's/@''GNULIB_COSHF''@/$(GNULIB_COSHF)/g' \
	      -e 's/@''GNULIB_EXPF''@/$(GNULIB_EXPF)/g' \
	      -e 's/@''GNULIB_EXPL''@/$(GNULIB_EXPL)/g' \
	      -e 's/@''GNULIB_EXP2''@/$(GNULIB_EXP2)/g' \
	      -e 's/@''GNULIB_EXP2F''@/$(GNULIB_EXP2F)/g' \
	      -e 's/@''GNULIB_EXP2L''@/$(GNULIB_EXP2L)/g' \
	      -e 's/@''GNULIB_EXPM1''@/$(GNULIB_EXPM1)/g' \
	      -e 's/@''GNULIB_EXPM1F''@/$(GNULIB_EXPM1F)/g' \
	      -e 's/@''GNULIB_EXPM1L''@/$(GNULIB_EXPM1L)/g' \
	      -e 's/@''GNULIB_FABSF''@/$(GNULIB_FABSF)/g' \
	      -e 's/@''GNULIB_FABSL''@/$(GNULIB_FABSL)/g' \
	      -e 's/@''GNULIB_FLOOR''@/$(GNULIB_FLOOR)/g' \
	      -e 's/@''GNULIB_FLOORF''@/$(GNULIB_FLOORF)/g' \
	      -e 's/@''GNULIB_FLOORL''@/$(GNULIB_FLOORL)/g' \
	      -e 's/@''GNULIB_FMA''@/$(GNULIB_FMA)/g' \
	      -e 's/@''GNULIB_FMAF''@/$(GNULIB_FMAF)/g' \
	      -e 's/@''GNULIB_FMAL''@/$(GNULIB_FMAL)/g' \
	      -e 's/@''GNULIB_FMOD''@/$(GNULIB_FMOD)/g' \
	      -e 's/@''GNULIB_FMODF''@/$(GNULIB_FMODF)/g' \
	      -e 's/@''GNULIB_FMODL''@/$(GNULIB_FMODL)/g' \
	      -e 's/@''GNULIB_FREXPF''@/$(GNULIB_FREXPF)/g' \
	      -e 's/@''GNULIB_FREXP''@/$(GNULIB_FREXP)/g' \
	      -e 's/@''GNULIB_FREXPL''@/$(GNULIB_FREXPL)/g' \
	      -e 's/@''GNULIB_HYPOT''@/$(GNULIB_HYPOT)/g' \
	      -e 's/@''GNULIB_HYPOTF''@/$(GNULIB_HYPOTF)/g' \
	      -e 's/@''GNULIB_HYPOTL''@/$(GNULIB_HYPOTL)/g' \
	      < $(top_srcdir)/lib/math.in.h | \
	  sed -e 's/@''GNULIB_ILOGB''@/$(GNULIB_ILOGB)/g' \
	      -e 's/@''GNULIB_ILOGBF''@/$(GNULIB_ILOGBF)/g' \
	      -e 's/@''GNULIB_ILOGBL''@/$(GNULIB_ILOGBL)/g' \
	      -e 's/@''GNULIB_ISFINITE''@/$(GNULIB_ISFINITE)/g' \
	      -e 's/@''GNULIB_ISINF''@/$(GNULIB_ISINF)/g' \
	      -e 's/@''GNULIB_ISNAN''@/$(GNULIB_ISNAN)/g' \
	      -e 's/@''GNULIB_ISNANF''@/$(GNULIB_ISNANF)/g' \
	      -e 's/@''GNULIB_ISNAND''@/$(GNULIB_ISNAND)/g' \
	      -e 's/@''GNULIB_ISNANL''@/$(GNULIB_ISNANL)/g' \
	      -e 's/@''GNULIB_LDEXPF''@/$(GNULIB_LDEXPF)/g' \
	      -e 's/@''GNULIB_LDEXPL''@/$(GNULIB_LDEXPL)/g' \
	      -e 's/@''GNULIB_LOG''@/$(GNULIB_LOG)/g' \
	      -e 's/@''GNULIB_LOGF''@/$(GNULIB_LOGF)/g' \
	      -e 's/@''GNULIB_LOGL''@/$(GNULIB_LOGL)/g' \
	      -e 's/@''GNULIB_LOG10''@/$(GNULIB_LOG10)/g' \
	      -e 's/@''GNULIB_LOG10F''@/$(GNULIB_LOG10F)/g' \
	      -e 's/@''GNULIB_LOG10L''@/$(GNULIB_LOG10L)/g' \
	      -e 's/@''GNULIB_LOG1P''@/$(GNULIB_LOG1P)/g' \
	      -e 's/@''GNULIB_LOG1PF''@/$(GNULIB_LOG1PF)/g' \
	      -e 's/@''GNULIB_LOG1PL''@/$(GNULIB_LOG1PL)/g' \
	      -e 's/@''GNULIB_LOG2''@/$(GNULIB_LOG2)/g' \
	      -e 's/@''GNULIB_LOG2F''@/$(GNULIB_LOG2F)/g' \
	      -e 's/@''GNULIB_LOG2L''@/$(GNULIB_LOG2L)/g' \
	      -e 's/@''GNULIB_LOGB''@/$(GNULIB_LOGB)/g' \
	      -e 's/@''GNULIB_LOGBF''@/$(GNULIB_LOGBF)/g' \
	      -e 's/@''GNULIB_LOGBL''@/$(GNULIB_LOGBL)/g' \
	      -e 's/@''GNULIB_MODF''@/$(GNULIB_MODF)/g' \
	      -e 's/@''GNULIB_MODFF''@/$(GNULIB_MODFF)/g' \
	      -e 's/@''GNULIB_MODFL''@/$(GNULIB_MODFL)/g' \
	      -e 's/@''GNULIB_POWF''@/$(GNULIB_POWF)/g' \
	      -e 's/@''GNULIB_REMAINDER''@/$(GNULIB_REMAINDER)/g' \
	      -e 's/@''GNULIB_REMAINDERF''@/$(GNULIB_REMAINDERF)/g' \
	      -e 's/@''GNULIB_REMAINDERL''@/$(GNULIB_REMAINDERL)/g' \
	      -e 's/@''GNULIB_RINT''@/$(GNULIB_RINT)/g' \
	      -e 's/@''GNULIB_RINTF''@/$(GNULIB_RINTF)/g' \
	      -e 's/@''GNULIB_RINTL''@/$(GNULIB_RINTL)/g' \
	      -e 's/@''GNULIB_ROUND''@/$(GNULIB_ROUND)/g' \
	      -e 's/@''GNULIB_ROUNDF''@/$(GNULIB_ROUNDF)/g' \
	      -e 's/@''GNULIB_ROUNDL''@/$(GNULIB_ROUNDL)/g' \
	      -e 's/@''GNULIB_SIGNBIT''@/$(GNULIB_SIGNBIT)/g' \
	      -e 's/@''GNULIB_SINF''@/$(GNULIB_SINF)/g' \
	      -e 's/@''GNULIB_SINL''@/$(GNULIB_SINL)/g' \
	      -e 's/@''GNULIB_SINHF''@/$(GNULIB_SINHF)/g' \
	      -e 's/@''GNULIB_SQRTF''@/$(GNULIB_SQRTF)/g' \
	      -e 's/@''GNULIB_SQRTL''@/$(GNULIB_SQRTL)/g' \
	      -e 's/@''GNULIB_TANF''@/$(GNULIB_TANF)/g' \
	      -e 's/@''GNULIB_TANL''@/$(GNULIB_TANL)/g' \
	      -e 's/@''GNULIB_TANHF''@/$(GNULIB_TANHF)/g' \
	      -e 's/@''GNULIB_TRUNC''@/$(GNULIB_TRUNC)/g' \
	      -e 's/@''GNULIB_TRUNCF''@/$(GNULIB_TRUNCF)/g' \
	      -e 's/@''GNULIB_TRUNCL''@/$(GNULIB_TRUNCL)/g' \
	  | \
	  sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \
	      -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \
	      -e 's|@''HAVE_ASINF''@|$(HAVE_ASINF)|g' \
	      -e 's|@''HAVE_ASINL''@|$(HAVE_ASINL)|g' \
	      -e 's|@''HAVE_ATANF''@|$(HAVE_ATANF)|g' \
	      -e 's|@''HAVE_ATANL''@|$(HAVE_ATANL)|g' \
	      -e 's|@''HAVE_ATAN2F''@|$(HAVE_ATAN2F)|g' \
	      -e 's|@''HAVE_CBRT''@|$(HAVE_CBRT)|g' \
	      -e 's|@''HAVE_CBRTF''@|$(HAVE_CBRTF)|g' \
	      -e 's|@''HAVE_CBRTL''@|$(HAVE_CBRTL)|g' \
	      -e 's|@''HAVE_COPYSIGN''@|$(HAVE_COPYSIGN)|g' \
	      -e 's|@''HAVE_COPYSIGNL''@|$(HAVE_COPYSIGNL)|g' \
	      -e 's|@''HAVE_COSF''@|$(HAVE_COSF)|g' \
	      -e 's|@''HAVE_COSL''@|$(HAVE_COSL)|g' \
	      -e 's|@''HAVE_COSHF''@|$(HAVE_COSHF)|g' \
	      -e 's|@''HAVE_EXPF''@|$(HAVE_EXPF)|g' \
	      -e 's|@''HAVE_EXPL''@|$(HAVE_EXPL)|g' \
	      -e 's|@''HAVE_EXPM1''@|$(HAVE_EXPM1)|g' \
	      -e 's|@''HAVE_EXPM1F''@|$(HAVE_EXPM1F)|g' \
	      -e 's|@''HAVE_FABSF''@|$(HAVE_FABSF)|g' \
	      -e 's|@''HAVE_FABSL''@|$(HAVE_FABSL)|g' \
	      -e 's|@''HAVE_FMA''@|$(HAVE_FMA)|g' \
	      -e 's|@''HAVE_FMAF''@|$(HAVE_FMAF)|g' \
	      -e 's|@''HAVE_FMAL''@|$(HAVE_FMAL)|g' \
	      -e 's|@''HAVE_FMODF''@|$(HAVE_FMODF)|g' \
	      -e 's|@''HAVE_FMODL''@|$(HAVE_FMODL)|g' \
	      -e 's|@''HAVE_FREXPF''@|$(HAVE_FREXPF)|g' \
	      -e 's|@''HAVE_HYPOTF''@|$(HAVE_HYPOTF)|g' \
	      -e 's|@''HAVE_HYPOTL''@|$(HAVE_HYPOTL)|g' \
	      -e 's|@''HAVE_ILOGB''@|$(HAVE_ILOGB)|g' \
	      -e 's|@''HAVE_ILOGBF''@|$(HAVE_ILOGBF)|g' \
	      -e 's|@''HAVE_ILOGBL''@|$(HAVE_ILOGBL)|g' \
	      -e 's|@''HAVE_ISNANF''@|$(HAVE_ISNANF)|g' \
	      -e 's|@''HAVE_ISNAND''@|$(HAVE_ISNAND)|g' \
	      -e 's|@''HAVE_ISNANL''@|$(HAVE_ISNANL)|g' \
	      -e 's|@''HAVE_LDEXPF''@|$(HAVE_LDEXPF)|g' \
	      -e 's|@''HAVE_LOGF''@|$(HAVE_LOGF)|g' \
	      -e 's|@''HAVE_LOGL''@|$(HAVE_LOGL)|g' \
	      -e 's|@''HAVE_LOG10F''@|$(HAVE_LOG10F)|g' \
	      -e 's|@''HAVE_LOG10L''@|$(HAVE_LOG10L)|g' \
	      -e 's|@''HAVE_LOG1P''@|$(HAVE_LOG1P)|g' \
	      -e 's|@''HAVE_LOG1PF''@|$(HAVE_LOG1PF)|g' \
	      -e 's|@''HAVE_LOG1PL''@|$(HAVE_LOG1PL)|g' \
	      -e 's|@''HAVE_LOGBF''@|$(HAVE_LOGBF)|g' \
	      -e 's|@''HAVE_LOGBL''@|$(HAVE_LOGBL)|g' \
	      -e 's|@''HAVE_MODFF''@|$(HAVE_MODFF)|g' \
	      -e 's|@''HAVE_MODFL''@|$(HAVE_MODFL)|g' \
	      -e 's|@''HAVE_POWF''@|$(HAVE_POWF)|g' \
	      -e 's|@''HAVE_REMAINDER''@|$(HAVE_REMAINDER)|g' \
	      -e 's|@''HAVE_REMAINDERF''@|$(HAVE_REMAINDERF)|g' \
	      -e 's|@''HAVE_RINT''@|$(HAVE_RINT)|g' \
	      -e 's|@''HAVE_RINTL''@|$(HAVE_RINTL)|g' \
	      -e 's|@''HAVE_SINF''@|$(HAVE_SINF)|g' \
	      -e 's|@''HAVE_SINL''@|$(HAVE_SINL)|g' \
	      -e 's|@''HAVE_SINHF''@|$(HAVE_SINHF)|g' \
	      -e 's|@''HAVE_SQRTF''@|$(HAVE_SQRTF)|g' \
	      -e 's|@''HAVE_SQRTL''@|$(HAVE_SQRTL)|g' \
	      -e 's|@''HAVE_TANF''@|$(HAVE_TANF)|g' \
	      -e 's|@''HAVE_TANL''@|$(HAVE_TANL)|g' \
	      -e 's|@''HAVE_TANHF''@|$(HAVE_TANHF)|g' \
	      -e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \
	      -e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \
	      -e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \
	      -e 's|@''HAVE_DECL_CBRTF''@|$(HAVE_DECL_CBRTF)|g' \
	      -e 's|@''HAVE_DECL_CBRTL''@|$(HAVE_DECL_CBRTL)|g' \
	      -e 's|@''HAVE_DECL_CEILF''@|$(HAVE_DECL_CEILF)|g' \
	      -e 's|@''HAVE_DECL_CEILL''@|$(HAVE_DECL_CEILL)|g' \
	      -e 's|@''HAVE_DECL_COPYSIGNF''@|$(HAVE_DECL_COPYSIGNF)|g' \
	      -e 's|@''HAVE_DECL_COSL''@|$(HAVE_DECL_COSL)|g' \
	      -e 's|@''HAVE_DECL_EXPL''@|$(HAVE_DECL_EXPL)|g' \
	      -e 's|@''HAVE_DECL_EXP2''@|$(HAVE_DECL_EXP2)|g' \
	      -e 's|@''HAVE_DECL_EXP2F''@|$(HAVE_DECL_EXP2F)|g' \
	      -e 's|@''HAVE_DECL_EXP2L''@|$(HAVE_DECL_EXP2L)|g' \
	      -e 's|@''HAVE_DECL_EXPM1L''@|$(HAVE_DECL_EXPM1L)|g' \
	      -e 's|@''HAVE_DECL_FLOORF''@|$(HAVE_DECL_FLOORF)|g' \
	      -e 's|@''HAVE_DECL_FLOORL''@|$(HAVE_DECL_FLOORL)|g' \
	      -e 's|@''HAVE_DECL_FREXPL''@|$(HAVE_DECL_FREXPL)|g' \
	      -e 's|@''HAVE_DECL_LDEXPL''@|$(HAVE_DECL_LDEXPL)|g' \
	      -e 's|@''HAVE_DECL_LOGL''@|$(HAVE_DECL_LOGL)|g' \
	      -e 's|@''HAVE_DECL_LOG10L''@|$(HAVE_DECL_LOG10L)|g' \
	      -e 's|@''HAVE_DECL_LOG2''@|$(HAVE_DECL_LOG2)|g' \
	      -e 's|@''HAVE_DECL_LOG2F''@|$(HAVE_DECL_LOG2F)|g' \
	      -e 's|@''HAVE_DECL_LOG2L''@|$(HAVE_DECL_LOG2L)|g' \
	      -e 's|@''HAVE_DECL_LOGB''@|$(HAVE_DECL_LOGB)|g' \
	      -e 's|@''HAVE_DECL_REMAINDER''@|$(HAVE_DECL_REMAINDER)|g' \
	      -e 's|@''HAVE_DECL_REMAINDERL''@|$(HAVE_DECL_REMAINDERL)|g' \
	      -e 's|@''HAVE_DECL_RINTF''@|$(HAVE_DECL_RINTF)|g' \
	      -e 's|@''HAVE_DECL_ROUND''@|$(HAVE_DECL_ROUND)|g' \
	      -e 's|@''HAVE_DECL_ROUNDF''@|$(HAVE_DECL_ROUNDF)|g' \
	      -e 's|@''HAVE_DECL_ROUNDL''@|$(HAVE_DECL_ROUNDL)|g' \
	      -e 's|@''HAVE_DECL_SINL''@|$(HAVE_DECL_SINL)|g' \
	      -e 's|@''HAVE_DECL_SQRTL''@|$(HAVE_DECL_SQRTL)|g' \
	      -e 's|@''HAVE_DECL_TANL''@|$(HAVE_DECL_TANL)|g' \
	      -e 's|@''HAVE_DECL_TRUNC''@|$(HAVE_DECL_TRUNC)|g' \
	      -e 's|@''HAVE_DECL_TRUNCF''@|$(HAVE_DECL_TRUNCF)|g' \
	      -e 's|@''HAVE_DECL_TRUNCL''@|$(HAVE_DECL_TRUNCL)|g' \
	  | \
	  sed -e 's|@''REPLACE_ACOSF''@|$(REPLACE_ACOSF)|g' \
	      -e 's|@''REPLACE_ASINF''@|$(REPLACE_ASINF)|g' \
	      -e 's|@''REPLACE_ATANF''@|$(REPLACE_ATANF)|g' \
	      -e 's|@''REPLACE_ATAN2F''@|$(REPLACE_ATAN2F)|g' \
	      -e 's|@''REPLACE_CBRTF''@|$(REPLACE_CBRTF)|g' \
	      -e 's|@''REPLACE_CBRTL''@|$(REPLACE_CBRTL)|g' \
	      -e 's|@''REPLACE_CEIL''@|$(REPLACE_CEIL)|g' \
	      -e 's|@''REPLACE_CEILF''@|$(REPLACE_CEILF)|g' \
	      -e 's|@''REPLACE_CEILL''@|$(REPLACE_CEILL)|g' \
	      -e 's|@''REPLACE_COSF''@|$(REPLACE_COSF)|g' \
	      -e 's|@''REPLACE_COSHF''@|$(REPLACE_COSHF)|g' \
	      -e 's|@''REPLACE_EXPF''@|$(REPLACE_EXPF)|g' \
	      -e 's|@''REPLACE_EXPL''@|$(REPLACE_EXPL)|g' \
	      -e 's|@''REPLACE_EXPM1''@|$(REPLACE_EXPM1)|g' \
	      -e 's|@''REPLACE_EXPM1F''@|$(REPLACE_EXPM1F)|g' \
	      -e 's|@''REPLACE_EXPM1L''@|$(REPLACE_EXPM1L)|g' \
	      -e 's|@''REPLACE_EXP2''@|$(REPLACE_EXP2)|g' \
	      -e 's|@''REPLACE_EXP2L''@|$(REPLACE_EXP2L)|g' \
	      -e 's|@''REPLACE_FABSL''@|$(REPLACE_FABSL)|g' \
	      -e 's|@''REPLACE_FLOOR''@|$(REPLACE_FLOOR)|g' \
	      -e 's|@''REPLACE_FLOORF''@|$(REPLACE_FLOORF)|g' \
	      -e 's|@''REPLACE_FLOORL''@|$(REPLACE_FLOORL)|g' \
	      -e 's|@''REPLACE_FMA''@|$(REPLACE_FMA)|g' \
	      -e 's|@''REPLACE_FMAF''@|$(REPLACE_FMAF)|g' \
	      -e 's|@''REPLACE_FMAL''@|$(REPLACE_FMAL)|g' \
	      -e 's|@''REPLACE_FMOD''@|$(REPLACE_FMOD)|g' \
	      -e 's|@''REPLACE_FMODF''@|$(REPLACE_FMODF)|g' \
	      -e 's|@''REPLACE_FMODL''@|$(REPLACE_FMODL)|g' \
	      -e 's|@''REPLACE_FREXPF''@|$(REPLACE_FREXPF)|g' \
	      -e 's|@''REPLACE_FREXP''@|$(REPLACE_FREXP)|g' \
	      -e 's|@''REPLACE_FREXPL''@|$(REPLACE_FREXPL)|g' \
	      -e 's|@''REPLACE_HUGE_VAL''@|$(REPLACE_HUGE_VAL)|g' \
	      -e 's|@''REPLACE_HYPOT''@|$(REPLACE_HYPOT)|g' \
	      -e 's|@''REPLACE_HYPOTF''@|$(REPLACE_HYPOTF)|g' \
	      -e 's|@''REPLACE_HYPOTL''@|$(REPLACE_HYPOTL)|g' \
	      -e 's|@''REPLACE_ILOGB''@|$(REPLACE_ILOGB)|g' \
	      -e 's|@''REPLACE_ILOGBF''@|$(REPLACE_ILOGBF)|g' \
	      -e 's|@''REPLACE_ILOGBL''@|$(REPLACE_ILOGBL)|g' \
	      -e 's|@''REPLACE_ISFINITE''@|$(REPLACE_ISFINITE)|g' \
	      -e 's|@''REPLACE_ISINF''@|$(REPLACE_ISINF)|g' \
	      -e 's|@''REPLACE_ISNAN''@|$(REPLACE_ISNAN)|g' \
	      -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \
	      -e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \
	      -e 's|@''REPLACE_LOG''@|$(REPLACE_LOG)|g' \
	      -e 's|@''REPLACE_LOGF''@|$(REPLACE_LOGF)|g' \
	      -e 's|@''REPLACE_LOGL''@|$(REPLACE_LOGL)|g' \
	      -e 's|@''REPLACE_LOG10''@|$(REPLACE_LOG10)|g' \
	      -e 's|@''REPLACE_LOG10F''@|$(REPLACE_LOG10F)|g' \
	      -e 's|@''REPLACE_LOG10L''@|$(REPLACE_LOG10L)|g' \
	      -e 's|@''REPLACE_LOG1P''@|$(REPLACE_LOG1P)|g' \
	      -e 's|@''REPLACE_LOG1PF''@|$(REPLACE_LOG1PF)|g' \
	      -e 's|@''REPLACE_LOG1PL''@|$(REPLACE_LOG1PL)|g' \
	      -e 's|@''REPLACE_LOG2''@|$(REPLACE_LOG2)|g' \
	      -e 's|@''REPLACE_LOG2F''@|$(REPLACE_LOG2F)|g' \
	      -e 's|@''REPLACE_LOG2L''@|$(REPLACE_LOG2L)|g' \
	      -e 's|@''REPLACE_LOGB''@|$(REPLACE_LOGB)|g' \
	      -e 's|@''REPLACE_LOGBF''@|$(REPLACE_LOGBF)|g' \
	      -e 's|@''REPLACE_LOGBL''@|$(REPLACE_LOGBL)|g' \
	      -e 's|@''REPLACE_MODF''@|$(REPLACE_MODF)|g' \
	      -e 's|@''REPLACE_MODFF''@|$(REPLACE_MODFF)|g' \
	      -e 's|@''REPLACE_MODFL''@|$(REPLACE_MODFL)|g' \
	      -e 's|@''REPLACE_NAN''@|$(REPLACE_NAN)|g' \
	      -e 's|@''REPLACE_REMAINDER''@|$(REPLACE_REMAINDER)|g' \
	      -e 's|@''REPLACE_REMAINDERF''@|$(REPLACE_REMAINDERF)|g' \
	      -e 's|@''REPLACE_REMAINDERL''@|$(REPLACE_REMAINDERL)|g' \
	      -e 's|@''REPLACE_RINTL''@|$(REPLACE_RINTL)|g' \
	      -e 's|@''REPLACE_ROUND''@|$(REPLACE_ROUND)|g' \
	      -e 's|@''REPLACE_ROUNDF''@|$(REPLACE_ROUNDF)|g' \
	      -e 's|@''REPLACE_ROUNDL''@|$(REPLACE_ROUNDL)|g' \
	      -e 's|@''REPLACE_SIGNBIT''@|$(REPLACE_SIGNBIT)|g' \
	      -e 's|@''REPLACE_SIGNBIT_USING_GCC''@|$(REPLACE_SIGNBIT_USING_GCC)|g' \
	      -e 's|@''REPLACE_SINF''@|$(REPLACE_SINF)|g' \
	      -e 's|@''REPLACE_SINHF''@|$(REPLACE_SINHF)|g' \
	      -e 's|@''REPLACE_SQRTF''@|$(REPLACE_SQRTF)|g' \
	      -e 's|@''REPLACE_SQRTL''@|$(REPLACE_SQRTL)|g' \
	      -e 's|@''REPLACE_TANF''@|$(REPLACE_TANF)|g' \
	      -e 's|@''REPLACE_TANHF''@|$(REPLACE_TANHF)|g' \
	      -e 's|@''REPLACE_TRUNC''@|$(REPLACE_TRUNC)|g' \
	      -e 's|@''REPLACE_TRUNCF''@|$(REPLACE_TRUNCF)|g' \
	      -e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/math.h lib/math.h-t

EXTRA_DIST += lib/math.in.h

## end   gnulib module math

## begin gnulib module mbchar

lib_libbison_a_SOURCES += lib/mbchar.c

EXTRA_DIST += lib/mbchar.h

## end   gnulib module mbchar

## begin gnulib module mbfile

lib_libbison_a_SOURCES += lib/mbfile.h lib/mbfile.c

## end   gnulib module mbfile

## begin gnulib module mbrtowc


EXTRA_DIST += lib/mbrtowc.c

EXTRA_lib_libbison_a_SOURCES += lib/mbrtowc.c

## end   gnulib module mbrtowc

## begin gnulib module mbsinit


EXTRA_DIST += lib/mbsinit.c

EXTRA_lib_libbison_a_SOURCES += lib/mbsinit.c

## end   gnulib module mbsinit

## begin gnulib module mbswidth

lib_libbison_a_SOURCES += lib/mbswidth.h lib/mbswidth.c

## end   gnulib module mbswidth

## begin gnulib module memchr


EXTRA_DIST += lib/memchr.c lib/memchr.valgrind

EXTRA_lib_libbison_a_SOURCES += lib/memchr.c

## end   gnulib module memchr

## begin gnulib module minmax

lib_libbison_a_SOURCES += lib/minmax.h

## end   gnulib module minmax

## begin gnulib module msvc-inval


EXTRA_DIST += lib/msvc-inval.c lib/msvc-inval.h

EXTRA_lib_libbison_a_SOURCES += lib/msvc-inval.c

## end   gnulib module msvc-inval

## begin gnulib module msvc-nothrow


EXTRA_DIST += lib/msvc-nothrow.c lib/msvc-nothrow.h

EXTRA_lib_libbison_a_SOURCES += lib/msvc-nothrow.c

## end   gnulib module msvc-nothrow

## begin gnulib module non-recursive-gnulib-prefix-hack


EXTRA_DIST += $(top_srcdir)/build-aux/prefix-gnulib-mk

## end   gnulib module non-recursive-gnulib-prefix-hack

## begin gnulib module obstack


EXTRA_DIST += lib/obstack.c lib/obstack.h

EXTRA_lib_libbison_a_SOURCES += lib/obstack.c

## end   gnulib module obstack

## begin gnulib module obstack-printf


EXTRA_DIST += lib/obstack_printf.c

EXTRA_lib_libbison_a_SOURCES += lib/obstack_printf.c

## end   gnulib module obstack-printf

## begin gnulib module open


EXTRA_DIST += lib/open.c

EXTRA_lib_libbison_a_SOURCES += lib/open.c

## end   gnulib module open

## begin gnulib module pathmax


EXTRA_DIST += lib/pathmax.h

## end   gnulib module pathmax

## begin gnulib module perror


EXTRA_DIST += lib/perror.c

EXTRA_lib_libbison_a_SOURCES += lib/perror.c

## end   gnulib module perror

## begin gnulib module pipe2

lib_libbison_a_SOURCES += lib/pipe2.c

## end   gnulib module pipe2

## begin gnulib module pipe2-safer

lib_libbison_a_SOURCES += lib/pipe2-safer.c

## end   gnulib module pipe2-safer

## begin gnulib module posix_spawn-internal

if gl_GNULIB_ENABLED_332607f759618fb73dfc3076748afea7

endif
EXTRA_DIST += lib/spawn_int.h lib/spawni.c

EXTRA_lib_libbison_a_SOURCES += lib/spawni.c

## end   gnulib module posix_spawn-internal

## begin gnulib module posix_spawn_file_actions_addclose


EXTRA_DIST += lib/spawn_faction_addclose.c lib/spawn_int.h

EXTRA_lib_libbison_a_SOURCES += lib/spawn_faction_addclose.c

## end   gnulib module posix_spawn_file_actions_addclose

## begin gnulib module posix_spawn_file_actions_adddup2


EXTRA_DIST += lib/spawn_faction_adddup2.c lib/spawn_int.h

EXTRA_lib_libbison_a_SOURCES += lib/spawn_faction_adddup2.c

## end   gnulib module posix_spawn_file_actions_adddup2

## begin gnulib module posix_spawn_file_actions_addopen


EXTRA_DIST += lib/spawn_faction_addopen.c lib/spawn_int.h

EXTRA_lib_libbison_a_SOURCES += lib/spawn_faction_addopen.c

## end   gnulib module posix_spawn_file_actions_addopen

## begin gnulib module posix_spawn_file_actions_destroy


EXTRA_DIST += lib/spawn_faction_destroy.c

EXTRA_lib_libbison_a_SOURCES += lib/spawn_faction_destroy.c

## end   gnulib module posix_spawn_file_actions_destroy

## begin gnulib module posix_spawn_file_actions_init


EXTRA_DIST += lib/spawn_faction_init.c lib/spawn_int.h

EXTRA_lib_libbison_a_SOURCES += lib/spawn_faction_init.c

## end   gnulib module posix_spawn_file_actions_init

## begin gnulib module posix_spawnattr_destroy


EXTRA_DIST += lib/spawnattr_destroy.c

EXTRA_lib_libbison_a_SOURCES += lib/spawnattr_destroy.c

## end   gnulib module posix_spawnattr_destroy

## begin gnulib module posix_spawnattr_init


EXTRA_DIST += lib/spawnattr_init.c

EXTRA_lib_libbison_a_SOURCES += lib/spawnattr_init.c

## end   gnulib module posix_spawnattr_init

## begin gnulib module posix_spawnattr_setflags


EXTRA_DIST += lib/spawnattr_setflags.c

EXTRA_lib_libbison_a_SOURCES += lib/spawnattr_setflags.c

## end   gnulib module posix_spawnattr_setflags

## begin gnulib module posix_spawnattr_setsigmask


EXTRA_DIST += lib/spawnattr_setsigmask.c

EXTRA_lib_libbison_a_SOURCES += lib/spawnattr_setsigmask.c

## end   gnulib module posix_spawnattr_setsigmask

## begin gnulib module posix_spawnp


EXTRA_DIST += lib/spawnp.c

EXTRA_lib_libbison_a_SOURCES += lib/spawnp.c

## end   gnulib module posix_spawnp

## begin gnulib module printf-frexp

lib_libbison_a_SOURCES += lib/printf-frexp.c

EXTRA_DIST += lib/printf-frexp.h

## end   gnulib module printf-frexp

## begin gnulib module printf-frexpl

lib_libbison_a_SOURCES += lib/printf-frexpl.c

EXTRA_DIST += lib/printf-frexp.c lib/printf-frexpl.h

EXTRA_lib_libbison_a_SOURCES += lib/printf-frexp.c

## end   gnulib module printf-frexpl

## begin gnulib module printf-posix


EXTRA_DIST += lib/printf.c

EXTRA_lib_libbison_a_SOURCES += lib/printf.c

## end   gnulib module printf-posix

## begin gnulib module progname

lib_libbison_a_SOURCES += lib/progname.h lib/progname.c

## end   gnulib module progname

## begin gnulib module quote


EXTRA_DIST += lib/quote.h

## end   gnulib module quote

## begin gnulib module quotearg

lib_libbison_a_SOURCES += lib/quotearg.c

EXTRA_DIST += lib/quote.h lib/quotearg.h

## end   gnulib module quotearg

## begin gnulib module raise


EXTRA_DIST += lib/raise.c

EXTRA_lib_libbison_a_SOURCES += lib/raise.c

## end   gnulib module raise

## begin gnulib module rawmemchr

if gl_GNULIB_ENABLED_rawmemchr

endif
EXTRA_DIST += lib/rawmemchr.c lib/rawmemchr.valgrind

EXTRA_lib_libbison_a_SOURCES += lib/rawmemchr.c

## end   gnulib module rawmemchr

## begin gnulib module readlink


EXTRA_DIST += lib/readlink.c

EXTRA_lib_libbison_a_SOURCES += lib/readlink.c

## end   gnulib module readlink

## begin gnulib module realloc-posix


EXTRA_DIST += lib/realloc.c

EXTRA_lib_libbison_a_SOURCES += lib/realloc.c

## end   gnulib module realloc-posix

## begin gnulib module relocatable-prog

DEFS += -DEXEEXT=\"@EXEEXT@\"
if RELOCATABLE_VIA_WRAPPER
uninstall-hook: uninstall-relocwrapper
uninstall-relocwrapper:
	if test $(RELOCATABLE) = yes; then \
	  case '$(EXEEXT)' in \
	    .bin*) ;; \
	    *) cd $(top_builddir) && \
	       $(MAKE) $(AM_MAKEFLAGS) EXEEXT=.bin$(EXEEXT) \
		       AM_MAKEFLAGS='$(AM_MAKEFLAGS) EXEEXT=.bin$(EXEEXT)' \
		       uninstall ;; \
	  esac; \
	fi
endif
## Automake warns about conditionally added dependencies to unconditionally defined targets.
.PHONY: uninstall-relocwrapper

EXTRA_DIST += lib/progreloc.c lib/relocatable.c lib/relocatable.h

EXTRA_lib_libbison_a_SOURCES += lib/progreloc.c lib/relocatable.c

EXTRA_DIST += $(top_srcdir)/build-aux/config.libpath $(top_srcdir)/build-aux/reloc-ldflags $(top_srcdir)/build-aux/libtool-reloc

## end   gnulib module relocatable-prog

## begin gnulib module relocatable-prog-wrapper


EXTRA_DIST += lib/allocator.c lib/allocator.h lib/areadlink.c lib/areadlink.h lib/c-ctype.c lib/c-ctype.h lib/canonicalize-lgpl.c lib/careadlinkat.c lib/careadlinkat.h lib/lstat.c lib/malloca.c lib/malloca.h lib/progname.c lib/progname.h lib/progreloc.c lib/readlink.c lib/relocatable.c lib/relocatable.h lib/relocwrapper.c lib/setenv.c lib/stat.c

EXTRA_DIST += $(top_srcdir)/build-aux/install-reloc

## end   gnulib module relocatable-prog-wrapper

## begin gnulib module relocatable-script


EXTRA_DIST += $(top_srcdir)/build-aux/relocatable.sh.in

## end   gnulib module relocatable-script

## begin gnulib module rename


EXTRA_DIST += lib/rename.c

EXTRA_lib_libbison_a_SOURCES += lib/rename.c

## end   gnulib module rename

## begin gnulib module rmdir

if gl_GNULIB_ENABLED_rmdir

endif
EXTRA_DIST += lib/rmdir.c

EXTRA_lib_libbison_a_SOURCES += lib/rmdir.c

## end   gnulib module rmdir

## begin gnulib module same-inode

if gl_GNULIB_ENABLED_9bc5f216d57e231e4834049d67d0db62

endif
EXTRA_DIST += lib/same-inode.h

## end   gnulib module same-inode

## begin gnulib module sched

BUILT_SOURCES += lib/sched.h

# We need the following in order to create a replacement for <sched.h> when
# the system doesn't have one.
lib/sched.h: lib/sched.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''HAVE_SCHED_H''@|$(HAVE_SCHED_H)|g' \
	      -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_SCHED_H''@|$(NEXT_SCHED_H)|g' \
	      -e 's|@''HAVE_STRUCT_SCHED_PARAM''@|$(HAVE_STRUCT_SCHED_PARAM)|g' \
	      -e 's/@''GNULIB_SCHED_YIELD''@/$(GNULIB_SCHED_YIELD)/g' \
	      -e 's|@''HAVE_SCHED_YIELD''@|$(HAVE_SCHED_YIELD)|g' \
	      -e 's|@''REPLACE_SCHED_YIELD''@|$(REPLACE_SCHED_YIELD)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/sched.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/sched.h lib/sched.h-t

EXTRA_DIST += lib/sched.in.h

## end   gnulib module sched

## begin gnulib module sigaction

lib_libbison_a_SOURCES += lib/sig-handler.c

EXTRA_DIST += lib/sig-handler.h lib/sigaction.c

EXTRA_lib_libbison_a_SOURCES += lib/sigaction.c

## end   gnulib module sigaction

## begin gnulib module signal-h

BUILT_SOURCES += lib/signal.h

# We need the following in order to create <signal.h> when the system
# doesn't have a complete one.
lib/signal.h: lib/signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \
	      -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GNULIB_PTHREAD_SIGMASK)/g' \
	      -e 's/@''GNULIB_RAISE''@/$(GNULIB_RAISE)/g' \
	      -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \
	      -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \
	      -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \
	      -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \
	      -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \
	      -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \
	      -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \
	      -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \
	      -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \
	      -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \
	      -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \
	      -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \
	      -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \
	      -e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/signal.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/signal.h lib/signal.h-t

EXTRA_DIST += lib/signal.in.h

## end   gnulib module signal-h

## begin gnulib module signbit


EXTRA_DIST += lib/float+.h lib/signbitd.c lib/signbitf.c lib/signbitl.c

EXTRA_lib_libbison_a_SOURCES += lib/signbitd.c lib/signbitf.c lib/signbitl.c

## end   gnulib module signbit

## begin gnulib module sigprocmask


EXTRA_DIST += lib/sigprocmask.c

EXTRA_lib_libbison_a_SOURCES += lib/sigprocmask.c

## end   gnulib module sigprocmask

## begin gnulib module size_max

lib_libbison_a_SOURCES += lib/size_max.h

## end   gnulib module size_max

## begin gnulib module snippet/_Noreturn

# Because this Makefile snippet defines a variable used by other
# gnulib Makefile snippets, it must be present in all makefiles that
# need it. This is ensured by the applicability 'all' defined above.

_NORETURN_H=$(top_srcdir)/lib/_Noreturn.h

EXTRA_DIST += lib/_Noreturn.h

## end   gnulib module snippet/_Noreturn

## begin gnulib module snippet/arg-nonnull

# Because this Makefile snippet defines a variable used by other
# gnulib Makefile snippets, it must be present in all makefiles that
# need it. This is ensured by the applicability 'all' defined above.

ARG_NONNULL_H=$(top_srcdir)/lib/arg-nonnull.h

EXTRA_DIST += lib/arg-nonnull.h

## end   gnulib module snippet/arg-nonnull

## begin gnulib module snippet/c++defs

# Because this Makefile snippet defines a variable used by other
# gnulib Makefile snippets, it must be present in all makefiles that
# need it. This is ensured by the applicability 'all' defined above.

CXXDEFS_H=$(top_srcdir)/lib/c++defs.h

EXTRA_DIST += lib/c++defs.h

## end   gnulib module snippet/c++defs

## begin gnulib module snippet/warn-on-use

# Because this Makefile snippet defines a variable used by other
# gnulib Makefile snippets, it must be present in all makefiles that
# need it. This is ensured by the applicability 'all' defined above.

WARN_ON_USE_H=$(top_srcdir)/lib/warn-on-use.h

EXTRA_DIST += lib/warn-on-use.h

## end   gnulib module snippet/warn-on-use

## begin gnulib module snprintf


EXTRA_DIST += lib/snprintf.c

EXTRA_lib_libbison_a_SOURCES += lib/snprintf.c

## end   gnulib module snprintf

## begin gnulib module spawn

BUILT_SOURCES += lib/spawn.h

# We need the following in order to create a replacement for <spawn.h> when
# the system doesn't have one.
lib/spawn.h: lib/spawn.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''HAVE_SPAWN_H''@|$(HAVE_SPAWN_H)|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_SPAWN_H''@|$(NEXT_SPAWN_H)|g' \
	      -e 's/@''GNULIB_POSIX_SPAWN''@/$(GNULIB_POSIX_SPAWN)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNP''@/$(GNULIB_POSIX_SPAWNP)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_INIT''@/$(GNULIB_POSIX_SPAWNATTR_INIT)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_GETFLAGS''@/$(GNULIB_POSIX_SPAWNATTR_GETFLAGS)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_SETFLAGS''@/$(GNULIB_POSIX_SPAWNATTR_SETFLAGS)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_GETPGROUP''@/$(GNULIB_POSIX_SPAWNATTR_GETPGROUP)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_SETPGROUP''@/$(GNULIB_POSIX_SPAWNATTR_SETPGROUP)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM''@/$(GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM''@/$(GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY''@/$(GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY''@/$(GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT''@/$(GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT''@/$(GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSIGMASK''@/$(GNULIB_POSIX_SPAWNATTR_GETSIGMASK)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSIGMASK''@/$(GNULIB_POSIX_SPAWNATTR_SETSIGMASK)/g' \
	      -e 's/@''GNULIB_POSIX_SPAWNATTR_DESTROY''@/$(GNULIB_POSIX_SPAWNATTR_DESTROY)/g' \
	      -e 's|@''HAVE_POSIX_SPAWN''@|$(HAVE_POSIX_SPAWN)|g' \
	      -e 's|@''HAVE_POSIX_SPAWNATTR_T''@|$(HAVE_POSIX_SPAWNATTR_T)|g' \
	      -e 's|@''HAVE_POSIX_SPAWN_FILE_ACTIONS_T''@|$(HAVE_POSIX_SPAWN_FILE_ACTIONS_T)|g' \
	      -e 's|@''HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR''@|$(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR)|g' \
	      -e 's|@''HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR''@|$(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR)|g' \
	      -e 's|@''REPLACE_POSIX_SPAWN''@|$(REPLACE_POSIX_SPAWN)|g' \
	      -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR)|g' \
	      -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE)|g' \
	      -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2)|g' \
	      -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR)|g' \
	      -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/spawn.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/spawn.h lib/spawn.h-t

EXTRA_DIST += lib/spawn.in.h

## end   gnulib module spawn

## begin gnulib module spawn-pipe

lib_libbison_a_SOURCES += lib/spawn-pipe.h lib/spawn-pipe.c lib/w32spawn.h

## end   gnulib module spawn-pipe

## begin gnulib module sprintf-posix


EXTRA_DIST += lib/sprintf.c

EXTRA_lib_libbison_a_SOURCES += lib/sprintf.c

## end   gnulib module sprintf-posix

## begin gnulib module stat

if gl_GNULIB_ENABLED_stat

endif
EXTRA_DIST += lib/stat-w32.c lib/stat-w32.h lib/stat.c

EXTRA_lib_libbison_a_SOURCES += lib/stat-w32.c lib/stat.c

## end   gnulib module stat

## begin gnulib module stat-time

if gl_GNULIB_ENABLED_0137e3d3638b33e5819d132d0b23165c
lib_libbison_a_SOURCES += lib/stat-time.c

endif
EXTRA_DIST += lib/stat-time.h

## end   gnulib module stat-time

## begin gnulib module stdbool

BUILT_SOURCES += $(STDBOOL_H)

# We need the following in order to create <stdbool.h> when the system
# doesn't have one that works.
if GL_GENERATE_STDBOOL_H
lib/stdbool.h: lib/stdbool.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(top_srcdir)/lib/stdbool.in.h; \
	} > $@-t && \
	mv $@-t $@
else
lib/stdbool.h: $(top_builddir)/config.status
	rm -f $@
endif
MOSTLYCLEANFILES += lib/stdbool.h lib/stdbool.h-t

EXTRA_DIST += lib/stdbool.in.h

## end   gnulib module stdbool

## begin gnulib module stddef

BUILT_SOURCES += $(STDDEF_H)

# We need the following in order to create <stddef.h> when the system
# doesn't have one that works with the given compiler.
if GL_GENERATE_STDDEF_H
lib/stddef.h: lib/stddef.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
	      -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
	      -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
	      -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
	      < $(top_srcdir)/lib/stddef.in.h; \
	} > $@-t && \
	mv $@-t $@
else
lib/stddef.h: $(top_builddir)/config.status
	rm -f $@
endif
MOSTLYCLEANFILES += lib/stddef.h lib/stddef.h-t

EXTRA_DIST += lib/stddef.in.h

## end   gnulib module stddef

## begin gnulib module stdint

BUILT_SOURCES += $(STDINT_H)

# We need the following in order to create <stdint.h> when the system
# doesn't have one that works with the given compiler.
if GL_GENERATE_STDINT_H
lib/stdint.h: lib/stdint.in.h $(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
	      -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
	      -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
	      -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
	      -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
	      -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
	      -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
	      -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
	      -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
	      -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
	      -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
	      -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
	      -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
	      -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
	      -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
	      -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
	      -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
	      -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
	      -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
	      -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
	      -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
	      -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
	      -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
	      -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
	      < $(top_srcdir)/lib/stdint.in.h; \
	} > $@-t && \
	mv $@-t $@
else
lib/stdint.h: $(top_builddir)/config.status
	rm -f $@
endif
MOSTLYCLEANFILES += lib/stdint.h lib/stdint.h-t

EXTRA_DIST += lib/stdint.in.h

## end   gnulib module stdint

## begin gnulib module stdio

BUILT_SOURCES += lib/stdio.h

# We need the following in order to create <stdio.h> when the system
# doesn't have one that works with the given compiler.
lib/stdio.h: lib/stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
	      -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
	      -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
	      -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
	      -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
	      -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
	      -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
	      -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \
	      -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \
	      -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \
	      -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \
	      -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \
	      -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \
	      -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \
	      -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \
	      -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \
	      -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \
	      -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \
	      -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \
	      -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \
	      -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \
	      -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \
	      -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
	      -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
	      -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
	      -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
	      -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
	      -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
	      -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
	      -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
	      -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
	      -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \
	      -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \
	      -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \
	      -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \
	      -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \
	      -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \
	      -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \
	      -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \
	      -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \
	      -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \
	      -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \
	      -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \
	      -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \
	      -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \
	      -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \
	      -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \
	      -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \
	      -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \
	      -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \
	      -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \
	      -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
	      -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
	      -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
	      < $(top_srcdir)/lib/stdio.in.h | \
	  sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
	      -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
	      -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
	      -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
	      -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
	      -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
	      -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
	      -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
	      -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
	      -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
	      -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
	      -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
	      -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
	      -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
	      -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
	      -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
	      -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
	      -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
	      -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
	      -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
	      -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
	      -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
	      -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
	      -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
	      -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
	      -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
	      -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
	      -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
	      -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
	      -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
	      -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
	      -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
	      -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
	      -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
	      -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
	      -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
	      -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
	      -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
	      -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
	      -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
	      -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
	      -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
	      -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
	      -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
	      -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
	      -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
	      -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
	      -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
	      -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/stdio.h lib/stdio.h-t

EXTRA_DIST += lib/stdio.in.h

## end   gnulib module stdio

## begin gnulib module stdlib

BUILT_SOURCES += lib/stdlib.h

# We need the following in order to create <stdlib.h> when the system
# doesn't have one that works with the given compiler.
lib/stdlib.h: lib/stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
	      -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
	      -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
	      -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
	      -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
	      -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
	      -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
	      -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
	      -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
	      -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
	      -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
	      -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
	      -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
	      -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
	      -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
	      -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
	      -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
	      -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
	      -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
	      -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \
	      -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
	      -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
	      -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
	      -e 's/@''GNULIB_REALLOCARRAY''@/$(GNULIB_REALLOCARRAY)/g' \
	      -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
	      -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
	      -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \
	      -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
	      -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
	      -e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/g' \
	      -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
	      -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
	      -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
	      -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
	      -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
	      -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
	      < $(top_srcdir)/lib/stdlib.in.h | \
	  sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
	      -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
	      -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
	      -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
	      -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
	      -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
	      -e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \
	      -e 's|@''HAVE_DECL_INITSTATE''@|$(HAVE_DECL_INITSTATE)|g' \
	      -e 's|@''HAVE_MBTOWC''@|$(HAVE_MBTOWC)|g' \
	      -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
	      -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
	      -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
	      -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
	      -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
	      -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
	      -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
	      -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
	      -e 's|@''HAVE_QSORT_R''@|$(HAVE_QSORT_R)|g' \
	      -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
	      -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
	      -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
	      -e 's|@''HAVE_REALLOCARRAY''@|$(HAVE_REALLOCARRAY)|g' \
	      -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
	      -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
	      -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \
	      -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
	      -e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \
	      -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \
	      -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
	      -e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \
	      -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
	      -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
	      -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
	      -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
	      -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
	      -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
	      -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
	      -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
	      -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \
	      -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
	      -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
	      -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
	      -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
	      -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
	      -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
	      -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
	      -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \
	      -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
	      -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
	      -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
	      -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
	      -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \
	      -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
	      -e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \
	      -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
	      -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _Noreturn/r $(_NORETURN_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/stdlib.h lib/stdlib.h-t

EXTRA_DIST += lib/stdlib.in.h

## end   gnulib module stdlib

## begin gnulib module stpcpy


EXTRA_DIST += lib/stpcpy.c

EXTRA_lib_libbison_a_SOURCES += lib/stpcpy.c

## end   gnulib module stpcpy

## begin gnulib module strchrnul

if gl_GNULIB_ENABLED_strchrnul

endif
EXTRA_DIST += lib/strchrnul.c lib/strchrnul.valgrind

EXTRA_lib_libbison_a_SOURCES += lib/strchrnul.c

## end   gnulib module strchrnul

## begin gnulib module strdup-posix


EXTRA_DIST += lib/strdup.c

EXTRA_lib_libbison_a_SOURCES += lib/strdup.c

## end   gnulib module strdup-posix

## begin gnulib module streq


EXTRA_DIST += lib/streq.h

## end   gnulib module streq

## begin gnulib module strerror


EXTRA_DIST += lib/strerror.c

EXTRA_lib_libbison_a_SOURCES += lib/strerror.c

## end   gnulib module strerror

## begin gnulib module strerror-override

if gl_GNULIB_ENABLED_dbb57f49352be8fb86869629a254fb72

endif
EXTRA_DIST += lib/strerror-override.c lib/strerror-override.h

EXTRA_lib_libbison_a_SOURCES += lib/strerror-override.c

## end   gnulib module strerror-override

## begin gnulib module strerror_r-posix

if gl_GNULIB_ENABLED_1f32594a85e6221ba15f884daeee8c2a

endif
EXTRA_DIST += lib/strerror_r.c

EXTRA_lib_libbison_a_SOURCES += lib/strerror_r.c

## end   gnulib module strerror_r-posix

## begin gnulib module string

BUILT_SOURCES += lib/string.h

# We need the following in order to create <string.h> when the system
# doesn't have one that works with the given compiler.
lib/string.h: lib/string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
	      -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GNULIB_EXPLICIT_BZERO)/g' \
	      -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
	      -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
	      -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
	      -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
	      -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
	      -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
	      -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
	      -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
	      -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
	      -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
	      -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
	      -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
	      -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
	      -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
	      -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
	      -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
	      -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
	      -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
	      -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
	      -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
	      -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
	      -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
	      -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
	      -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
	      -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
	      -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
	      -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
	      -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
	      -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
	      -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
	      -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
	      -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
	      -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
	      -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
	      -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
	      -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
	      -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
	      < $(top_srcdir)/lib/string.in.h | \
	  sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
	      -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
	      -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
	      -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
	      -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
	      -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
	      -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
	      -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
	      -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
	      -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
	      -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
	      -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
	      -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
	      -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
	      -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
	      -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
	      -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
	      -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
	      -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
	      -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
	      -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
	      -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
	      -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
	      -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
	      -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
	      -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
	      -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
	      -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
	      -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
	      -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
	      -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
	      -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
	      -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
	      -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
	      -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
	      -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
	      -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
	      < $(top_srcdir)/lib/string.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/string.h lib/string.h-t

EXTRA_DIST += lib/string.in.h

## end   gnulib module string

## begin gnulib module strndup


EXTRA_DIST += lib/strndup.c

EXTRA_lib_libbison_a_SOURCES += lib/strndup.c

## end   gnulib module strndup

## begin gnulib module strnlen

if gl_GNULIB_ENABLED_strnlen

endif
EXTRA_DIST += lib/strnlen.c

EXTRA_lib_libbison_a_SOURCES += lib/strnlen.c

## end   gnulib module strnlen

## begin gnulib module strverscmp


EXTRA_DIST += lib/strverscmp.c

EXTRA_lib_libbison_a_SOURCES += lib/strverscmp.c

## end   gnulib module strverscmp

## begin gnulib module sys_resource

BUILT_SOURCES += lib/sys/resource.h

# We need the following in order to create <sys/resource.h> when the system
# doesn't have one.
lib/sys/resource.h: lib/sys_resource.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_at)$(MKDIR_P) lib/sys
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_SYS_RESOURCE_H''@|$(NEXT_SYS_RESOURCE_H)|g' \
	      -e 's|@''HAVE_SYS_RESOURCE_H''@|$(HAVE_SYS_RESOURCE_H)|g' \
	      -e 's/@''GNULIB_GETRUSAGE''@/$(GNULIB_GETRUSAGE)/g' \
	      -e 's/@''HAVE_GETRUSAGE''@/$(HAVE_GETRUSAGE)/g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/sys_resource.in.h; \
	} > $@-t && \
	mv -f $@-t $@
MOSTLYCLEANFILES += lib/sys/resource.h lib/sys/resource.h-t
MOSTLYCLEANDIRS += lib/sys

EXTRA_DIST += lib/sys_resource.in.h

## end   gnulib module sys_resource

## begin gnulib module sys_stat

if gl_GNULIB_ENABLED_sys_stat
BUILT_SOURCES += lib/sys/stat.h

# We need the following in order to create <sys/stat.h> when the system
# has one that is incomplete.
lib/sys/stat.h: lib/sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_at)$(MKDIR_P) lib/sys
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
	      -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \
	      -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \
	      -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
	      -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
	      -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
	      -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \
	      -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \
	      -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \
	      -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \
	      -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \
	      -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \
	      -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \
	      -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \
	      -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \
	      -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \
	      -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_STAT)/g' \
	      -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
	      -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
	      -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
	      -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
	      -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
	      -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \
	      -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \
	      -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \
	      -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \
	      -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \
	      -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \
	      -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \
	      -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \
	      -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \
	      -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
	      -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
	      -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \
	      -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \
	      -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \
	      -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/sys_stat.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/sys/stat.h lib/sys/stat.h-t
MOSTLYCLEANDIRS += lib/sys

endif
EXTRA_DIST += lib/sys_stat.in.h

## end   gnulib module sys_stat

## begin gnulib module sys_time

BUILT_SOURCES += lib/sys/time.h

# We need the following in order to create <sys/time.h> when the system
# doesn't have one that works with the given compiler.
lib/sys/time.h: lib/sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_at)$(MKDIR_P) lib/sys
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
	      -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
	      -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
	      -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \
	      -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
	      -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
	      -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/sys_time.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/sys/time.h lib/sys/time.h-t

EXTRA_DIST += lib/sys_time.in.h

## end   gnulib module sys_time

## begin gnulib module sys_times

BUILT_SOURCES += lib/sys/times.h

# We need the following in order to create <sys/times.h> when the system
# doesn't have one that works with the given compiler.
lib/sys/times.h: lib/sys_times.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H)
	$(AM_V_at)$(MKDIR_P) lib/sys
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's/@''HAVE_SYS_TIMES_H''@/$(HAVE_SYS_TIMES_H)/g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_SYS_TIMES_H''@|$(NEXT_SYS_TIMES_H)|g' \
	      -e 's/@''GNULIB_TIMES''@/$(GNULIB_TIMES)/g' \
	      -e 's|@''HAVE_STRUCT_TMS''@|$(HAVE_STRUCT_TMS)|g' \
	      -e 's|@''HAVE_TIMES''@|$(HAVE_TIMES)|g' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/sys_times.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/sys/times.h lib/sys/times.h-t
MOSTLYCLEANDIRS += lib/sys

EXTRA_DIST += lib/sys_times.in.h

## end   gnulib module sys_times

## begin gnulib module sys_types

BUILT_SOURCES += lib/sys/types.h

# We need the following in order to create <sys/types.h> when the system
# doesn't have one that works with the given compiler.
lib/sys/types.h: lib/sys_types.in.h $(top_builddir)/config.status
	$(AM_V_at)$(MKDIR_P) lib/sys
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
	      -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
	      -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \
	      < $(top_srcdir)/lib/sys_types.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/sys/types.h lib/sys/types.h-t

EXTRA_DIST += lib/sys_types.in.h

## end   gnulib module sys_types

## begin gnulib module sys_wait

BUILT_SOURCES += lib/sys/wait.h

# We need the following in order to create <sys/wait.h> when the system
# has one that is incomplete.
lib/sys/wait.h: lib/sys_wait.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
	$(AM_V_at)$(MKDIR_P) lib/sys
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_SYS_WAIT_H''@|$(NEXT_SYS_WAIT_H)|g' \
	      -e 's/@''GNULIB_WAITPID''@/$(GNULIB_WAITPID)/g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/sys_wait.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/sys/wait.h lib/sys/wait.h-t
MOSTLYCLEANDIRS += lib/sys

EXTRA_DIST += lib/sys_wait.in.h

## end   gnulib module sys_wait

## begin gnulib module threadlib

lib_libbison_a_SOURCES += lib/glthread/threadlib.c

## end   gnulib module threadlib

## begin gnulib module time

BUILT_SOURCES += lib/time.h

# We need the following in order to create <time.h> when the system
# doesn't have one that works with the given compiler.
lib/time.h: lib/time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
	      -e 's/@''GNULIB_CTIME''@/$(GNULIB_CTIME)/g' \
	      -e 's/@''GNULIB_LOCALTIME''@/$(GNULIB_LOCALTIME)/g' \
	      -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
	      -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
	      -e 's/@''GNULIB_STRFTIME''@/$(GNULIB_STRFTIME)/g' \
	      -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
	      -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
	      -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
	      -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \
	      -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/g' \
	      -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
	      -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
	      -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
	      -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
	      -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
	      -e 's|@''HAVE_TZSET''@|$(HAVE_TZSET)|g' \
	      -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \
	      -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
	      -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
	      -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
	      -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
	      -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
	      -e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \
	      -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
	      -e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \
	      -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
	      -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
	      -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
	      -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/time.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/time.h lib/time.h-t

EXTRA_DIST += lib/time.in.h

## end   gnulib module time

## begin gnulib module timespec

lib_libbison_a_SOURCES += lib/timespec.c

EXTRA_DIST += lib/timespec.h

## end   gnulib module timespec

## begin gnulib module timevar

lib_libbison_a_SOURCES += lib/timevar.c lib/timevar.def

EXTRA_DIST += lib/timevar.h

## end   gnulib module timevar

## begin gnulib module tls

lib_libbison_a_SOURCES += lib/glthread/tls.h lib/glthread/tls.c

## end   gnulib module tls

## begin gnulib module unistd

BUILT_SOURCES += lib/unistd.h
lib_libbison_a_SOURCES += lib/unistd.c

# We need the following in order to create an empty placeholder for
# <unistd.h> when the system doesn't have one.
lib/unistd.h: lib/unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
	      -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
	      -e 's/@''GNULIB_ACCESS''@/$(GNULIB_ACCESS)/g' \
	      -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
	      -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
	      -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
	      -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GNULIB_COPY_FILE_RANGE)/g' \
	      -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
	      -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
	      -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
	      -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
	      -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
	      -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
	      -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
	      -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
	      -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
	      -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
	      -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
	      -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
	      -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
	      -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
	      -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
	      -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
	      -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
	      -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
	      -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
	      -e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \
	      -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
	      -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
	      -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
	      -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
	      -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
	      -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
	      -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
	      -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
	      -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
	      -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
	      -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
	      -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
	      -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
	      -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
	      -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
	      -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \
	      -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
	      -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
	      -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
	      -e 's/@''GNULIB_TRUNCATE''@/$(GNULIB_TRUNCATE)/g' \
	      -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
	      -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \
	      -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
	      -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
	      -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
	      -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
	      -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
	      -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
	      < $(top_srcdir)/lib/unistd.in.h | \
	  sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
	      -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \
	      -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
	      -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
	      -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
	      -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
	      -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
	      -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
	      -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
	      -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
	      -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
	      -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
	      -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
	      -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
	      -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
	      -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \
	      -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
	      -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
	      -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
	      -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
	      -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \
	      -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
	      -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
	      -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
	      -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
	      -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
	      -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \
	      -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
	      -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
	      -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
	      -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
	      -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
	      -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
	      -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
	      -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
	      -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
	      -e 's|@''HAVE_DECL_GETLOGIN''@|$(HAVE_DECL_GETLOGIN)|g' \
	      -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
	      -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
	      -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
	      -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
	      -e 's|@''HAVE_DECL_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|g' \
	      -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
	      -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
	      -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
	  | \
	  sed -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \
	      -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
	      -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
	      -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
	      -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
	      -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \
	      -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
	      -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
	      -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
	      -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
	      -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
	      -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
	      -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
	      -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
	      -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \
	      -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
	      -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
	      -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
	      -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
	      -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
	      -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
	      -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
	      -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
	      -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
	      -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \
	      -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
	      -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
	      -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
	      -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
	      -e 's|@''REPLACE_TRUNCATE''@|$(REPLACE_TRUNCATE)|g' \
	      -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
	      -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
	      -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
	      -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
	      -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
	      -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
	      -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/unistd.h lib/unistd.h-t

EXTRA_DIST += lib/unistd.in.h

## end   gnulib module unistd

## begin gnulib module unistd-safer

lib_libbison_a_SOURCES += lib/dup-safer.c lib/fd-safer.c lib/pipe-safer.c

EXTRA_DIST += lib/unistd--.h lib/unistd-safer.h

## end   gnulib module unistd-safer

## begin gnulib module unitypes

BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H)

lib/unitypes.h: lib/unitypes.in.h
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  cat $(top_srcdir)/lib/unitypes.in.h; \
	} > $@-t && \
	mv -f $@-t $@
MOSTLYCLEANFILES += lib/unitypes.h lib/unitypes.h-t

EXTRA_DIST += lib/unitypes.in.h

## end   gnulib module unitypes

## begin gnulib module uniwidth/base

BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H)

lib/uniwidth.h: lib/uniwidth.in.h
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  cat $(top_srcdir)/lib/uniwidth.in.h; \
	} > $@-t && \
	mv -f $@-t $@
MOSTLYCLEANFILES += lib/uniwidth.h lib/uniwidth.h-t

EXTRA_DIST += lib/localcharset.h lib/uniwidth.in.h

## end   gnulib module uniwidth/base

## begin gnulib module uniwidth/width

if LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH
lib_libbison_a_SOURCES += lib/uniwidth/width.c
endif

EXTRA_DIST += lib/uniwidth/cjk.h

## end   gnulib module uniwidth/width

## begin gnulib module unlink


EXTRA_DIST += lib/unlink.c

EXTRA_lib_libbison_a_SOURCES += lib/unlink.c

## end   gnulib module unlink

## begin gnulib module unlocked-io


EXTRA_DIST += lib/unlocked-io.h

## end   gnulib module unlocked-io

## begin gnulib module unsetenv


EXTRA_DIST += lib/unsetenv.c

EXTRA_lib_libbison_a_SOURCES += lib/unsetenv.c

## end   gnulib module unsetenv

## begin gnulib module update-copyright


EXTRA_DIST += $(top_srcdir)/build-aux/update-copyright

## end   gnulib module update-copyright

## begin gnulib module useless-if-before-free


EXTRA_DIST += $(top_srcdir)/build-aux/useless-if-before-free

## end   gnulib module useless-if-before-free

## begin gnulib module vasnprintf


EXTRA_DIST += lib/asnprintf.c lib/float+.h lib/printf-args.c lib/printf-args.h lib/printf-parse.c lib/printf-parse.h lib/vasnprintf.c lib/vasnprintf.h

EXTRA_lib_libbison_a_SOURCES += lib/asnprintf.c lib/printf-args.c lib/printf-parse.c lib/vasnprintf.c

## end   gnulib module vasnprintf

## begin gnulib module vasprintf


EXTRA_DIST += lib/asprintf.c lib/vasprintf.c

EXTRA_lib_libbison_a_SOURCES += lib/asprintf.c lib/vasprintf.c

## end   gnulib module vasprintf

## begin gnulib module vc-list-files


EXTRA_DIST += $(top_srcdir)/build-aux/vc-list-files

## end   gnulib module vc-list-files

## begin gnulib module verify


EXTRA_DIST += lib/verify.h

## end   gnulib module verify

## begin gnulib module vfprintf-posix

if gl_GNULIB_ENABLED_ed5616be3593d355b981ffab56b9f37b

endif
EXTRA_DIST += lib/vfprintf.c

EXTRA_lib_libbison_a_SOURCES += lib/vfprintf.c

## end   gnulib module vfprintf-posix

## begin gnulib module vsnprintf


EXTRA_DIST += lib/vsnprintf.c

EXTRA_lib_libbison_a_SOURCES += lib/vsnprintf.c

## end   gnulib module vsnprintf

## begin gnulib module vsprintf-posix


EXTRA_DIST += lib/vsprintf.c

EXTRA_lib_libbison_a_SOURCES += lib/vsprintf.c

## end   gnulib module vsprintf-posix

## begin gnulib module wait-process

lib_libbison_a_SOURCES += lib/wait-process.h lib/wait-process.c

## end   gnulib module wait-process

## begin gnulib module waitpid


EXTRA_DIST += lib/waitpid.c

EXTRA_lib_libbison_a_SOURCES += lib/waitpid.c

## end   gnulib module waitpid

## begin gnulib module wchar

BUILT_SOURCES += lib/wchar.h

# We need the following in order to create <wchar.h> when the system
# version does not work standalone.
lib/wchar.h: lib/wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
	      -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
	      -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
	      -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \
	      -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
	      -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
	      -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
	      -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
	      -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
	      -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
	      -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
	      -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
	      -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
	      -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
	      -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
	      -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
	      -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
	      -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
	      -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
	      -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
	      -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
	      -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
	      -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
	      -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
	      -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
	      -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
	      -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
	      -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
	      -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
	      -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
	      -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
	      -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
	      -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
	      -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
	      -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
	      -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
	      -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
	      -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
	      -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
	      -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
	      -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
	      -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
	      -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
	      -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
	      -e 's/@''GNULIB_WCSFTIME''@/$(GNULIB_WCSFTIME)/g' \
	      < $(top_srcdir)/lib/wchar.in.h | \
	  sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
	      -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
	      -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
	      -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
	      -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
	      -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
	      -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
	      -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
	      -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
	      -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
	      -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
	      -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
	      -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
	      -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
	      -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
	      -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
	      -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
	      -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
	      -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
	      -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
	      -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
	      -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
	      -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
	      -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
	      -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
	      -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
	      -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
	      -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
	      -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
	      -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
	      -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
	      -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
	      -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
	      -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
	      -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
	      -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
	      -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
	      -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
	      -e 's|@''HAVE_WCSFTIME''@|$(HAVE_WCSFTIME)|g' \
	      -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
	      -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
	  | \
	  sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
	      -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
	      -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
	      -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
	      -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
	      -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
	      -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
	      -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
	      -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
	      -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
	      -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
	      -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
	      -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
	      -e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \
	      -e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/wchar.h lib/wchar.h-t

EXTRA_DIST += lib/wchar.in.h

## end   gnulib module wchar

## begin gnulib module wctype-h

BUILT_SOURCES += lib/wctype.h
lib_libbison_a_SOURCES += lib/wctype-h.c

# We need the following in order to create <wctype.h> when the system
# doesn't have one that works with the given compiler.
lib/wctype.h: lib/wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
	      -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
	      -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \
	      -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
	      -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \
	      -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \
	      -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \
	      -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \
	      -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \
	      -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \
	      -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \
	      -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \
	      -e 's/@''HAVE_WCTRANS_T''@/$(HAVE_WCTRANS_T)/g' \
	      -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
	      -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \
	      -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \
	      -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(top_srcdir)/lib/wctype.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += lib/wctype.h lib/wctype.h-t

EXTRA_DIST += lib/wctype.in.h

## end   gnulib module wctype-h

## begin gnulib module wcwidth


EXTRA_DIST += lib/wcwidth.c

EXTRA_lib_libbison_a_SOURCES += lib/wcwidth.c

## end   gnulib module wcwidth

## begin gnulib module windows-mutex

if gl_GNULIB_ENABLED_503a4cb75d69c787103d0aa2ab7d8440

endif
EXTRA_DIST += lib/windows-initguard.h lib/windows-mutex.c lib/windows-mutex.h

EXTRA_lib_libbison_a_SOURCES += lib/windows-mutex.c

## end   gnulib module windows-mutex

## begin gnulib module windows-once

if gl_GNULIB_ENABLED_68a4501daeca58988392c7e60b4917ab

endif
EXTRA_DIST += lib/windows-once.c lib/windows-once.h

EXTRA_lib_libbison_a_SOURCES += lib/windows-once.c

## end   gnulib module windows-once

## begin gnulib module windows-recmutex

if gl_GNULIB_ENABLED_f0efff84a70f4afba30902bb8ffe9354

endif
EXTRA_DIST += lib/windows-initguard.h lib/windows-recmutex.c lib/windows-recmutex.h

EXTRA_lib_libbison_a_SOURCES += lib/windows-recmutex.c

## end   gnulib module windows-recmutex

## begin gnulib module windows-rwlock

if gl_GNULIB_ENABLED_8bb827fe37eaccf1b97feb0c87bc92ef

endif
EXTRA_DIST += lib/windows-initguard.h lib/windows-rwlock.c lib/windows-rwlock.h

EXTRA_lib_libbison_a_SOURCES += lib/windows-rwlock.c

## end   gnulib module windows-rwlock

## begin gnulib module windows-tls

if gl_GNULIB_ENABLED_48b2271240803e4879464b755748a89d

endif
EXTRA_DIST += lib/windows-tls.c lib/windows-tls.h

EXTRA_lib_libbison_a_SOURCES += lib/windows-tls.c

## end   gnulib module windows-tls

## begin gnulib module xalloc

lib_libbison_a_SOURCES += lib/xmalloc.c

EXTRA_DIST += lib/xalloc.h

## end   gnulib module xalloc

## begin gnulib module xalloc-die

lib_libbison_a_SOURCES += lib/xalloc-die.c

## end   gnulib module xalloc-die

## begin gnulib module xalloc-oversized


EXTRA_DIST += lib/xalloc-oversized.h

## end   gnulib module xalloc-oversized

## begin gnulib module xconcat-filename

lib_libbison_a_SOURCES += lib/xconcat-filename.c

EXTRA_DIST += lib/concat-filename.h

## end   gnulib module xconcat-filename

## begin gnulib module xhash

lib_libbison_a_SOURCES += lib/xhash.c

## end   gnulib module xhash

## begin gnulib module xlist

lib_libbison_a_SOURCES += lib/gl_xlist.h lib/gl_xlist.c

## end   gnulib module xlist

## begin gnulib module xmemdup0


EXTRA_DIST += lib/xmemdup0.c lib/xmemdup0.h

EXTRA_lib_libbison_a_SOURCES += lib/xmemdup0.c

## end   gnulib module xmemdup0

## begin gnulib module xreadlink

lib_libbison_a_SOURCES += lib/xreadlink.c

EXTRA_DIST += lib/xreadlink.h

## end   gnulib module xreadlink

## begin gnulib module xsize

lib_libbison_a_SOURCES += lib/xsize.h lib/xsize.c

## end   gnulib module xsize

## begin gnulib module xstrndup

lib_libbison_a_SOURCES += lib/xstrndup.h lib/xstrndup.c

## end   gnulib module xstrndup


mostlyclean-local: mostlyclean-generic
	@for dir in '' $(MOSTLYCLEANDIRS); do \
	  if test -n "$$dir" && test -d $$dir; then \
	    echo "rmdir $$dir"; rmdir $$dir; \
	  fi; \
	done; \
	:
