Building and Installing
***********************

Heimdal uses GNU Autoconf to configure for specific hosts, and GNU Automake to manage makefiles. If this is new to you, the short instruction is to run the configure script in the top level directory, and when that finishes make.

If you want to build the distribution in a different directory from the source directory, you will need a make that implements VPATH correctly, such as GNU make.

You will need to build the distribution:

  * A compiler that supports a ``loose'' ANSI C mode, such as gcc.

  * lex or flex

  * awk

  * yacc or bison

  * a socket library

  * NDBM or Berkeley DB for building the server side.

When everything is built, you can install by doing make install. The default location for installation is /usr/heimdal, but this can be changed by running configure with --prefix=/some/other/place.

If you need to change the default behavior, configure understands the following options:

--without-berkeley-db
     DB is preferred before NDBM, but if you for some reason want to use NDBM instead, you can use this option.

--with-krb4=dir
     Gives the location of Kerberos 4 libraries and headers. This enables Kerberos 4 support in the applications (telnet, rsh, popper, etc) and the KDC. It is automatically check for in /usr/athena. If you keep libraries and headers in different places, you can instead give the path to each with the --with-krb4-lib=dir, and --with-krb4-include=dir options.

     You will need a fairly recent version of our Kerberos 4 distribution for rshd and popper to support version 4 clients.

--enable-kaserver
     Enables experimental kaserver support in the KDC. This is the protocol used by the ``KDC'' in AFS. Requires Kerberos 4 support.

--enable-kaserver-db
     Enables experimental support for reading kaserver databases in hprop. This is useful when migrating from a kaserver to a Heimdal KDC.

--enable-dce
     Enables support for getting DCE credentials and tokens.  See the README files in appl/dceutils for more information.

--disable-otp
     By default some of the application programs will build with support for one-time passwords (OTP).  Use this option to disable that support.

--enable-osfc2
     Enable some C2 support for OSF/Digital Unix/Tru64.  Use this option if you are running your OSF operating system in C2 mode.

--with-readline=dir
     Gives the path for the GNU Readline library, which will be used in some programs. If no readline library is found, the (simpler) editline library will be used instead.

--with-hesiod=dir
     Enables hesiod support in push.

--enable-netinfo
     Add support for using netinfo to lookup configuration information. Probably only useful (and working) on NextStep/Mac OS X.

--without-ipv6
     Disable the IPv6 support.

--with-openldap
     Compile Heimdal with support for storing the database in LDAP.  Requires OpenLDAP http://www.openldap.org.  See http://www.padl.com/~lukeh/heimdal/ for more information.

--enable-bigendian

--enable-littleendian
     Normally, the build process will figure out by itself if the machine is big or little endian.  It might fail in some cases when cross-compiling.  If it does fail to figure it out, use the relevant of these two options.

--with-mips-abi=ABI
     On Irix there are three different ABIs that can be used (32, n32, or 64).  This option allows you to override the automatic selection.