Cons

Cons is a Perl-based software construction tool (i.e., substitute for make). It offers a number of features not found in make or other build tools, including integrated dependency analysis (no more "make depend" to generate static lists of .h files), complete dependency analysis across multiple directories, multiple side-by-side variant builds, compilation from code repositories, MD5 signatures instead of time stamps for determining whether a file is up-to-date, and extensibility via Perl.

Tags Software Development Build Tools
Licenses GPL
Implementation Perl

Tweet this project Short link

Rss Recent releases

Changes: New ways to configure how the signatures of source files and derived files are used, n internal md5::debug package for easier debugging of signature calculation and a command-line option to use it, a new AfterBuild() method for executing Perl code after a target file has been evaluated, a new DefaultRules() method to allow the default build rules to be configured explicitly, a new RuleSet() method to fetch easily the stock set of build rules for a traditional UNIX/Linux or Microsoft Visual Studio tool chains, experimental support for building targets via direct execution of Perl code references, and changes to calling sequences of the semi-internal _Objects() and sig::md5::srcsig() methods.

  • Rrelease-mid
  •  30 Jan 2001 06:12
  • Rrelease-after

    Changes: Support for updating targets by executing Perl code instead of shell commands, updates to several methods to support processing arrays of file names, reworking of the config file namespace manipulation to support use of external Perl modules, a fix for the QuickScan dependency scanner's PATH separator on Windows NT, and fixes for various path name manipulations.

    • Rrelease-mid
    •  30 Jan 2001 06:12
    • Rrelease-after

      Changes: This release adds fixes for renaming similar files, and copying file permissions on non-UNIX systems. Win32 fixes have been added for UNC path names, upper-case drive letters, reporting exit status accurately, and appending .exe to program names if it's not already specified. Cons is now "perl -w" and "use strict" clean. A new method call supports chdir() to a Conscript file's directory, allowing globbing of file names. Debian and Red Hat packages are now available.

      • Rrelease-mid
      •  30 Jan 2001 06:12
      • Rrelease-after

        Changes: This is the first separate development release. It includes better error messages, Win32 fixes for binary file contents and case-insensitive drive letters, a fix for command-line directory targets with the -t option, and a fix for whitespace parsing in command-line rewriting via %[-%].

        • Rrelease-mid
        •  30 Jan 2001 06:12
        • Rrelease-after

          Changes: Fixes were made to QuickScan and SplitPath. Win32 fixes were made for the C++ default rule and .bat file wrapper.

          Rss Recent comments

          Rcomment-before 07 Sep 2001 16:58 Rcomment-trans sfink Rcomment-after

          Re: Looking for volunteers for Conversion from Makefiles to Conscripts

          > Conversion of programs that build Makefiles to be modified to generate
          > Cons scripts instead is also strongly encouraged.
          > The classic ones that come to mind are:
          >
          > configure (or even autoconf)

          configure doesn't generate Makefiles. That's the most common target, but it still has to be explicitly listed in configure.in. configure merely replaces @VAR@ in somefile.in to produce somefile, for every 'somefile' listed in AC_OUTPUT.

          Rcomment-before 26 Aug 2000 22:51 Rcomment-trans rvgnu Rcomment-after

          Looking for volunteers for Conversion from Makefiles to Conscripts
          We are looking for volunteers to convert some popular programs to build with Cons.

          If anyone has any ideas, or converted packages, I'd be
          glad to put them up on the cons web site for all to see and
          use.

          Some of the targets that come to mind are:

          Optional Perl packages (like CGI, CGI::Lite) that use the
          perl Makefile.PL -> Makefile -> make
          to have a set of cons scripts be generated, instead.

          Some programs (like Emacs, or for that matter most GNU programs) that require the use of the configure script. If we can convert a couple of those, then we should be able to make a powerful case for cons.

          Conversion of programs that build Makefiles to be modified to generate Cons scripts instead is also strongly encouraged.
          The classic ones that come to mind are:

          configure (or even autoconf)
          A major win would be having Larry Wall's famous `Configure' script for perl generate Cons scripts (if, of course, perl already exists on the machine where we are attempting to build perl.)

          Feel free to contact me with any ideas that you might have in this area.

          D5826213ba6b5eb9818a51a3dfe1cb14_thumb

          Project Spotlight

          fio

          A flexible I/O tester/benchmarker.

          No-screenshot

          Project Spotlight

          gtune

          A small application for linux desktops intended to help with tuning musical instruments