]> git.sur5r.net Git - openldap/blobdiff - INSTALL
Favor termios over sgtty.
[openldap] / INSTALL
diff --git a/INSTALL b/INSTALL
index 89b169ce3d482741a91e794543c06c3f08c30404..3e76e3a34fc5683a92189b59fb91e0ae77bf00b8 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -17,72 +17,51 @@ these steps:
 
     If you are reading this file, you probably have already done this!
 
- 2. copy Make-common.dist or Make-common.gmake to Make.common 
+ 2. Type:
+       % ./configure --help
 
- 3. edit the files Make-common and include/ldapconfig.h.edit to configure
-    the software for your site (the files are well-commented):
+       to list available configuration options.   A description of
+       these options is provided in the 'CONFIGURE OPTIONS' section
+       below.
 
-       % vi Make-common
-       % vi include/ldapconfig.h.edit
+       The configure script uses environmental variables for
+       determining compiler/linker options.  See the HINTS
+       section for commonly used settings. 
 
-    Note that you should NOT need to edit the Makefile located at the
-    top of the distribution.
+       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)
 
-    If you just want to see if things will build, you can leave the
-    configuration alone and change it later.  You may want to consult
-       the appropriate platform makefile (build/*/Make-platform) for
-       platform-specific defaults.
+       See the 'USING ENVIRONMENT VARIABLES' section for information
+       on how to use the variables. 
 
-    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. edit the file include/ldapconfig.h.edit to configure
+    the software for your site (the files are well-commented):
 
- 4. make the software:
+       % vi include/ldapconfig.h.edit
 
-       % make
+ 4. Configure the build system
 
-    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
+       % [env settings] ./configure [options]
 
-    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:
+       If all goes well, the configure script with auto-detect the
+       appropriate settings.  Use configure enable/with options and/or
+       environment variables to obtain desired results.
 
-       % cd build/platforms/sunos4-cc
-       % make
+ 5. Build dependencies
 
-    If you want to run some simple tests after the build is complete, you
-    can do this:
+       % make depend
 
-       % make test
+ 6. Build the system
+
+       % make
 
- 5. install the binaries and man pages.  You may need to be superuser to
+    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
     do this (depending on where you are installing things):
 
        % su
@@ -104,34 +83,102 @@ these steps:
 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.
+source tree.  This is accomplished by using make(1) VPATH support.  If
+your make(1) program is old and doesn't have VPATH support, install GNU
+Make.
 
 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:
+ 1.    Create a directory for the platform object files.
 
-       % cd build/platforms/sunos4-cc
-       % make links
+       % mkdir obj-platform
 
   This will create a linked source area.
2. Change your working directory to the platform object directory.
 
+       % cd obj-platform
 
- 2. move to the new directory and make as for a single platform.  Follow steps
-    1-4 above to accomplish this.  For example:
+ 3. Configure the build system
 
-       % cd obj-sunos4-cc
-       % make
+       % [env settings] ../configure --src-dir=.. [options]
+
+               ( replace ".." with the appropriate path )
+
+ 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.
+
+
+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.
+
+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)
+       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=ecgs ./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 -predantic" ./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
 
-    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.
+* 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.