]> git.sur5r.net Git - openldap/blobdiff - INSTALL
Apply Ian patch
[openldap] / INSTALL
diff --git a/INSTALL b/INSTALL
index 39eeaef1605dfc246d5e2ef84de84507e0353ace..ca3512e62b7edce10a97074f4d5a03605e1c7b5c 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,19 @@
 Making and Installing the OpenLDAP 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.
+**
+** The OpenLDAP Quick Start Guide is available at:
+**    http://www.openldap.org/faq/index.cgi?file=172
+**
+** The OpenLDAP Installation FAQ is available at:
+**    http://www.openldap.org/faq/index.cgi?file=8
+**
+** You should also check for platform specific hints located on
+** on our web site.
+**    http://www.openldap.org/faq/index.cgi?file=9
+**
 
 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"
@@ -13,9 +25,10 @@ these steps:
  1. untar the distribution and cd to the top:
 
        % tar xfz openldap-VERSION.tgz
-       % cd ldap
+       % cd openldap-VERSION
 
-    If you are reading this file, you probably have already done this!
+       replacing VERSION to match the version you downloaded.  If you are
+       reading this file, you probably have already done this!
 
  2. Type:
        % ./configure --help
@@ -24,24 +37,21 @@ these steps:
        these options is provided in the 'CONFIGURE OPTIONS' section
        below.
 
-       The configure script will also use your environmental
-       variables for determining compiler/linker options.
+       The configure script uses environmental variables for
+       determining compiler/linker options.  See the HINTS
+       section for commonly used settings. 
 
        These environment variables are used: 
                CC                      C Compiler      (cc, ecgs)
                CFLAGS          C Flags         (-ansi)
                CPPFLAGS        CPP Flags       (-I/path/include -Ddef)
-               LDFLAGS         LDFLAGS         (-L/path/lib -llib)
+               LDFLAGS         LDFLAGS         (-L/path/lib)
+               LIBS            LIBS            (-llib)
 
-       A list of defines and other options are noted in the
-       'DEFINES and FLAGS' comments below.
+       See the 'USING ENVIRONMENT VARIABLES' section for information
+       on how to use the variables. 
 
- 3. edit the file include/ldapconfig.h.edit to configure
-    the software for your site (the files are well-commented):
-
-       % vi include/ldapconfig.h.edit
-
- 4. Configure the build system
+ 3. Configure the build system
 
        % [env settings] ./configure [options]
 
@@ -49,34 +59,58 @@ these steps:
        appropriate settings.  Use configure enable/with options and/or
        environment variables to obtain desired results.
 
5. Build dependencies
4. Build dependencies
 
        % make depend
 
6. Build the system
5. Build the system
 
        % make
 
     If all goes well, the system will build as configured.  If not,
-       return to step 4 after reviewing the enable/with options settings.
-       
+       return to step 4 after reviewing the configuration settings.
+
+       You may want to consult the doc/install/hints file for your
+       platform.
+
+ 6. Test the standalone system
+
+       This step requires the standalone LDAP server (slapd) with
+       LDBM support.
+
+       % cd tests
+       % make test
+
+       If all goes well, the system has been built as configured.  If not,
+       return to step 4 after reviewing your configuration settings.
+
+       You may want to consult the doc/install/hints file for your
+       platform.
+
  7. 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
+       % su root -c 'make install'
+
+    That's it!
 
-    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:
+       See the man pages for the individual applications for
+       information on configuring and using them.  You may also want
+       to edit the configuration files used by the various clients.
+       These configuration files are located in the OpenLDAP
+       configuration directory (normally /usr/local/etc/openldap).
 
-       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
+       Client configuration files:
+         ldap.conf            - client defaults
+         ldapfilter.conf      - search filter configuration
+         ldapsearchprefs.conf - search object definitions
+         ldaptemplates.conf   - display template definitions
 
-    There are section 5 man pages for all of these files.
+       Server configuration files:
+         slapd.conf           - Standalone LDAP daemon configuration
+         schema/*.schema      - Schema Definitions
+
+    There are section 5 man pages for these configuration files.
 
 
 Building LDAP For More Than One Platform
@@ -104,25 +138,89 @@ Follow these steps for each different platform:
 
  4. Continue as above (starting at step 6).
 
-       Note: make depend in VPATH environment is not yet supported.
-
 
 CONFIGURE OPTIONS
 
 Regrettably, this section has not been written (yet).  See
-"./configure --help" for current list of options.
+"./configure --help" for current list of options.  For general
+information about how to use "configure", please read:
+       doc/install/configure
 
 
-DEFINES and FLAGS
+USING ENVIRONMENT VARIABLES
 
-The configure script will also use your environmental
-variables for determining compiler/linker options.   This can
-be used to manual specify features and compilation options.
+The configure script will also use environmental variables for
+determining compiler/linker options.   This can be used to manually
+specify features and compilation options.
+
+WARNING: Executables built in your environment may not run
+       in your users' environments.  The portability of
+       executables between environments is your responsibility.
 
 Supported Environmental Variables
-       CC                      C Compiler      (cc, ecgs)
-       CFLAGS          C Flags         (-ansi)
-       CPPFLAGS        CPP Flags       (-I/path/include -Ddef)
-       LDFLAGS         LDFLAGS         (-L/path/lib -llib)
+       CC                      C compiler              (cc, egcc)
+       CFLAGS          C flags                 (-ansi)
+       CPPFLAGS        cpp flags               (-I/path/include -Ddef)
+       LDFLAGS         ld flags                (-L/usr/local/lib)
+       LIBS            libraries               (-llib)
+       PATH            command path    /usr/local/bin:/usr/bin:/bin
+
+* Including alternative compilers
+       Use the CC environment variable to tell configure to
+       use a specific compiler.  For example, to use GNU
+       C Compiler instead of the compiler configure choose,
+       use:
+
+       [env] CC=gcc ./configure 
+
+       You can also use CC use specific flags with the
+       specified compiler.  For example, to require strict
+       ANSI C using the GNU C Compiler, use:
+
+       [env] CC="gcc -ansi -pedantic" ./configure
+
+       (you can use CFLAGS to specify compiler flags)
+
+* Preprocessor Flags
+       You may specify additional preprocessor flags by setting
+       CPPFLAGS.  For example, if you would like to use headers
+       installed in /usr/local/include, use:
+
+       [env] CPPFLAGS="-I/usr/local/include" ./configure
+
+       You can also use CPPFLAGS to specify preprocessor macros.
+
+       [env] CPPFLAGS="-D__SPECIAL_FLAG__" ./configure
+
+* Linker Flags
+       You may specify additional linker flags by setting LDFLAGS.
+       For example, if you would like to use libraries installed
+       in /usr/local/lib, use:
+
+       [env] LDFLAGS="-L/usr/local/lib" ./configure
+
+       You can also use CPPFLAGS to specify linker flags:
+
+       [env] LDFLAGS="-Bstatic" ./configure
+
+* Path
+       You may alter your path to affect configure ability to
+       find (or not find) commands.  For example, to have configure
+       additionally look in /usr/css/bin for commands, use:
+
+       [env] PATH="/usr/css/bin:$PATH" ./configure
+       
+
+HINTS
+
+* Platform specific hints are available in doc/install/hints.
+
+* Use software under installed in /usr/local/{include,lib}
+       [env] \
+               CPPFLAGS="-I/usr/local/include" \
+               LDFLAGS="-L/usr/local/lib" \
+               ./configure
+
 
-End of OpenLDAP INSTALL file.
+---
+$OpenLDAP$