Source

HACKT is developed in portable ISO C++ (c++98, c++03, c++0x). To build the core of the software, you need a reasonably standard-conforming C++ compiler. Some known good versions of compilers include:

Dependencies

For general building (see also README from the distribution): Since 20090604, all documentation (pdf, ps, html, info) has been pre-generated and is distributed with the source tarballs. Only older distributions (and CVS checkouts) require the following tools for building documentation:

Platforms

The following operating systems are supported and frequently tested: The following machine architectures are supported and are frequently tested:

Distributions

Binaries

No plans to provide binaries. Use the Source, Luke.

Mac OS X Fink Package

I now maintain a Mac OS X fink package for HACKT.
  1. Copy this package description file into your /sw/fink/dists/local/main/finkinfo
  2. $ fink index (requires root authentication)
  3. $ fink install hackt
and fink takes care of the the rest: dependencies, downloading, compiling, packaging, and installing.
I do not have a MacPorts port file for HACKT yet. A port contribution from interested users would be more than welcome!

Releases

There are currently no "releases" in the sense that a series of revisions only receives bug-fixes and no new features. The development line continues to apply fixes and new features. Once there is sufficient interest in a stable release series (and I have the bandwidth to support backporting patches), I will consider maintaining release branches. Until then, help yourselves to the latest development snapshots.

Development Snapshots

Source downloads are available here.

ChangeLog: src/ChangeLog [640k]

Table cells are corresponding MD5 check sums.
datetar-bzip2tar-gzip
20091119 cd1423e01e41fefb946cf02ecd789d03 [6.4M] 5986e4635f2ebfa37df697fa0daba08d [8.2M]
20090914 6d006f14bdc97ecce444f3ddef21c197 [6.2M] 01e302dfb6040f98ed3402defb83408e [8.0M]
20090828 fe30a882836c8e13f649c1079a701e44 [6.1M] c94712f9b7daf6522f1f007604245747 [7.9M]
20090604 12d86693030c911750df55f544655430 [6.0M] 7cbc384f2ed0aef8c0ca45b467b97598 [7.8M]
20090429 a5a633bad07e6b4fbb6a8bd34a3993f2 [3.5M] 794cd7d3d4d61430917e282da46bc813 [5.1M]
20090222 df63866b585fa90e34cbf308b18df388 [3.5M] 88e1875d074a778ac61e07537e1564bb [5.0M]
20090123 3020ae8e5740051cf66c2e48a13b8530 [3.4M] 2b1eb600338d38eaf6eeb475c4ec8db1 [5.0M]
20081222 90e66ebd5d2f09212c44c20639f349f1 [3.4M] c24def7036e1747ac6284be3613424f3 [4.9M]
20081214 39e32e99f0015a2da82dac75becd1b06 [3.4M] 7e01bc8206dda6ab5d2409fe35c6d15a [4.9M]
20081126 08f2cf90873b558bc784d880deb6ab76 [3.4M] a8e1b343b5942c05b41725b5f1f18aac [4.9M]
20081123 28bf4f1fe5aeee9b6503b6e65d783854 [3.4M] c76f1354b047ceb5916bdb4af77f255f [4.9M]
20081105 62f5f2e9b34cd6b0db7fcae957f46218 [3.3M] 86f575b27f02c44adf18cfaed790bfc4 [4.9M]
20081027 9b4c5d2ce11e67c632a51a863733d496 [3.3M] 1d3cfa5d6235b97aa29f559c3307b65d [4.8M]
20080602 646294b7641837d47a851fd841c0abdb [3.2M] 5b37bfee76414f3c38fd4d9e2ff2929f [4.8M]

Compilation

The build system follows GNU conventions (configure; make; make install).
  1. Unpack source:
     for bzip2 files: $ tar xjvf dist.tar.bz2
     for gz files: $ tar xzvf dist.tar.gz
  2. Configure: (autoconf-generated style)
     Refer to configure --help for option descriptions
     VPATH building is supported (and strongly encouraged), if you want to compile outside of the source directory.
     $ /path/to/configure [configure-options]
     Recommend:
  3. Compile:
     $ make
     Strongly recommend parallelizing on multi-processor systems: $ make -jN -r or set MAKEFLAGS
  4. Test Build:
     $ make check.log which logs make -k check
     Testing is also parallelizable with MAKEFLAGS, so smoke 'em if you got 'em.
     Tests may take up to 1.5 GB of disk space, so cd test && make clean to reclaim your space.
  5. Install:
     $ make install
     or $ make DESTDIR=package-dir install if you are building a package
  6. Test Install: (only if you didn't set DESTDIR with install)
     $ make installcheck
  7. Post-install:
     Add prefix/bin to your environment's PATH in your startup script.
     After setting the path, add to your shell's startup script:
     This sets some environment variables for using HACKT's plug-in libraries.
  8. Reporting of success and failures of the build and tests is greatly appreciated!

CVS

The CVS repository can be accessed anonymously, read-only:
 cvs -d :pserver:USER@csl.cornell.edu:/ufs/repository login
 cvs -d :pserver:USER@csl.cornell.edu:/ufs/repository checkout art++
where USER is anoncvs. When prompted for passphrase, enter anonymous.

Instructions for building from CVS

Run ./bootstrap from the source dir, then build as you normally do with configure and make. Details are in README.CVS. Requirements for bootstrapping from CVS, (see README.CVS):