Module Name:    src
Committed By:   christos
Date:           Thu Oct 29 00:56:36 UTC 2009

Added Files:
        src/external/bsd/byacc: Makefile Makefile.inc byacc2netbsd
        src/external/bsd/byacc/bin: Makefile yacc.1
        src/external/bsd/byacc/include: config.h

Log Message:
add build glue.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/bsd/byacc/Makefile \
    src/external/bsd/byacc/Makefile.inc src/external/bsd/byacc/byacc2netbsd
cvs rdiff -u -r0 -r1.1 src/external/bsd/byacc/bin/Makefile \
    src/external/bsd/byacc/bin/yacc.1
cvs rdiff -u -r0 -r1.1 src/external/bsd/byacc/include/config.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/external/bsd/byacc/Makefile
diff -u /dev/null src/external/bsd/byacc/Makefile:1.1
--- /dev/null	Wed Oct 28 20:56:36 2009
+++ src/external/bsd/byacc/Makefile	Wed Oct 28 20:56:35 2009
@@ -0,0 +1,5 @@
+#	$NetBSD: Makefile,v 1.1 2009/10/29 00:56:35 christos Exp $
+
+SUBDIR=	bin
+
+.include <bsd.subdir.mk>
Index: src/external/bsd/byacc/Makefile.inc
diff -u /dev/null src/external/bsd/byacc/Makefile.inc:1.1
--- /dev/null	Wed Oct 28 20:56:36 2009
+++ src/external/bsd/byacc/Makefile.inc	Wed Oct 28 20:56:35 2009
@@ -0,0 +1,13 @@
+#	$NetBSD: Makefile.inc,v 1.1 2009/10/29 00:56:35 christos Exp $
+
+WARNS=4
+
+.include <bsd.own.mk>
+
+BINDIR?= /usr/bin
+
+IDIST=	${NETBSDSRCDIR}/external/bsd/byacc/dist
+
+CPPFLAGS+= -DHAVE_CONFIG_H -I${.CURDIR}/../include -I${IDIST}
+
+.PATH: ${IDIST}
Index: src/external/bsd/byacc/byacc2netbsd
diff -u /dev/null src/external/bsd/byacc/byacc2netbsd:1.1
--- /dev/null	Wed Oct 28 20:56:36 2009
+++ src/external/bsd/byacc/byacc2netbsd	Wed Oct 28 20:56:35 2009
@@ -0,0 +1,131 @@
+#! /bin/sh
+#
+#	$NetBSD: byacc2netbsd,v 1.1 2009/10/29 00:56:35 christos Exp $
+#
+# Copyright (c) 2000 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# byacc2netbsd:  convert a byacc tree into a
+# netbsd byacc source tree, under src/external/bsd/byacc/dist,
+# based on byacc2netbsd by Bernd Ernesti and changes by Simon Burge
+#
+# Rough instructions for importing new byacc release:
+#
+#	$ cd /some/where/temporary
+#	$ tar xpfz /new/byacc/release/tar/file
+#	$ sh /usr/src/external/bsd/byacc/dist/byacc2netbsd byacc-20091027 `pwd`
+#	$ cd src/external/bsd/byacc/dist
+#	$ cvs import -m "Import byacc 20091027" src/external/bsd/byacc/dist FLEX byacc-20091027
+#	$ cd ../../../../../byacc-20091027
+#	$ run ./configure
+#	$ run make
+#	check the config file and copy it to /usr/src/external/bsd/byacc/include
+#	check the manual page against our copy if there are new options and
+#	update
+
+if [ $# -ne 2 ]; then echo "byacc2netbsd src dest"; exit 1; fi
+
+r=$1
+d=$2/src/external/bsd/byacc/dist
+
+case "$d" in
+	/*)
+		;;
+	*)
+		d=`/bin/pwd`/$d
+		;;
+esac
+
+case "$r" in
+	/*)
+		;;
+	*)
+		r=`/bin/pwd`/$r
+		;;
+esac
+
+echo preparing directory $d
+rm -rf $d
+mkdir -p $d
+
+### Copy the files and directories
+echo copying $r to $d
+cd $r
+pax -rw * $d
+
+### Remove the $'s around RCS tags
+find $d -type f -print | xargs egrep -l '\$(Id|Created|Header|Revision)' | while read f; do
+	sed -e 's/\$\(Id.*\) \$/\1/' \
+	    -e 's/\$\(Created.*\) \$/\1/' \
+	    -e 's/\$\(Header.*\) \$/\1/' \
+	    -e 's/\$\(Revision.*\) \$/\1/' \
+	    < $f > /tmp/byacc1f$$ && mv /tmp/byacc1f$$ $f && \
+	echo removed \$RCS tag from $f
+done
+
+### Add our NetBSD RCS Id
+find $d -type f -name '*.[chly]' -print | while read c; do
+	sed 1q < $c | grep -q '\$NetBSD' || (
+echo "/*	\$NetBSD\$	*/" >/tmp/byacc3n$$
+echo "" >>/tmp/byacc3n$$
+cat $c  >> /tmp/byacc3n$$
+mv /tmp/byacc3n$$ $c && echo added NetBSD RCS tag to $c
+	)
+done
+
+find $d -type f -name '*.[0-9]' -print | while read m; do
+	sed 1q < $m | grep -q '\$NetBSD' || (
+echo ".\\\"	\$NetBSD\$" >/tmp/byacc2m$$
+echo ".\\\"" >>/tmp/byacc2m$$
+cat $m >> /tmp/byacc2m$$
+mv /tmp/byacc2m$$ $m && echo added NetBSD RCS tag to $m
+	)
+done
+
+find $d -type f -name '*.texi' -print | while read t; do
+        sed "2 s/^/@c \$NetBSD\$\\
+/" < $t > /tmp/byacc4t$$
+	mv /tmp/byacc4t$$ $t && echo added NetBSD RCS tag to $t
+done
+
+echo done
+
+### Clean up any CVS directories that might be around.
+echo "cleaning up CVS residue."
+(
+	cd $d
+	find . -type d -name "CVS" -print | xargs rm -r
+)
+echo done
+
+### Fixing file and directory permissions.
+echo "Fixing file/directory permissions."
+(
+	cd $d
+	find . -type f -print | xargs chmod u+rw,go+r
+	find . -type d -print | xargs chmod u+rwx,go+rx
+)
+echo done
+
+exit 0

Index: src/external/bsd/byacc/bin/Makefile
diff -u /dev/null src/external/bsd/byacc/bin/Makefile:1.1
--- /dev/null	Wed Oct 28 20:56:36 2009
+++ src/external/bsd/byacc/bin/Makefile	Wed Oct 28 20:56:35 2009
@@ -0,0 +1,9 @@
+#	$NetBSD: Makefile,v 1.1 2009/10/29 00:56:35 christos Exp $
+
+.include "bsd.own.mk"
+
+PROG=	yacc
+SRCS=	closure.c error.c lalr.c lr0.c main.c mkpar.c output.c reader.c \
+	skeleton.c symtab.c verbose.c warshall.c graph.c
+
+.include <bsd.prog.mk>
Index: src/external/bsd/byacc/bin/yacc.1
diff -u /dev/null src/external/bsd/byacc/bin/yacc.1:1.1
--- /dev/null	Wed Oct 28 20:56:36 2009
+++ src/external/bsd/byacc/bin/yacc.1	Wed Oct 28 20:56:35 2009
@@ -0,0 +1,196 @@
+.\"	$NetBSD: yacc.1,v 1.1 2009/10/29 00:56:35 christos Exp $
+.\"
+.\" Copyright (c) 1989, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Robert Paul Corbett.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\"	from: @(#)yacc.1	5.7 (Berkeley) 7/30/91
+.\"	$NetBSD: yacc.1,v 1.1 2009/10/29 00:56:35 christos Exp $
+.\"
+.Dd October 29, 2009
+.Dt YACC 1
+.Os
+.Sh NAME
+.Nm yacc
+.Nd an
+.Tn LALR(1)
+parser generator
+.Sh SYNOPSIS
+.Nm
+.Op Fl dglrtv
+.Op Fl b Ar prefix
+.Op Fl o Ar outputfile
+.Op Fl p Ar symbol_prefix
+.Ar filename
+.Sh DESCRIPTION
+.Nm
+reads the grammar specification in the file
+.Ar filename
+and generates an
+.Tn LR(1)
+parser for it.
+The parsers consist of a set of
+.Tn LALR(1)
+parsing tables and a driver routine
+written in the C programming language.
+.Nm
+normally writes the parse tables and the driver routine to the file
+.Pa y.tab.c .
+.Pp
+The following options are available:
+.Bl -tag -width Ar
+.It Fl b Ar prefix
+The
+.Fl b
+option changes the prefix prepended to the output file names to
+the string denoted by
+.Ar prefix .
+The default prefix is the character
+.Ar y .
+.It Fl d
+The
+.Fl d
+option causes the header file
+.Pa y.tab.h
+to be written.
+.It Fl g
+The
+.Fl g
+option causes a graphical description of the generated LALR(1) parser to
+be written to the file
+.Pa y.dot
+in graphviz format, ready to be processed by
+.Xr dot 1 .
+.It Fl l
+If the
+.Fl l
+option is not specified,
+.Nm
+will insert #line directives in the generated code.
+The #line directives let the C compiler relate errors in the
+generated code to the user's original code.
+If the
+.Fl l
+option is specified,
+.Nm
+will not insert the #line directives.
+#line directives specified by the user will be retained.
+.It Fl o Ar outputfile
+The
+.Fl o
+option specifies an explicit output file name should be used instead
+of the default.
+.It Fl p Ar symbol_prefix
+The
+.Fl p
+option changes the prefix prepended to yacc-generated symbols to
+the string denoted by
+.Ar symbol_prefix .
+The default prefix is the string
+.Ar yy .
+.It Fl r
+The
+.Fl r
+option causes
+.Nm
+to produce separate files for code and tables.
+The code file is named
+.Pa y.code.c ,
+and the tables file is named
+.Pa y.tab.c .
+.It Fl t
+The
+.Fl t
+option changes the preprocessor directives generated by
+.Nm
+so that debugging statements will be incorporated in the compiled code.
+.It Fl v
+The
+.Fl v
+option causes a human-readable description of the generated parser to
+be written to the file
+.Pa y.output .
+.El
+.Sh ENVIRONMENT
+The following environment variable is referenced by
+.Nm :
+.Bl -tag -width TMPDIR
+.It Ev TMPDIR
+If the environment variable
+.Ev TMPDIR
+is set, the string denoted by
+.Ev TMPDIR
+will be used as the name of the directory where the temporary
+files are created.
+.El
+.Sh TABLES
+The names of the tables generated by this version of
+.Nm
+are
+.Dq yylhs ,
+.Dq yylen ,
+.Dq yydefred ,
+.Dq yydgoto ,
+.Dq yysindex ,
+.Dq yyrindex ,
+.Dq yygindex ,
+.Dq yytable ,
+and
+.Dq yycheck .
+Two additional tables,
+.Dq yyname
+and
+.Dq yyrule ,
+are created if
+.Dv YYDEBUG
+is defined and non-zero.
+.Sh FILES
+.Bl -tag -width /tmp/yacc.uXXXXXXXX -compact
+.It Pa y.code.c
+.It Pa y.tab.c
+.It Pa y.tab.h
+.It Pa y.output
+.It Pa /tmp/yacc.aXXXXXX
+.It Pa /tmp/yacc.tXXXXXX
+.It Pa /tmp/yacc.uXXXXXX
+.El
+.Sh DIAGNOSTICS
+If there are rules that are never reduced, the number of such rules is
+written to the standard error.
+If there are any
+.Tn LALR(1)
+conflicts, the number of conflicts is also written
+to the standard error.
+.\" .Sh SEE ALSO
+.\" .Xr yyfix 1
+.Sh STANDARDS
+The
+.Nm
+utility conforms to
+.St -p1003.2 .

Index: src/external/bsd/byacc/include/config.h
diff -u /dev/null src/external/bsd/byacc/include/config.h:1.1
--- /dev/null	Wed Oct 28 20:56:36 2009
+++ src/external/bsd/byacc/include/config.h	Wed Oct 28 20:56:35 2009
@@ -0,0 +1,6 @@
+/* config.h.  Generated automatically by configure.  */
+/* @configure_input@ */
+/* $Id: config.h,v 1.1 2009/10/29 00:56:35 christos Exp $ */
+
+#define SYSTEM_NAME "netbsd"
+#define CC_HAS_PROTOS 1

Reply via email to