Making and Installing the U-M LDAP Distribution

** It is recommended that you read or at least skim through ALL of the
** instructions in this file before attempting to build the software.

If you want to build binaries for more than one platform from a single
source tree, skip ahead to the "Building LDAP For More Than One Platform"
section near the end of this file. If you are planning to run slapd,
you should read the "SLAPD and SLURPD Administrator's Guide", found in
the doc/guides/ directory within the distribution.

If you simply want to build LDAP for a single machine platform, follow
these steps:

 1. untar the distribution and cd to the top:

	% zcat ldap-3.3.tar.Z | tar xf -
	% cd ldap-3.3

    If you are reading this file, you probably have already done this!


 2. edit the files Make-common and include/ldapconfig.h.edit to configure
    the software for your site (the files are well-commented):

	% vi Make-common
	% vi include/ldapconfig.h.edit

    Note that you should NOT need to edit the Makefile located at the
    top of the distribution.

    If you just want to see if things will build, you can leave the
    configuration alone and change it later.

    If you have the ISODE package built and want to build the
    LDAP-to-X.500 server (ldapd), be sure to uncomment the appropriate
    lines near the end of the Make-common file.  By default only the
    stand-alone server, LDAP libraries and client software are built.

 3. make the software:

	% make

    If all goes well, then make will figure out what platform you are on,
    pick a compiler to use, construct Makefiles, and build everything.
    If you see a message like "unknown platform..." LDAP has probably not
    been set up to build on your machine.  See the file build/PORTS for
    hints on what to do in that case.

    Note that if your make does not use the Bourne (sh) shell by
    default when executing internal scripts (reportedly the case on SGI
    machines at least), you will need to run the make explicitly from
    within a Bourne shell.  If you a syntax error such as "Missing ]"
    when you do the make under your usual shell, try this:

	% sh
	$ make

    If you don't like the some of the platform-specific options chosen
    by the automatic build process (such as the compiler to use, etc),
    you can intervene and edit them before anything is actually compiled
    by explicitly doing a "make platform" step, editing the .make-platform
    file (actually a link to the file to be edited), and then doing a
    regular make:

	% make platform
	% vi .make-platform
	% make

    If you want to choose the build platform yourself from among those that
    the distribution supports, cd to the appropriate directory underneath
    build/platforms and make from there.  For example, if you are on a
    machine running SunOS 4.1.4 and you want to force the use of the cc
    compiler, you would do this:

	% cd build/platforms/sunos4-cc
	% make

    If you want to run some simple tests after the build is complete, you
    can do this:

	% make test

 4. install the binaries and man pages.  You may need to be superuser to
    do this (depending on where you are installing things):

	% su
	# make install

    That's it!  See the man pages for the individual clients for information
    on configuring and using them.  Eventually you will probably want to
    edit the configuration files used by the various clients (installed in
    the LDAP etc directory).  The files are:

	ldapfilter.conf      - search filter configuration
	ldapfriendly         - mapping of X.500 names to human-friendly names
	ldapsearchprefs.conf - search object definitions
	ldaptemplates.conf   - display template definitions

    There are section 5 man pages for all of these files.


Building LDAP For More Than One Platform

It is now possible to build LDAP for more than one platform from the same
source tree.  This is accomplished by some rules in the Makefiles that
create a shadow (linked) directory tree where the binaries are placed.

Follow these steps for each different platform:

 1. move to the directory that matches the platform and compiler you
    want to build for and type make.  The directories are all located
    underneath the build/platforms directory.  If your platform is not
    there, you may need to do a port - see the build/PORTS file for
    more information.  For a Sun running SunOS 4.1.4, you might do
    this:

	% cd build/platforms/sunos4-cc
	% make links

    This will create a linked source area.


 2. move to the new directory and make as for a single platform.  Follow steps
    1-4 above to accomplish this.  For example:

	% cd obj-sunos4-cc
	% make

    That's all there is to it.  You can also create the linked source area(s)
    by just typing "make links" at the top of the distribution, in which case
    the Makefile will try to automatically determine the platform and
    compiler.


End of LDAP INSTALL file.
