Clean up deleted files.

This commit is contained in:
mycroft 1993-07-14 20:37:05 +00:00
parent 008033ebfe
commit baea4cf0f9
5 changed files with 0 additions and 969 deletions

View File

@ -1,292 +0,0 @@
This file describes recent user-visible changes in groff. Bug fixes
are not described. There are more details in the man pages.
VERSION 1.01
============
The groff command now understands the gtroff `-a' and `-i' options.
With the `m' and `n' scale indicators, the scale factor is rounded
horizontally before being applied. This makes (almost) no difference
for devices with `hor' equal to 1, but it makes groff with -Tascii or
-Tlatin1 behave more like nroff in its treatment of these scale
indicators. Accordingly tmac.tty now calls the `nroff' request so
that the `n' condition will be true.
The device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X)
have been made to work at least somewhat with -C. In particular the
special characters defined by these macros now work with -C.
groff -Tdvi -p will now pass pic the -x flag; this will enable filling
of arrowheads and boxes, provided that your dvi driver supports the
latest version of the tpic specials.
Eqn
---
There is a new `-N' option that tells eqn not to allow newlines in
delimiters. This allows eqn to recover better from missing closing
delimiters. The groff command will pass on a `-N' option to eqn.
Grops
-----
You can now use psfig with grops. See the file ps/psfig.diff. I do
not recommend using psfig for new documents.
The command \X'ps: file F' is similar to \X'ps: exec ...' except that
the PostScript code is read from the file F instead of being contained
within the \X command. This was added to support psfig.
Grodvi
------
There are font files HB and HI corresponding to cmsssbx10 and cmssi10.
Macros
------
The groff -me macros now work with the -C option. As a result, they
may also work with Unix nroff/troff.
In -me, the $r and $R number registers now contain the line spacing as
a percentage of the pointsize expressed in units (normally about 120).
The previous definition was useless with low resolution devices such
as X75 and X100.
VERSION 1.00
============
A -ms-like macro-package is now included.
The name for the Icelandic lowercase eth character has been changed
from \(-d to \(Sd.
Troff
-----
There is a new request `nroff', which makes the `n' built-in condition
true and the `t' built-in condition false; also a new request `troff'
which undoes the effect of the `nroff' request. This is intended only
for backward compatibility: it is usually better to test \n(.H or
\n(.V or to use the `c' built-in condition.
The \R escape sequence has been deleted. Use \E instead.
There are `break' and `continue' requests for use with the `while'
request.
There is a request `hym' that can ensure that when the current
adjustment mode is not `b' a line will not be hyphenated if it is no
more than a given amount short, and a request `hys' that can ensure
that when the current adjustment mode is `b' a line will not be
hyphenated if it can be justified by adding no more than a given
amount of extra space to each word space.
There is a request `rj' similar to `ce' that right justifies lines.
A warning of type `space' will be given when a call is made to an
undefined request or macro with a name longer than two characters, and
the first two characters of the name make a name that is defined.
This is intended to find places where a space has been omitted been a
request or macro and its argument. This type of warning is enabled by
default.
Pic
---
A comma is permitted between the arguments to the `reset' command.
For use with TeX, there is a new `-c' option that makes gpic treat
lines beginning with `.' in a way that is more compatible with tpic
(but ugly).
Eqn
---
It is no longer necessary to add `space 0' at the beginning of
complicated equations inside pictures.
`prime' is now treated as an ordinary character, as in Unix eqn. The
previous behaviour of `prime' as an operator can now be obtained using
`opprime'.
Xditview
--------
There are two new devices X75-12 and X100-12 which are the same as X75
and X100 except that they are optimized for documents that use mostly
12 point text.
VERSION 0.6
===========
The installation process has been refined to make it easy for you to
share groff with someone who has the same type of machine as you but
does not have a C++ compiler. See the end of the INSTALL file for
details.
There is a man page for the tfmtodit program which explains how to use
your own fonts with groff -Tdvi.
There is a man page for afmtodit which explains how to use your own
PostScript fonts with groff -Tps.
The \N escape sequence is now fully supported. It can now be used to
access any character in a font by its output code, even if it doesn't
have a groff name. This is made possible by a convention in the font
files that a character name of `---' refers to an unnamed character.
The drivers now all support the `N' command required for this. The font
description files have been updated to include unnamed characters.
The `x' command in font description files has been removed: instead
any unknown commands are automatically made available to the drivers.
If you constructed your own font files with an earlier version of
tfmtodit or afmtodit, you must construct them again using the current
version.
Characters between 0200 and 0237 octal are no longer legal input
characters. Note that these are not used in ISO 8859.
A command called `grog' has been added, similar to the `doctype'
command described in Kernighan and Pike.
Groff
-----
The groff command has some new options: -V prints the pipeline
instead of executing it; -P passes an argument to the postprocessor,
-L passes an argument to the spooler.
There is a C++ implementation of the groff command. This handles some
things slightly better than the shell script. In particular, it can
correctly handle arguments containing characters that have a special
meaning to the shell; it can give an error message when child
processes other than the last in the pipeline terminate abnormally;
its exit status can take account of the exit statuses of all its child
processes; it is a little more efficient; when geqn is used, it
searches for the eqnchar file in the same way that font metric files
are searched for, rather than expecting to find it in one particular
directory.
Gtroff
------
There is font translation feature: For example, you can tell gtroff to
use font `HR' whenever font `H' is requested with the line
.ftr H HR
This would be useful for a document that uses `H' to refer to
Helvetica.
There are some new number registers: `.kern' contains the current kern
mode, `.lg' the current ligature mode, `.x' the major version number,
`.y' the minor version number, `.ce' the number of lines to be
centered in the current environment, `.trunc' the amount of vertical
space truncated by the most recently sprung vertical position trap,
`.ne' the amount of vertical space needed in the last `ne' request
that caused a vertical position trap to be sprung.
The `cf' request now behaves sensibly in a diversion. If used in a
diversion, it will now arrange for the file to be copied to the output
when the diversion is reread.
There is a new request `trf' (transparent file) similar to `cf', but
more like `\!'.
There is a new escape sequence `\Y[xxx]', roughly equivalent to
`\X'\*[xxx]'', except that the contents of string or macro xxx are not
interpreted, and xxx may contain newlines. This requires an output
format extension; the drivers have been modified to understand this.
Grops has also been modified to cope with newlines in the arguments to
\X commands; grops has a new \X command mdef, which is like def except
that it has a first argument giving the number of definitions.
There is a new warning category `escape' which warns about unknown
escape sequences.
The `fp' request now takes an optional third argument giving the external
name of the font.
The `\_' character is now automatically translated to `\(ul' as in troff.
The environment variable `GROFF_HYPHEN' gives the name of the file
containing the hyphenation patterns.
There is a `\C'xxx'' escape sequence equivalent to `\[xxx]'.
Characters ", ', ), ], *, \(dg are now initially transparent for the purposes
of end of sentence recognition.
There is an anti-recusion feature in the `char' request, so you can
say `.char \(bu \s+2\(bu\s-2'.
The limit on the number of font positions has been removed.
Accordingly `\n[.fp]' never returns 0.
The restriction on the number of numbered environments has been removed.
There is a new escape sequence `\E' that makes it possible to
guarantee that an escape sequence won't get interpreted in copy-mode.
The `\R' escape sequence is accordingly now deprecated.
Gpic
----
Arguments of the form `X anything X' (in the `copy thru', `sh', `for',
`if' and `define' constructs) can now be of the form `{ anything }'.
If the `linethick' variable is negative (as it now is initially),
lines will be drawn with a thickness proportional to the current point
size.
The `rand' function now takes no arguments and returns a number between
0 and 1. The old syntax is still supported.
`^' can be used in expressions to indicate exponentiation.
In the `for' construct the argument to the by clause can be prefixed
by `*' to indicate that the increment is multiplicative.
A bare expression may be used as an attribute. If the current
direction is `dir', then an attribute `expr' is equivalent to
`dir expr'
There is a `sprintf' construct that allows numbers to be formatted and used
wherever a quoted string can be used.
The height of a text object without an explicit height attribute is
the number of text strings associated with the object times the value
of the `textht' variable.
The maximum height and width of a picture is controlled by the
`maxpswid' and `maxpsht' variables.
Gtbl
----
Gtbl can now handle gracefully the situation where the `ce' request
has been applied to a table.
Geqn
----
The `ifdef' primitive has been generalized.
A tilde accent can be put underneath a box using `utilde'. This
defined using a general `uaccent' primitive.
Grops
-----
There is a new PostScript font downloading scheme which handles font
downloading for imported illustrations. Previously, the name of the
file containing the font was given in the `x download' line in the
groff font metric file. Now, there is a `download' file which says
for each PostScript font name which file contains that font. Grops
can also now handle inter-font dependencies, where one downloadable
font depends on some other (possibly downloadable) font.
The `T' font has been removed. The characters it used to provide are
now provided by `char' definitions in tmac.ps. TSymbol.ps has also
been removed, and the tweaks it provided are now provided by `char'
definitions.

View File

@ -1,403 +0,0 @@
Groff has been compiled on a Sun 4 under SunOS 4.0.3 with g++ 1.37.1
and with AT&T C++ 2.0, and on a 386 PC under 386/ix 2.0.1 with g++
1.37.1 using Michael Bloom's GNU COFF patches. You may encounter
problems on other machines that I cannot anticipate.
If you are using g++, you will need to install the header files from
libg++. The only other parts of libg++ used by groff are contained in
the files xyzzy.c and gnulib3.c; the libg++.a that I use contains only
xyzzy.o and gnulib3.o. You don't need xyzzy.o unless you're using GNU
ld.
If you are using g++ 1.37.2 alpha, you'll need the following fix (from
Michael Tiemann):
*** cplus-tree.c~ Sat Jun 23 16:10:41 1990
--- cplus-tree.c Sat Jun 30 23:45:09 1990
***************
*** 685,688 ****
--- 685,689 ----
}
+ /* Constructor for hashed lists. */
tree
hash_tree_chain (value, chain)
***************
*** 701,705 ****
--- 702,721 ----
}
+ /* Similar, but used for concatenating two lists. */
tree
+ hash_chainon (list1, list2)
+ tree list1, list2;
+ {
+ if (list2 == 0)
+ return list1;
+ if (list1 == 0)
+ return list2;
+ if (TREE_CHAIN (list1) == NULL_TREE)
+ return hash_tree_chain (TREE_VALUE (list1), list2);
+ return hash_tree_chain (TREE_VALUE (list1),
+ hash_chainon (TREE_CHAIN (list1), list2));
+ }
+
+ tree
build_decl_list_1 (value)
tree value;
***************
*** 926,930 ****
{
if (DECL_NAME (decl))
! return IDENTIFIER_POINTER (DECL_NAME (decl));
return "((anonymous))";
}
--- 942,950 ----
{
if (DECL_NAME (decl))
! {
! if (THIS_NAME_P (DECL_NAME (decl)))
! return "this";
! return IDENTIFIER_POINTER (DECL_NAME (decl));
! }
return "((anonymous))";
}
*** cplus-parse.y~ Mon Jun 4 23:52:34 1990
--- cplus-parse.y Sat Jun 30 23:45:09 1990
***************
*** 501,505 ****
error ("no base initializers given following ':'");
setup_vtbl_ptr ();
! }
;
--- 501,505 ----
error ("no base initializers given following ':'");
setup_vtbl_ptr ();
! }
;
***************
*** 1274,1278 ****
{ $$ = hash_tree_chain ($1, $2); }
| declmods typespec reserved_declspecs
! { $$ = hash_tree_chain ($2, chainon ($3, $1)); }
;
--- 1274,1278 ----
{ $$ = hash_tree_chain ($1, $2); }
| declmods typespec reserved_declspecs
! { $$ = hash_tree_chain ($2, hash_chainon ($3, $1)); }
;
***************
*** 1319,1323 ****
{ $$ = decl_tree_cons (NULL_TREE, $1, $2); }
| nonempty_type_quals typespec reserved_typespecquals
! { $$ = decl_tree_cons (NULL_TREE, $2, chainon ($3, $1)); }
;
--- 1319,1323 ----
{ $$ = decl_tree_cons (NULL_TREE, $1, $2); }
| nonempty_type_quals typespec reserved_typespecquals
! { $$ = decl_tree_cons (NULL_TREE, $2, hash_chainon ($3, $1)); }
;
If you're using g++ 1.39 on a sparc you'll probably want to apply the
following fix (from Casper H.S. Dik):
*** config/out-sparc.c.org Wed Dec 12 03:13:57 1990
--- config/out-sparc.c Sat Feb 23 23:21:26 1991
***************
*** 908,925 ****
else if (GET_CODE (XEXP (operands[1], 0)) == PLUS)
{
rtx inc_reg = XEXP (XEXP (operands[1], 0), 0);
if (inc_reg == frame_pointer_rtx
&& GET_CODE (XEXP (XEXP (operands[1], 0), 1)) == REG
! && XEXP (XEXP (operands[1], 0), 0) != frame_pointer_rtx)
inc_reg = XEXP (XEXP (operands[1], 0), 1);
if (inc_reg == frame_pointer_rtx)
{
output_asm_insn ("mov %%fp,%%g1", xoperands);
inc_reg = gen_rtx (REG, SImode, 1);
}
xoperands[1] = inc_reg;
output_asm_insn ("add 4,%1,%1", xoperands);
! xoperands[1] = operands[1];
output_asm_insn ("ld %1,%0", xoperands);
xoperands[1] = inc_reg;
output_asm_insn ("add -4,%1,%1", xoperands);
--- 908,931 ----
else if (GET_CODE (XEXP (operands[1], 0)) == PLUS)
{
rtx inc_reg = XEXP (XEXP (operands[1], 0), 0);
+ rtx from = operands[1];
if (inc_reg == frame_pointer_rtx
&& GET_CODE (XEXP (XEXP (operands[1], 0), 1)) == REG
! && XEXP (XEXP (operands[1], 0), 1) != frame_pointer_rtx)
inc_reg = XEXP (XEXP (operands[1], 0), 1);
if (inc_reg == frame_pointer_rtx)
{
output_asm_insn ("mov %%fp,%%g1", xoperands);
inc_reg = gen_rtx (REG, SImode, 1);
+ from = gen_rtx (GET_CODE (operands[1]),
+ GET_MODE (operands[1]),
+ gen_rtx (PLUS, GET_MODE (XEXP (operands[1], 0)),
+ inc_reg,
+ XEXP (XEXP (operands[1], 0), 1)));
}
xoperands[1] = inc_reg;
output_asm_insn ("add 4,%1,%1", xoperands);
! xoperands[1] = from;
output_asm_insn ("ld %1,%0", xoperands);
xoperands[1] = inc_reg;
output_asm_insn ("add -4,%1,%1", xoperands);
***************
*** 989,1006 ****
else if (GET_CODE (XEXP (operands[0], 0)) == PLUS)
{
rtx inc_reg = XEXP (XEXP (operands[0], 0), 0);
if (inc_reg == frame_pointer_rtx
&& GET_CODE (XEXP (XEXP (operands[0], 0), 1)) == REG
! && XEXP (XEXP (operands[0], 0), 0) != frame_pointer_rtx)
inc_reg = XEXP (XEXP (operands[0], 0), 1);
if (inc_reg == frame_pointer_rtx)
{
output_asm_insn ("mov %%fp,%%g1", xoperands);
inc_reg = gen_rtx (REG, SImode, 1);
}
xoperands[0] = inc_reg;
output_asm_insn ("add 4,%0,%0", xoperands);
! xoperands[0] = operands[0];
output_asm_insn ("st %r1,%0", xoperands);
xoperands[0] = inc_reg;
output_asm_insn ("add -4,%0,%0", xoperands);
--- 995,1018 ----
else if (GET_CODE (XEXP (operands[0], 0)) == PLUS)
{
rtx inc_reg = XEXP (XEXP (operands[0], 0), 0);
+ rtx to = operands[0];
if (inc_reg == frame_pointer_rtx
&& GET_CODE (XEXP (XEXP (operands[0], 0), 1)) == REG
! && XEXP (XEXP (operands[0], 0), 1) != frame_pointer_rtx)
inc_reg = XEXP (XEXP (operands[0], 0), 1);
if (inc_reg == frame_pointer_rtx)
{
output_asm_insn ("mov %%fp,%%g1", xoperands);
inc_reg = gen_rtx (REG, SImode, 1);
+ to = gen_rtx (GET_CODE (operands[0]),
+ GET_MODE (operands[0]),
+ gen_rtx (PLUS, GET_MODE (XEXP (operands[0], 0)),
+ inc_reg,
+ XEXP (XEXP (operands[0], 0), 1)));
}
xoperands[0] = inc_reg;
output_asm_insn ("add 4,%0,%0", xoperands);
! xoperands[0] = to;
output_asm_insn ("st %r1,%0", xoperands);
xoperands[0] = inc_reg;
output_asm_insn ("add -4,%0,%0", xoperands);
On a Sun 3 and other 68k machines, using libg++ 1.37.0 you will need
to apply the following change to g++-include/math.h:
*** math.h- Sat Jan 6 14:09:52 1990
--- math.h Tue Mar 13 02:07:01 1990
***************
*** 32,39 ****
#ifdef __HAVE_68881__ /* MC68881/2 Floating-Point Coprocessor */
- #include <math-68881.h>
extern "C" { /* fill in what we've left out */
double acosh(double);
double asinh(double);
--- 32,39 ----
#ifdef __HAVE_68881__ /* MC68881/2 Floating-Point Coprocessor */
extern "C" { /* fill in what we've left out */
+ #include <math-68881.h>
double acosh(double);
double asinh(double);
If you have bison 1.11, you will need to apply the following fix to
bison.simple if you want change any of the grammars:
*** bison.simple.~1~ Fri Aug 10 12:13:41 1990
--- bison.simple Fri Aug 10 12:24:46 1990
***************
*** 20,26 ****
--- 20,28 ----
#ifdef __GNUC__
+ #ifndef alloca
#define alloca __builtin_alloca
+ #endif /* Not alloca. */
#else /* Not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
#include <alloca.h>
***************
*** 114,123 ****
--- 116,129 ----
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
+ #ifdef __cplusplus
+ __yy_bcopy (char *from, char *to, int count)
+ #else
__yy_bcopy (from, to, count)
char *from;
char *to;
int count;
+ #endif
{
register char *f = from;
register char *t = to;
***************
*** 127,133 ****
*t++ = *f++;
}
! #line 131 "/usr/local/lib/bison.simple"
int
yyparse()
{
--- 133,139 ----
*t++ = *f++;
}
! #line 137 "/usr/local/lib/bison.simple"
int
yyparse()
{
For gas 1.36 on a Sun 4, the following fix is desirable:
*** sparc.c.~1~ Mon May 21 19:06:18 1990
--- sparc.c Sat Aug 11 11:09:12 1990
***************
*** 56,65 ****
--- 56,67 ----
static struct hash_control *op_hash = NULL;
static void s_seg(), s_proc(), s_data1(), s_reserve(), s_common();
+ static void s_sparc_align();
extern void s_globl(), s_long(), s_short(), s_space(), cons();
pseudo_typeS
md_pseudo_table[] = {
+ { "align", s_sparc_align, 0 },
{ "common", s_common, 0 },
{ "global", s_globl, 0 },
{ "half", cons, 2 },
*** read.c.~1~ Tue Mar 6 21:08:29 1990
--- read.c Sat Aug 11 11:07:23 1990
***************
*** 175,181 ****
--- 175,183 ----
potable[] =
{
{ "abort", s_abort, 0 },
+ #ifndef SPARC
{ "align", s_align, 0 },
+ #endif
{ "ascii", stringer, 0 },
{ "asciz", stringer, 1 },
{ "byte", cons, 1 },
On a Sequent Symmetry S27 running Dynix 3.0.17, you'll need to use GNU
make or add 'MAKE=make' to Makefiles which use $(MAKE). You'll also
need to change
dev=${GROFF_TYPESETTER:-@DEVICE@}
to
dev=$GROFF_TYPESETTER
in groff.sh. You should use gcc to compile xditview.
You should only have to edit the top-level Makefile. The comments
should make it clear what has to be changed. If you don't have a
separate directory tree for local manual pages you can make
MAN[157]EXT be l (that's an ell) or n, and MANROOT be /usr/man. The
changes you make to the top-level Makefile will be propagated to
sub-makes, but this won't happen if you invoke make in the
sub-directories.
You might also need to edit groff.sh. This is a shell-script that
runs gtroff, an appropriate postprocessor and optionally various
preprocessors. (Actually, the shell-script is created from groff.sh
by substituting for some variables surrounded by @s). If your kernel
doesn't understand #!, you will need to arrange for the script to be
run by /bin/sh in some other way.
If you want to use existing troff drivers you should change groff.sh
so that it recognises them. It is also a good idea to copy over the
dev* directory for the device into a directory that's only searched by
groff (eg /usr/local/lib/groff/font), so that you can take advantage
of the groff extensions to the DESC and font formats. Groff only uses
the ASCII versions of the device files so you only need copy them. If
you want to use GNU eqn, it is essential that the font files contain
correct height and depth information. The format for this information
is described in the groff_font(5) page. The best way to add this
information is to modify the program that generates the font files.
As a last resort you could try using the program addftinfo: it
attempts to guess plausible heights and depths. To obtain good
results you would probably have to do more work on addftinfo.
To compile everything, just do a `make'. If that works, then do a
`make install'.
If you have problems compiling pic/pic.tab.c or eqn/eqn.tab.c, you might
want to try using your system's yacc. Set YACC=yacc in the top-level
Makefile, and also do
mv pic/pic.tab.c pic/pic.tab.c.dist
mv eqn/eqn.tab.c eqn/eqn.tab.c.dist
so that the parsers will be regenerated using yacc (the supplied
*.tab.[ch] files were generated by bison.)
If you want to install xditview, you'll need to do that separately:
change directory to xditview, edit the Makefile, do a make and a make
install. You'll need to be running X11R4.
The dvi files produced by grodvi can use fonts at non-standard
magnifications. You may need to compile fonts with Metafont at these
magnifications. The CompileFonts script in the dvi/devdvi directory
may help you to do this. (It will take a *long* time.)
If you have problems printing existing troff documents, read the
section on `Incompatbilities' in gtroff(1). If you have existing
macro packages that are in the habit of omitting the space between a
macro or request and its arguments, it is good idea to produce a
version with spaces so that you can use it with groff (without having
to use the -C flag). The file macros/fixmacros.sed is a sed script
which will attempt to edit a file of macros so that it can be used
with groff without the -C flag. If you have the DWB 2.0 mm macros
installed on your machine, you might want to do a `make install.mm';
this will copy the mm macros to groff's macro directory and fix a few
problems that occur when using the mm macros with groff; this requires
the `patch' program. If the patch in macros/mm.diff is rejected,
carefully apply it by hand.
You can share groff with a friend who has the same type of machine as
you, but does not have a C++ compiler. First do `make bindist'; this
will create a subdirectory `bindist' containing a set of binaries, a
Makefile and a README. If you want to strip the binaries, now do a
`make strip' in the bindist directory. Rename the bindist directory
to something more meaningful, tar it up, and give to your friend along
with the original groff source distribution. Your friend can then
install groff just by editing the Makefile in the bindist directory
and doing a make there; this will automatically install the non-binary
parts of the groff source distribution as well as the binaries from
the bindist directory.

View File

@ -1,249 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 1, February 1989
Copyright (C) 1989 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The license agreements of most software companies try to keep users
at the mercy of those companies. By contrast, our General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. The
General Public License applies to the Free Software Foundation's
software and to any other program whose authors commit to using it.
You can use it for your programs, too.
When we speak of free software, we are referring to freedom, not
price. Specifically, the General Public License is designed to make
sure that you have the freedom to give away or sell copies of free
software, that you receive source code or can get it if you want it,
that you can change the software or use pieces of it in new free
programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of a such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must tell them their rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any program or other work which
contains a notice placed by the copyright holder saying it may be
distributed under the terms of this General Public License. The
"Program", below, refers to any such program or work, and a "work based
on the Program" means either the Program or any work containing the
Program or a portion of it, either verbatim or with modifications. Each
licensee is addressed as "you".
1. You may copy and distribute verbatim copies of the Program's source
code as you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and
disclaimer of warranty; keep intact all the notices that refer to this
General Public License and to the absence of any warranty; and give any
other recipients of the Program a copy of this General Public License
along with the Program. You may charge a fee for the physical act of
transferring a copy.
2. You may modify your copy or copies of the Program or any portion of
it, and copy and distribute such modifications under the terms of Paragraph
1 above, provided that you also do the following:
a) cause the modified files to carry prominent notices stating that
you changed the files and the date of any change; and
b) cause the whole of any work that you distribute or publish, that
in whole or in part contains the Program or any part thereof, either
with or without modifications, to be licensed at no charge to all
third parties under the terms of this General Public License (except
that you may choose to grant warranty protection to some or all
third parties, at your option).
c) If the modified program normally reads commands interactively when
run, you must cause it, when started running for such interactive use
in the simplest and most usual way, to print or display an
announcement including an appropriate copyright notice and a notice
that there is no warranty (or else, saying that you provide a
warranty) and that users may redistribute the program under these
conditions, and telling the user how to view a copy of this General
Public License.
d) You may charge a fee for the physical act of transferring a
copy, and you may at your option offer warranty protection in
exchange for a fee.
Mere aggregation of another independent work with the Program (or its
derivative) on a volume of a storage or distribution medium does not bring
the other work under the scope of these terms.
3. You may copy and distribute the Program (or a portion or derivative of
it, under Paragraph 2) in object code or executable form under the terms of
Paragraphs 1 and 2 above provided that you also do one of the following:
a) accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of
Paragraphs 1 and 2 above; or,
b) accompany it with a written offer, valid for at least three
years, to give any third party free (except for a nominal charge
for the cost of distribution) a complete machine-readable copy of the
corresponding source code, to be distributed under the terms of
Paragraphs 1 and 2 above; or,
c) accompany it with the information you received as to where the
corresponding source code may be obtained. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form alone.)
Source code for a work means the preferred form of the work for making
modifications to it. For an executable file, complete source code means
all the source code for all modules it contains; but, as a special
exception, it need not include source code for modules which are standard
libraries that accompany the operating system on which the executable
file runs, or for standard header files or definitions files that
accompany that operating system.
4. You may not copy, modify, sublicense, distribute or transfer the
Program except as expressly provided under this General Public License.
Any attempt otherwise to copy, modify, sublicense, distribute or transfer
the Program is void, and will automatically terminate your rights to use
the Program under this License. However, parties who have received
copies, or rights to use copies, from you under this General Public
License will not have their licenses terminated so long as such parties
remain in full compliance.
5. By copying, distributing or modifying the Program (or any work based
on the Program) you indicate your acceptance of this license to do so,
and all its terms and conditions.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the original
licensor to copy, distribute or modify the Program subject to these
terms and conditions. You may not impose any further restrictions on the
recipients' exercise of the rights granted herein.
7. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of the license which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
the license, you may choose any version ever published by the Free Software
Foundation.
8. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to humanity, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
To do so, attach the following notices to the program. It is safest to
attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
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 1, 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, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19xx name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the
appropriate parts of the General Public License. Of course, the
commands you use may be called something other than `show w' and `show
c'; they could even be mouse-clicks or menu items--whatever suits your
program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
program `Gnomovision' (a program to direct compilers to make passes
at assemblers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
That's all there is to it!

View File

@ -1,3 +0,0 @@
# @(#)Makefile.fontdir 6.1 (Berkeley) 3/3/91
FONTDIR?= /usr/share/groff_font

View File

@ -1,22 +0,0 @@
# @(#)Makefile.g++ 6.2 (Berkeley) 3/3/91
#
# Define g++ compilation rules.
#
CXXFLAGS+= -felide-constructors
LDXX= /usr/libexec/ld++
# Temporary, to achieve linking
CC= ${CXX}
.SUFFIXES: .cc
.cc.o:
$(CXX) $(CXXFLAGS) -c $(.IMPSRC)
.y.o:
$(YACC) $(YFLAGS) $(.IMPSRC)
mv y.tab.c $(.PREFIX).cc
mv y.tab.h $(.PREFIX).tab.h
$(CXX) $(CXXFLAGS) -c $(.PREFIX).cc
-rm -f $(.PREFIX).cc