[Home]
[About]
[News]
[Source]
[Docs]
[License]
[Mailing]
[Bugs]
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:
- GNU g++ 3.3, 3.4, 4.0, 4.1, 4.2, 4.3(*), 4.4
- g++-4.3 is supported after the 20081123 snapshot, but needs
-Wno-error=conversion in CXXFLAGS.
- g++-4.4 is supported beyond the 20090429 snapshot, and still needs
-Wno-error=conversion in CXXFLAGS.
Dependencies
For general building (see also README from the distribution):
- lex or flex 2.5.4, 2.5.31 -- tokenizer, lexer generator
- yacc or GNU bison 1.875+ -- parser generator, LR(1) or LALR(1)
- GNU readline 4.3+ (optional) -- command-line completion
- GNU guile 1.6+, 1.8+ (optional) -- embeddable Scheme interpreter
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:
- Mac OS X (Darwin 7, 8, 9)
- FreeBSD (4.3+, 6.2+)
- Linux (kernel 2.4, 2.6)
- Solaris (9+, 10+), last tested in 2006
The following machine architectures are supported and are frequently tested:
- x86
- x86_64
- PowerPC
- PowerPC-64
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.
- Copy this package description file into your
/sw/fink/dists/local/main/finkinfo
$ fink index (requires root authentication)
$ 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]
The build system follows GNU conventions (configure; make; make install).
- Unpack source:
for bzip2 files: $ tar xjvf dist.tar.bz2
for gz files: $ tar xzvf dist.tar.gz
-
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:
--with-readline[=PATH] for command-line completion
-C caches configuration, speeding up recompiles
- Compilation is known to work with
ccache,
which dramatically speeds up recompiles.
-
Compile:
$ make
Strongly recommend parallelizing on multi-processor systems:
$ make -jN -r or set MAKEFLAGS
-
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.
-
Install:
$ make install
or $ make DESTDIR=package-dir install
if you are building a package
-
Test Install: (only if you didn't set
DESTDIR with install)
$ make installcheck
-
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:
- for [t]csh:
source `which init_hackt.csh`
- for [ba]sh:
. `which init_hackt.sh`
This sets some environment variables for using HACKT's plug-in libraries.
- Reporting of success and failures of the build and
tests is greatly appreciated!
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):
[Home]
[About]
[News]
[Source]
[Docs]
[License]
[Mailing]
[Bugs]