Add documentation on how to handle the shared libaries.
authorRichard Levitte <levitte@openssl.org>
Fri, 10 Jan 2003 16:14:32 +0000 (16:14 +0000)
committerRichard Levitte <levitte@openssl.org>
Fri, 10 Jan 2003 16:14:32 +0000 (16:14 +0000)
PR: 423

Makefile.org
doc/openssl-shared.txt [new file with mode: 0644]

index 48dc3a9..31556a9 100644 (file)
@@ -535,6 +535,12 @@ install: all install_docs
                (       here="`pwd`"; \
                        cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
                        $(NEWMAKE) -f $$here/Makefile HERE="$$here" link-shared ); \
+               if [ "$(INSTALLTOP)" != "/usr" ]; then \
+                       echo 'OpenSSL shared libraries have been installed in:'; \
+                       echo '  $(INSTALLTOP)'; \
+                       echo ''; \
+                       sed -e '1,/^$/d' doc/openssl-shared.txt; \
+               fi; \
        fi
        cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
 
diff --git a/doc/openssl-shared.txt b/doc/openssl-shared.txt
new file mode 100644 (file)
index 0000000..5cf84a0
--- /dev/null
@@ -0,0 +1,32 @@
+The OpenSSL  shared libraries are often installed in a directory like
+/usr/local/ssl/lib.
+
+If this directory is not in a standard system path for dynamic/shared
+libraries, then you will have problems linking and executing
+applications that use OpenSSL libraries UNLESS:
+
+* you link with static (archive) libraries.  If you are truly
+  paranoid about security, you should use static libraries.
+* you use the GNU libtool code during linking
+  (http://www.gnu.org/software/libtool/libtool.html)
+* you use pkg-config during linking (this requires that
+  PKG_CONFIG_PATH includes the path to the OpenSSL shared
+  library directory), and make use of -R or -rpath.
+  (http://www.freedesktop.org/software/pkgconfig/)
+* you specify the system-wide link path via a command such
+  as crle(1) on Solaris systems.
+* you add the OpenSSL shared library directory to /etc/ld.so.conf
+  and run ldconfig(8) on Linux systems.
+* you define the LD_LIBRARY_PATH, LIBPATH, SHLIB_PATH (HP),
+  DYLD_LIBRARY_PATH (MacOS X) or PATH (Cygwin and DJGPP)
+  environment variable and add the OpenSSL shared library
+  directory to it.
+
+One common tool to check the dynamic dependencies of an executable
+or dynamic library is ldd(1) on most UNIX systems.
+
+See any operating system documentation and manpages about shared
+libraries for your version of UNIX.  The following manpages may be
+helpful: ld(1), ld.so(1), ld.so.1(1) [Solaris], dld.sl(1) [HP],
+ldd(1), crle(1) [Solaris], pldd(1) [Solaris], ldconfig(8) [Linux],
+chatr(1) [HP].