mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
05059be190
Added new developer todo list.
190 lines
5.3 KiB
Plaintext
190 lines
5.3 KiB
Plaintext
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.
|
|
**
|
|
** You should also check for platform specific hints.
|
|
** These are located in doc/install/hints.
|
|
**
|
|
|
|
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 simply want to build LDAP for a single machine platform, follow
|
|
these steps:
|
|
|
|
1. untar the distribution and cd to the top:
|
|
|
|
% tar xfz openldap-VERSION.tgz
|
|
% cd ldap
|
|
|
|
If you are reading this file, you probably have already done this!
|
|
|
|
2. Type:
|
|
% ./configure --help
|
|
|
|
to list available configuration options. A description of
|
|
these options is provided in the 'CONFIGURE OPTIONS' section
|
|
below.
|
|
|
|
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)
|
|
|
|
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
|
|
|
|
% [env settings] ./configure [options]
|
|
|
|
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.
|
|
|
|
5. Build dependencies
|
|
|
|
% make depend
|
|
|
|
6. 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.
|
|
|
|
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
|
|
|
|
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 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. Create a directory for the platform object files.
|
|
|
|
% mkdir obj-platform
|
|
|
|
2. Change your working directory to the platform object directory.
|
|
|
|
% cd obj-platform
|
|
|
|
3. Configure the build system
|
|
|
|
% [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
|
|
|
|
* 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.
|