175 lines
7.4 KiB
Plaintext
175 lines
7.4 KiB
Plaintext
src/tools/pg_bsd_indent/README
|
|
|
|
This is a lightly modified version of the "indent" program maintained
|
|
by the FreeBSD project. The modifications are mostly to make it portable
|
|
to non-BSD-ish platforms, though we do have one formatting switch we
|
|
couldn't convince upstream to take.
|
|
|
|
To build it, configure the surrounding Postgres source tree,
|
|
then run "make" in this directory.
|
|
Optionally, run "make test" for some simple tests.
|
|
|
|
You'll need to install pg_bsd_indent somewhere in your PATH before
|
|
using it. Most likely, if you're a developer, you don't want to
|
|
put it in the same place as where the surrounding Postgres build
|
|
gets installed. Therefore, do this part with something like
|
|
|
|
make install prefix=/usr/local
|
|
|
|
If you are using Meson to build, the standard build targets will
|
|
build pg_bsd_indent and also test it, but there is not currently
|
|
provision for installing it anywhere. Manually copy the built
|
|
executable from build/src/tools/pg_bsd_indent/pg_bsd_indent to
|
|
wherever you want to put it.
|
|
|
|
|
|
If you happen to be hacking upon the indent source code, the closest
|
|
approximation to the existing indentation style seems to be
|
|
|
|
./pg_bsd_indent -i4 -l79 -di12 -nfc1 -nlp -sac somefile.c
|
|
|
|
although this has by no means been rigorously adhered to.
|
|
(What was that saw about the shoemaker's children?)
|
|
We're not planning to re-indent to Postgres style, because that
|
|
would make it difficult to compare to the FreeBSD sources.
|
|
|
|
----------
|
|
|
|
The FreeBSD originals of the files in this directory bear the
|
|
"4-clause" version of the BSD license. We have removed the
|
|
"advertising" clauses, as per UC Berkeley's directive here:
|
|
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
|
|
which reads:
|
|
|
|
July 22, 1999
|
|
|
|
To All Licensees, Distributors of Any Version of BSD:
|
|
|
|
As you know, certain of the Berkeley Software Distribution ("BSD") source
|
|
code files require that further distributions of products containing all or
|
|
portions of the software, acknowledge within their advertising materials
|
|
that such products contain software developed by UC Berkeley and its
|
|
contributors.
|
|
|
|
Specifically, the provision reads:
|
|
|
|
" * 3. All advertising materials mentioning features or use of this software
|
|
* must display the following acknowledgement:
|
|
* This product includes software developed by the University of
|
|
* California, Berkeley and its contributors."
|
|
|
|
Effective immediately, licensees and distributors are no longer required to
|
|
include the acknowledgement within advertising materials. Accordingly, the
|
|
foregoing paragraph of those BSD Unix files containing it is hereby deleted
|
|
in its entirety.
|
|
|
|
William Hoskins
|
|
Director, Office of Technology Licensing
|
|
University of California, Berkeley
|
|
|
|
----------
|
|
|
|
What follows is the README file as maintained by FreeBSD indent.
|
|
|
|
----------
|
|
|
|
$FreeBSD: head/usr.bin/indent/README 105244 2002-10-16 13:58:39Z charnier $
|
|
|
|
This is the C indenter, it originally came from the University of Illinois
|
|
via some distribution tape for PDP-11 Unix. It has subsequently been
|
|
hacked upon by James Gosling @ CMU. It isn't very pretty, and really needs
|
|
to be completely redone, but it is probably the nicest C pretty printer
|
|
around.
|
|
|
|
Further additions to provide "Kernel Normal Form" were contributed
|
|
by the folks at Sun Microsystems.
|
|
|
|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
> From mnetor!yunexus!oz@uunet.UU.NET Wed Mar 9 15:30:55 1988
|
|
> Date: Tue, 8 Mar 88 18:36:25 EST
|
|
> From: yunexus!oz@uunet.UU.NET (Ozan Yigit)
|
|
> To: bostic@okeeffe.berkeley.edu
|
|
> Cc: ccvaxa!willcox@uunet.UU.NET, jag@sun.com, rsalz@uunet.UU.NET
|
|
> In-Reply-To: Keith Bostic's message of Tue, 16 Feb 88 16:09:06 PST
|
|
> Subject: Re: Indent...
|
|
|
|
Thank you for your response about indent. I was wrong in my original
|
|
observation (or mis-observation :-). UCB did keep the Illinois
|
|
copyright intact.
|
|
|
|
The issue still is whether we can distribute indent, and if we can, which
|
|
version. David Willcox (the author) states that:
|
|
|
|
| Several people have asked me on what basis I claim that indent is in
|
|
| the public domain. I knew I would be sorry I made that posting.
|
|
|
|
|
| Some history. Way back in 1976, the project I worked on at the
|
|
| University of Illinois Center for Advanced Computation had a huge
|
|
| battle about how to format C code. After about a week of fighting, I
|
|
| got disgusted and wrote a program, which I called indent, to reformat C
|
|
| code. It had a bunch of different options that would let you format
|
|
| the output the way you liked. In particular, all of the different
|
|
| formats being championed were supported.
|
|
|
|
|
| It was my first big C program. It was ugly. It wasn't designed, it
|
|
| just sort of grew. But it pretty much worked, and it stopped most of
|
|
| the fighting.
|
|
|
|
|
| As a matter of form, I included a University of Illinois Copyright
|
|
| notice. However, my understanding was that, since the work was done
|
|
| on an ARPA contract, it was in the public domain.
|
|
|
|
|
| Time passed. Some years later, indent showed up on one of the early
|
|
| emacs distributions.
|
|
|
|
|
| Later still, someone from UC Berkeley called the UofI and asked if
|
|
| indent was in the public domain. They wanted to include it in their
|
|
| UNIX distributions, along with the emacs stuff. I was no longer at the
|
|
| UofI, but Rob Kolstad, who was, asked me about it. I told him I didn't
|
|
| care if they used it, and since then it has been on the BSD distributions.
|
|
|
|
|
| Somewhere along the way, several other unnamed people have had their
|
|
| hands in it. It was converted to understand version 7 C. (The
|
|
| original was version 6.) It was converted from its original filter
|
|
| interface to its current "blow away the user's file" interface.
|
|
| The $HOME/.indent.pro file parsing was added. Some more formatting
|
|
| options were added.
|
|
|
|
|
| The source I have right now has two copyright notices. One is the
|
|
| original from the UofI. One is from Berkeley.
|
|
|
|
|
| I am not a lawyer, and I certainly do not understand copyright law. As
|
|
| far as I am concerned, the bulk of this program, everything covered by
|
|
| the UofI copyright, is in the public domain, and worth every penny.
|
|
| Berkeley's copyright probably should only cover their changes, and I
|
|
| don't know their feelings about sending it out.
|
|
|
|
In any case, there appears to be none at UofI to clarify/and change
|
|
that copyright, but I am confident (based on the statements of its
|
|
author) that the code, as it stands with its copyright, is
|
|
distributable, and will not cause any legal problems.
|
|
|
|
Hence, the issue reduces to *which* one to distribute through
|
|
comp.sources.unix. I would suggest that with the permission of you
|
|
folks (given that you have parts copyrighted), we distribute the 4.3
|
|
version of indent, which appears to be the most up-to-date version. I
|
|
happen to have just about every known version of indent, including the
|
|
very original submission from the author to a unix tape, later the
|
|
G-Emacs version, any 4.n version, sun version and the Unipress
|
|
version. I still think we should not have to "go-back-in-time" and
|
|
re-do all the work you people have done.
|
|
|
|
I hope to hear from you as to what you think about this. You may of
|
|
course send 4.3 version to the moderator directly, or you can let me
|
|
know of your permission, and I will send the sources, or you can let
|
|
me know that 4.3 version is off-limits, in which case we would probably
|
|
have to revert to an older version. One way or another, I hope to get
|
|
a version of indent to comp.sources.unix.
|
|
|
|
regards.. oz
|
|
|
|
cc: ccvaxa!willcox
|
|
sun.com!jar
|
|
uunet!rsalz
|
|
|