Source

HACKT is developed in portable ISO C++ (c++98, c++03, c++11). 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. enable the unstable tree when prompted by fink configure
  2. $ fink selfupdate to get the package description
  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, however the latest versions are only available through the github repository, described below.

ChangeLog: src/ChangeLog [780k]

Table cells are corresponding MD5 check sums.
datetar-bzip2tar-gzip
20121012 164f00030868487f52fc9bafd69e4f8c [9.5M] 56c7d6b2006c66b272ca0ceaf79d81bc [12M]
20111123 e9dde5af67253f98a5f05d3343c8b911 [8.1M] baa76dfcd98d1c9c812e2c9228f61e3e [10.3M]
20110803 797196cb89b75c5acac857a0f7719cf6 [8.1M] da199647698480a29c60c87915333e21 [10.2M]
20110503 4ae7c4933bcc485c9b9acc75677727ca [8.0M] 63c5824946f7d4854d98e0152409bc8e [10.3M]
20100902 2d8fb12160101e4bf2ba9db8f5276b94 [6.7M] a9d4f13b021db04587bc62d7aba0c416 [8.6M]
20100413 79f25982d6572b59ae7933694933572e [6.7M] dc56d8a9771b711a235e5a6b0d2d2670 [8.6M]
20100105 1408f8e6cf4841a47d3edbadbdd453ab [6.6M] f4330f36ed150edf25ce6cebb7c3ba29 [8.6M]
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!

git

The HACKT project's source code and revision history is now hosted by github.
The git repository can be accessed anonymously, read-only:
$ git clone git://github.com/fangism/hackt.git hackt

Instructions for building from git

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 git, (see README.CVS):

Source Code Analysis

Code analysis is done by ohloh.net.