]> git.sur5r.net Git - openldap/blobdiff - INSTALL
Add cheap EBADF loop protection.
[openldap] / INSTALL
diff --git a/INSTALL b/INSTALL
index ccfa7dc7c463596b8449756230e3dfb8febf4715..752ced0b3b504f6f6d3d28db1228f48af1617c60 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,16 @@
 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 Installation FAQ is available at:
+**    http://www.openldap.org/faq/index.cgi?file=8
+**
+** You should also check for platform specific hints.
+** These are located in doc/install/hints or:
+**    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"
@@ -12,7 +21,7 @@ these steps:
 
  1. untar the distribution and cd to the top:
 
-       % tar xfz ldap-stable.tgz
+       % tar xfz openldap-VERSION.tgz
        % cd ldap
 
     If you are reading this file, you probably have already done this!
@@ -20,23 +29,25 @@ these steps:
  2. Type:
        % ./configure --help
 
-       to list available configuration options.
+       to list available configuration options.   A description of
+       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)
 
- 3. edit the file include/ldapconfig.h.edit to configure
-    the software for your site (the files are well-commented):
+       See the 'USING ENVIRONMENT VARIABLES' section for information
+       on how to use the variables. 
 
-       % vi include/ldapconfig.h.edit
-
- 4. Configure the build system
+ 3. Configure the build system
 
        % [env settings] ./configure [options]
 
@@ -44,6 +55,11 @@ these steps:
        appropriate settings.  Use configure enable/with options and/or
        environment variables to obtain desired results.
 
+ 4. Review the file include/ldapconfig.h.edit.
+       You generally do not need to modify this file.  
+
+       % vi include/ldapconfig.h.edit
+
  5. Build dependencies
 
        % make depend
@@ -53,23 +69,48 @@ these steps:
        % make
 
     If all goes well, the system will build as configured.  If not,
-       return to step 4 after reviewing the enable/with options settings.
-       
- 7. install the binaries and man pages.  You may need to be superuser to
+       return to step 4 after reviewing the configuration settings.
+
+       You may want to consult the doc/install/hints file for your
+       platform.
+
+ 7. Test the standalone system
+
+       This step requires the standalone LDAP server (slapd) with
+       LDBM support.
+
+       % cd tests
+       % make
+
+       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.
+
+ 8. 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:
+    That's it!
 
-       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
+       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).
+
+       Client configuration files:
+         ldap.conf            - client defaults
+         ldapfilter.conf      - search filter configuration
+         ldapsearchprefs.conf - search object definitions
+         ldaptemplates.conf   - display template definitions
+
+       Server configuration files:
+         ldapd.conf           - LDAP - X.500 daemon
+         slapd.conf           - Standalone LDAP daemon
 
     There are section 5 man pages for all of these files.
 
@@ -97,6 +138,90 @@ Follow these steps for each different platform:
 
                ( replace ".." with the appropriate path )
 
- 4. Continue as above (starting at step 5).
+ 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.  For general
+information about how to use "configure", please read:
+       doc/install/configure
+
+
+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.
+
+NOTE: If you change environment setting, be sure to remove
+       any config.cache before running ./configure.
+
+Supported Environmental Variables
+       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 ecgs
+       instead of the compiler configure choose, use:
+
+       [env] CC=egcc ./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.