GSS_S_PROMPTING_NEEDED is a bit
[cyrus-sasl.git] / dlcompat-20010505 / README
1  dlcompat for Darwin
2 =====================
3
4 This is release 20010505 of dlcompat. dlcompat is a small library that
5 emulates the dlopen() interface on top of Darwin's dyld API. It is
6 based on a CVS snapshot of Apple's Darwin CVS repository, taken on
7 Jan 16 2001 (and still current as of May 5 2001). Since it's based on
8 Apple code, it is released under the terms of the Apple Public Source
9 License; see the file APPLE_LICENSE for the text of the license.
10
11 Changes were made to automatically search for the module in several
12 directories (taken from the environment variables DYLD_LIBRARY_PATH
13 and LD_LIBRARY_PATH, plus /usr/lib and /lib) when no absolute path is
14 specified and the module is not found in the current directory. If you
15 prefer to run unmodified Apple code, download release 20010116.
16
17
18  Installation
19 --------------
20 As root, type:
21
22   make install
23
24 This will compile the source file, generate both a static and shared
25 library called libdl and install it into /usr/local/lib. The header
26 file dlfcn.h will be installed in /usr/local/include.
27
28 If you want to place the files somewhere else, run
29
30   make clean
31   make install prefix=<prefix>
32
33 where <prefix> is the hierarchy you want to install into, e.g. /usr
34 for /usr/lib and /usr/include (_NOT_ recommended!).
35
36 To enable debugging output, run
37
38   make clean
39   make DEBUG=1
40   make install
41
42 Combinations of those commands are left as an excercise to the
43 reader. :-)
44
45
46  Usage
47 -------
48 Software that uses GNU autoconf will likely check for a library called
49 libdl, that's why I named it that way. For software that doesn't find
50 the library on its own, you must add a '-ldl' to the appropriate
51 Makefile (or environment) variable, usually LIBS.
52
53 If you installed dlcompat into a directory other than /usr/local/lib,
54 you must tell the compiler where to find it. Add '-L<prefix>/lib' to
55 LDFLAGS (or CFLAGS) and '-I<prefix>/include' to CPPFLAGS (or CFLAGS).
56
57
58  Genesis
59 ---------
60 The files dlfcn.h and dlopen.c are taken from the Darwin CVS,
61 directory Commands/Apple/cctools/libdyld. For release 20010116, I
62 removed an unneccessary include statement from dlopen.c and added the
63 Makefile. For release 20010123, I added debugging output and library
64 searching. The changes are clearly documented, as required by the
65 Apple Public Source License. For release 20010505, I added wrappers to
66 disable C++ name mangling. That allows the library to be used by C++
67 code, but be aware that there are issues with C++ and bundles, like
68 static initializers not being called.
69
70
71 Christoph Pfisterer <cp@chrisp.de>