C coding standard changes

Fergus Henderson fjh at cs.mu.oz.au
Wed Mar 5 00:03:23 AEDT 1997


Bert Thompson, you wrote:
> 
> I think the best option is to list
> what tools we are allowed to depend on. It makes sense to limit us 
> to using only some -essential- POSIX utilities. This is one of the
> most important parts of the coding standard, IMHO.[1] Do we -really- 
> need Perl and GNU make, for example? 

Perl is needed for texi2html.  GNU Make is needed for `include',
`VPATH', and pattern rules; it is not easy to work around the lack of
these features.

> Anyway, here's my ideal list for tools required:
> 	- Bourne shell (or POSIX shell, which subsumes Bourne shell)
> 	- make
> 	- ANSI C compiler (or GNU C, if available)
> 	- POSIX C libraries

I'd add the following:

For running Mercury: the above, plus

	cat, cp, mv, ln, rm, mkdir, rmdir
	echo, test, true, false, expr, basename, dirname
	head, tail, sed, awk, grep/fgrep/egrep, xargs[*]

Additional dependencies are OK if (a) they are for non-core functionality
and (b) they would be too hard to implement using only the tools above.
Currently there are the following additional dependencies:

	`pragma fact_table' requires sort and uniq

	mtags requires perl

	Prolog support requires NU-Prolog or SICStus Prolog

	mmake requires a version of `make' that supports VPATH
		(actually that is a bad example, since mmake
		is really part of the "core" functionality;
		but there is no easy work-around)

For installing Mercury: the basic stuff required for running Mercury, plus

	tar, gzip[*]
	GNU Make[*]

[*] It's a pity we need xargs, gzip, and GNU Make, since they're not
really standard, but there is no easy work-around.  I think all the
others are standard POSIX utilities.

For maintaining Mercury: the above, plus

	autoconf
	cvs
	texinfo, tex, perl

Can you please put the above lists in the coding standard, and
add a note saying that any new dependencies should be documented
there too?

Actually, I'm not sure whether the coding standard is the right place to
document this stuff -- perhaps it should be documented in a
separate file.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list