The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [pups] lcc (was: GCC)
@ 2002-01-20 15:24 norman
  0 siblings, 0 replies; 10+ messages in thread
From: norman @ 2002-01-20 15:24 UTC (permalink / raw)


lcc is not public-domain nor GPL, but it is freely available for `personal
research and instructional use,' and in general there is no restriction as
long as you don't redistribute it for profit or resell it.

Here's the official scoop, as inscribed in ./CPYRIGHT in the lcc 3.6
distribution.  It is possible that the terms have changed for newer
versions; I haven't been keeping track.

----
The authors of this software are Christopher W. Fraser and
David R. Hanson.

Copyright (c) 1991,1992,1993,1994,1995 by AT&T, Christopher W. Fraser,
and David R. Hanson. All Rights Reserved.

Permission to use, copy, modify, and distribute this software for any
purpose, subject to the provisions described below, without fee is
hereby granted, provided that this entire notice is included in all
copies of any software that is or includes a copy or modification of
this software and in all copies of the supporting documentation for
such software.

THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR AT&T MAKE ANY
REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.


lcc is not public-domain software, shareware, and it is not protected
by a `copyleft' agreement, like the code from the Free Software
Foundation.

lcc is available free for your personal research and instructional use
under the `fair use' provisions of the copyright law. You may, however,
redistribute lcc in whole or in part provided you acknowledge its
source and include this CPYRIGHT file. You may, for example, include
the distribution in a CDROM of free software, provided you charge only
for the media, or mirror the distribution files at your site.

You may not sell lcc or any product derived from it in which it is a
significant part of the value of the product. Using the lcc front end
to build a C syntax checker is an example of this kind of product.

You may use parts of lcc in products as long as you charge for only
those components that are entirely your own and you acknowledge the use
of lcc clearly in all product documentation and distribution media. You
must state clearly that your product uses or is based on parts of lcc
and that lcc is available free of charge. You must also request that
bug reports on your product be reported to you. Using the lcc front
end to build a C compiler for the Motorola 88000 chip and charging for
and distributing only the 88000 code generator is an example of this
kind of product.

Using parts of lcc in other products is more problematic. For example,
using parts of lcc in a C++ compiler could save substantial time and
effort and therefore contribute significantly to the profitability of
the product. This kind of use, or any use where others stand to make a
profit from what is primarily our work, requires a license agreement
with Addison-Wesley.  Per-copy and unlimited use licenses are
available; for more information, contact

	J. Carter Shanklin
	Addison Wesley Longman, Inc. 
	2725 Sand Hill Rd.
	Menlo Park, CA 94025
	415/854-0300 x2478 FAX: 415/614-2930 jcs at aw.com
-----
Chris Fraser / cwfraser at microsoft.com
David Hanson / drh at cs.princeton.edu
$Revision: 1.3 $ $Date: 1996/09/30 13:55:00 $



^ permalink raw reply	[flat|nested] 10+ messages in thread
* [pups] Re: GCC
@ 2002-01-18 22:13 norman
  2002-01-19  0:53 ` [pups] lcc (was: GCC) Greg Lehey
  0 siblings, 1 reply; 10+ messages in thread
From: norman @ 2002-01-18 22:13 UTC (permalink / raw)


Jonathan Engdahl:

  Consider lcc, the Princeton C compiler. It's much smaller than gcc, and ANSI
  compliant.

lcc's a good compiler; it has become cc in my own peculiar Ancient UNIX
environment.  But my environment is on VAXes, not PDP-11s; the lcc I use
probably cannot be compiled to a core compiler binary of less than about
180KB, of which 136KB is text, and that is without any real code generators.
(For those who know lcc: I am using a slightly-hacked-up lcc 3.6; the
180KB binary includes just the symbolic and null code generators, not
the enormous one I ended up with for the VAX.)

On the other hand, it is probably easier to split lcc into overlays or
multiple passes to make it fit on a PDP-11 than to do the same to gcc;
and lcc works fine as a cross-compiler.  And it's a good solid ANSI
compiler; enough so that it is a little annoying to use it on heritage
code (it grumbles, correctly, if a function returns no value and wasn't
declared void), and helpful or very painful (depending on your point of
view) when used on really old code that is sleazy about mixing types of
pointers in procedure arguments, or reusing one structure as part of another,
or the like.  I had an interesting time a few months ago getting an old
version of tbl to compile cleanly and produce correct results under lcc;
the program contained some ancient constructs that are truly remarkable
to look back on, especially for those of us who started out programming
that way and learned better the hard way ...

If I were going to work with PDP-11s, I would probably use lcc as a
cross-compiler myself, after writing or snitching a code generator of
course.

Norman Wilson



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2002-05-10  5:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-01-20 15:24 [pups] lcc (was: GCC) norman
  -- strict thread matches above, loose matches on Subject: below --
2002-01-18 22:13 [pups] Re: GCC norman
2002-01-19  0:53 ` [pups] lcc (was: GCC) Greg Lehey
2002-01-20 10:52   ` Robin Birch
2002-01-20 14:38     ` emanuel stiebler
2002-01-20 15:47       ` Bill Gunshannon
2002-01-20 16:07         ` emanuel stiebler
2002-01-21  0:24     ` Greg Lehey
2002-05-10  4:43       ` Cyrille Lefevre
2002-05-10  5:08         ` Greg 'groggy' Lehey
2002-01-21  2:22     ` Jonathan Engdahl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).