cons has been decommissioned, since it was not kept up to date, and the free software package scons has effectively replaced it.


What is CONS?

Do you use Makefiles for your project? Have you ever done a "make clean; make all" just because you didn't know if the files you changed would be rebuilt correctly? Or perhaps you work on several machines accessing an NFS server, and if their clocks aren't in sync, make won't know to rebuild things? Well, welcome to a new and better way to control the building of your projects.

CONS is a replacement for MAKE. It is not compatible with make, but it has a number of powerful capabilities not found in other software construction systems, including make. It is distributed under the GNU General Public License (GPL).

CONS is implemented in Perl. You don't need to know Perl to use CONS, although you can use it more powerfully if you do.
To use CONS, you will need Perl 5.003 or better and the Perl Digest::MD5 module, available from CPAN (Digest-MD5-*.tar.gz).

CONS is known to work on a variety of platforms. It's in production use on versions of AIX, FreeBSD, HPUX, IRIX, Linux, Solaris, SunOS, and Windows NT.

Where can I get CONS?

The latest stable version of CONS is 2.2.0.
The latest development version of CONS is 2.3.0.
For a description of the changes in these releases, please read the release notes and change logs, below.

Stable version
Development version
Documentation Release notes
Change log
HTML Manual
Release notes
Change log
HTML Manual
cons package
(Cons and documentation)
cons-test package
(cons-test script,
regression tests,
supporting modules)
source RPM
(both .tgz files
and .spec)

Each version of Cons has two related packages: the cons package, which contains Cons itself and its documentation, and the cons-test package, which contains a full set of portable Cons regression tests and a script for executing them. If you're just interested in running Cons, you only need the cons package. The cons-test package is for people who are planning to add new features to Cons and want to make sure they don't break existing functionality, or who want to verify that Cons works correctly on their system.

(Note that the cons-test package no longer contains a copy of the Cons script itself; you must now install both packages if you're planning on working with the test suite.)

For verification purposes, MD5 checksums exist for each package.

Other Web Mirrors

FTP Mirrors

AnonCVS Access

CONS is also available as read-only source from our CVS repository To download the sources for browsing, do the following.
$ cvs -d login
Password: [just hit enter]
You only need to login once, as CVS will save your password in ~/.cvspass. After that, you can do any CVS operation, such as:
$ cvs -d checkout cons


For a list of CPAN mirrors, see Yahoo's list.

OS Packages

Information about CONS

The official CONS Reference Manual is now embedded in the CONS program itself, and can be read using perldoc.

An FAQ for Cons is available. If you're new to CONS, take a look to see if your questions are already addressed there.

A mailing list,, has been created. If you wish to subscribe, do one of two things: Please send all comments, requests, complaints, etc. to the mailing list.
The CONS mailing list is archived at

CONS has an appindex entry at the Open Source project directory.

An article about CONS appeared in The Perl Journal, issue #9, Spring 1998.

CONS was originally created by Bob Sidebotham. It is currently being maintained by Rajesh Vaidheeswarran. This web page is being maintained by The GNU Project. If you wish to contact any of these people regarding CONS, please send your message to the cons-discuss mailing list.

Mirroring CONS

If you are interested in mirroring CONS on your web site, please do one of the following.

And finally,

The CONS community would like to thank The Free Software Foundation for graciously hosting this CONS mirror.

Last updated: Tue May 29 2001.
Send comments and suggestions to the cons-discuss mailing list.
Website-specific comments may be sent to