## Copyright (C) 2002, 2005-2012 Free Software Foundation, Inc.

# This program 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 program 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 program.  If not, see <http://www.gnu.org/licenses/>.

dist_pkgdata_DATA = README bison.m4 \
   c-like.m4 \
   c-skel.m4 c.m4 yacc.c glr.c \
   c++-skel.m4 c++.m4 location.cc lalr1.cc glr.cc stack.hh \
   java-skel.m4 java.m4 lalr1.java

m4sugardir = $(pkgdatadir)/m4sugar
dist_m4sugar_DATA = m4sugar/m4sugar.m4 m4sugar/foreach.m4

xsltdir = $(pkgdatadir)/xslt
dist_xslt_DATA =				\
   xslt/bison.xsl				\
   xslt/xml2dot.xsl				\
   xslt/xml2text.xsl				\
   xslt/xml2xhtml.xsl
