X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=INSTALL;h=e0f066d764ed60a16cbd1905a3d5e15a5a61bd1a;hb=a5e6fa0d1ce8a43ec96e88de73297ad2103eba2e;hp=d7af33115a9ca349144c1b5384b76dcf6a0811ce;hpb=fe035ff17591c56cb4b05e5ff32338e4832c1924;p=openldap diff --git a/INSTALL b/INSTALL index d7af33115a..e0f066d764 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,12 @@ 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" @@ -12,93 +17,88 @@ 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! - 2. Type: - % make Make-common + % ./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. - to copy Make-common.dist to Make.common. + 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) - 3. edit the files Make-common and include/ldapconfig.h.edit to configure + 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 Make-common % vi include/ldapconfig.h.edit - Note that you should NOT need to edit the Makefile located at the - top of the distribution. + 4. Configure the build system - 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. + % [env settings] ./configure [options] - 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. + 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. - 4. make the software: + 5. Build dependencies - % make + % make depend + + 6. Build the 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 - 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 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 - % cd build/platforms/sunos4-cc + This step requires the standalone LDAP server (slapd) with + LDBM support. + + % cd tests % make - If you want to run some simple tests after the build is complete, you - can do this: + If all goes well, the system has been built as configured. If not, + return to step 4 after reviewing your configuration settings. - % make test + You may want to consult the doc/install/hints file for your + platform. - 5. install the binaries and man pages. You may need to be superuser to + 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! + + 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 - ldapfriendly - mapping of X.500 names to human-friendly names ldapsearchprefs.conf - search object definitions ldaptemplates.conf - display template definitions @@ -108,34 +108,110 @@ 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. 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 (-s) + LIBS libraries (-L/usr/local/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=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. - 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.