Compiling UnrealIRCd4

UnrealIRCd4 is now built completely using autotools. The following explores a few difficulties with building UnrealIRCd4 after checking it out from the Mercurial repository.

Dependencies

  • crypto++ provides cryptographic functionality such as SSL and password encryption.
  • boost provides a portable set of utility functions and template classes.
  • c-ares will provide asynchronous DNS lookups.

Development Dependencies

  • autoconf-archive-2009.04.26 has reusable autoconf macros, some of whose names have changed since earlier versions.
  • automake-1.11 supports AM_DEFAULT_SOURCE_EXT which makes module compilation easy.
  • other autotools components such as autoconf and libtool make up the buildsystem.

Initial Setup

Whenever you make a fresh clone of UnrealIRCd4, you need to bootstrap its compilation scripts. These involve the autoconf-generated ./configure script, the automake-generated Makefile.in, and the libtool scripts for managing libraries. This is all done for you automatically if you run the following command in the top source directory:

$ autoreconf -vfi

If you see output with the line

configure.ac:66: error: possibly undefined macro: AC_MSG_ERROR

when running the above command, you must install or upgrade your autoconf-archive package.

After autoreconf successfully completes, it is recommended that you decide upon a local prefix into which you will install unrealIRCd4. I normally just use ${HOME} for this purpose, but you may want to use ${HOME}/unrealircd4 or whatever helps you keep yourself organized. Once you have decided upon a prefix, run ./configure and pass it your prefix like in the following example:

$ ./configure –prefix=“${HOME}”

Compilation and installation may now be done with the simple make command (with parallel building, if you'd like):

$ make -j4 -l5 install

Help

If you need any further help with compiling unrealIRCd4, I'd be happy to see you in #unreal4-devel.

 
unreal4/compiling.txt · Last modified: 2010/07/26 20:04 by ohnobinki
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki