Home | History | Annotate | only in /external/python/cpython3/Modules/_ctypes/darwin
Up to higher level directory
NameDateSize
dlfcn.h21-Aug-20182.8K
dlfcn_simple.c21-Aug-20188.6K
LICENSE21-Aug-20181.4K
README21-Aug-20183.2K
README.ctypes21-Aug-2018321

README

      1 dlcompat for Darwin
      2 =========================
      3 
      4 This is dlcompat, a small library that emulates the dlopen()
      5 interface on top of Darwin's dyld API.
      6 
      7 dlcompat allows loading a ".dylib" library (as long as the RTLD_LOCAL 
      8 flag isn't passed to dlopen()). It can be configured to yield a warning 
      9 when trying to close it (dynamic libraries cannot currently be unloaded).
     10 
     11 It automatically searches for modules in several directories when no 
     12 absolute path is specified and the module is not found in the current 
     13 directory.
     14 
     15 The paths searched are those specified in the environment variables
     16 LD_LIBRARY_PATH and DYLD_LIBRARY_PATH plus /lib, /usr/local/lib and 
     17 /usr/lib or the path specified in the environment variable 
     18 DYLD_FALLBACK_LIBRARY_PATH.
     19 
     20 In the default install the behavior of dlsym is to automatically prepend
     21 an underscore to passed in symbol names, this allows easier porting of
     22 applications which were written specifically for ELF based lifeforms.
     23 
     24 Installation
     25 --------------
     26 Type:
     27 	./configure
     28 	make
     29 	sudo make install
     30 
     31 This will compile the source file, generate both a static and shared
     32 library called libdl and install it into /usr/local/lib. The header
     33 file dlfcn.h will be installed in /usr/local/include.
     34 
     35 If you want to place the files somewhere else, run
     36 
     37   make clean
     38   ./configure --prefix=<prefix>
     39   make
     40   sudo make install
     41 
     42 where <prefix> is the hierarchy you want to install into, e.g. /usr
     43 for /usr/lib and /usr/include (_NOT_ recommended!).
     44 
     45 To enable debugging output (useful for me), run
     46 
     47   make clean
     48   ./configure --enable-debug
     49   make
     50   sudo make install
     51   
     52 If you want old dlcompat style behavior of not prepending the underscore
     53 on calls to dlsym then type:
     54 
     55   make clean
     56   ./configure --enable-fink
     57   make
     58   sudo make install
     59 
     60 Usage
     61 -------
     62 Software that uses GNU autoconf will likely check for a library called
     63 libdl, that's why I named it that way. For software that doesn't find
     64 the library on its own, you must add a '-ldl' to the appropriate
     65 Makefile (or environment) variable, usually LIBS.
     66 
     67 If you installed dlcompat into a directory other than /usr/local/lib,
     68 you must tell the compiler where to find it. Add '-L<prefix>/lib' to
     69 LDFLAGS (or CFLAGS) and '-I<prefix>/include' to CPPFLAGS (or CFLAGS).
     70 
     71 Notes
     72 -----
     73 If you are writing new software and plan to have Mac OX X compatibility you
     74 should look at the dyld api's in /usr/include/mach-o/dyld.h, rather than
     75 using dlcompat, using the native api's is the supported method of loading
     76 dynamically on Mac OS X, if you want an small example, look at dlfcn_simple.c,
     77 which should help get you started.
     78 
     79 Also note that the functions in dlcompat are not thread safe, and while it is not
     80 POSIX spec compliant, it is about as close to compliance as it is going to get though.
     81 
     82 You can always get the latest version from opendarwin cvs:
     83 
     84   cvs -d :pserver:anonymous (a] anoncvs.opendarwin.org:/cvs/od login
     85   cvs -z3 -d :pserver:anonymous (a] anoncvs.opendarwin.org:/cvs/od \
     86                co -d dlcompat proj/dlcompat
     87 
     88 
     89 It is hoped that this library will be useful, and as bug free as possible, if you find
     90 any bugs please let us know about them so they can be fixed.
     91 
     92 Please send bug reports to Peter O'Gorman <ogorman (a] users.sourceforge.net>
     93 
     94 Thanks.
     95 
     96 

README.ctypes

      1 The files in this directory are taken from
      2 http://www.opendarwin.org/cgi-bin/cvsweb.cgi/~checkout~/proj/dlcompat/
      3 
      4 The LICENSE in this directory applies to these files.
      5 
      6 Thomas Heller, Jan 2003
      7 
      8 These files have been modified so they fall back to the system
      9 dlfcn calls if available in libSystem.
     10 
     11 Bob Ippolito, Feb 2006
     12