mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-18 11:05:48 +08:00
82b94e2258
of a busy wait and allow the pthread_yield within the loop to be removed. This was the only pthread_yield which was necessary when usng non-preemptive threads. As such, the configure.in sched_yield/pthread_yield missing error can be removed from configure.in. If explicit yield function is missing, just provide a no-op replacement. Moved declaration of various slapd globals from main.c to init.c so they can be shared with ldbm tools.
219 lines
6.0 KiB
Plaintext
219 lines
6.0 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)
|
|
LIBS LIBS (-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 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 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).
|
|
|
|
ldap.conf - LDAP 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.
|
|
|
|
|
|
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. 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.
|