RELEASE revision 3f54fd611f536639ec30dd53c48e5ec1897cc7d9
382c8bca6eeec6112959d16142d3a20406c3ca9bpl12-07-25 add debug diagnostics
382c8bca6eeec6112959d16142d3a20406c3ca9bpl11-10-11 dll_lib.c: add { dllnames() dll_lib() }
382c8bca6eeec6112959d16142d3a20406c3ca9bpl10-10-20 dllscan.c: version arg "-" => 0
382c8bca6eeec6112959d16142d3a20406c3ca9bpl10-10-19 dllplug.c: fix bug that wiped out dlopen() error message
382c8bca6eeec6112959d16142d3a20406c3ca9bpl10-10-19 dllplug.c: un-localize lookup names (happens with cut and paste)
382c8bca6eeec6112959d16142d3a20406c3ca9bpl10-10-19 dllscan.c: still no code for implicit libs missed by dlopen()
382c8bca6eeec6112959d16142d3a20406c3ca9bpl10-08-02 dllplug.c: fix local path dllcheck() call
382c8bca6eeec6112959d16142d3a20406c3ca9bpl10-05-28 dllplug.c: add dllplugin() with dllcheck() version check
382c8bca6eeec6112959d16142d3a20406c3ca9bpl10-05-28 dllcheck.c: add dllcheck() to do plugin_version() checks
382c8bca6eeec6112959d16142d3a20406c3ca9bpl10-05-28 dllerror.c: add dllerror(int retain) for dll*() and dl*() messages
382c8bca6eeec6112959d16142d3a20406c3ca9bpl09-11-17 dllscan.c: handle name[-.]version in dlsopen()
382c8bca6eeec6112959d16142d3a20406c3ca9bpl09-04-15 dllopen.c: add, use dllopen() internally to wrap dlopen()
382c8bca6eeec6112959d16142d3a20406c3ca9bpl08-05-12 dllscan.c: LIBSUFFIX==.dylib => default plugin version match 0.0
382c8bca6eeec6112959d16142d3a20406c3ca9bpl06-10-11 dllscan.c: check sfstruse() return values -- doh
382c8bca6eeec6112959d16142d3a20406c3ca9bpl06-01-25 dllplug.c: add errorf() library message for dlopen() error
382c8bca6eeec6112959d16142d3a20406c3ca9bpl05-02-14 dllscan.c: "" || "-" => NiL
382c8bca6eeec6112959d16142d3a20406c3ca9bpl04-10-01 dllfind.c: drop ksh "builtin" workaround
382c8bca6eeec6112959d16142d3a20406c3ca9bpl dllscan.c: directory prefix in name limits search to dir and siblings
382c8bca6eeec6112959d16142d3a20406c3ca9bpl04-07-22 dllscan.c: access() => eaccess()
382c8bca6eeec6112959d16142d3a20406c3ca9bpl04-01-30 dllfind.c: dllplug(error_info.id) then dllplug(0)
382c8bca6eeec6112959d16142d3a20406c3ca9bpl04-01-28 dllscan.c: update for new plugin scheme: lib/foo/bar.xxx
382c8bca6eeec6112959d16142d3a20406c3ca9bpl dllplug.c: add dllplug() for plugin dllfind()
382c8bca6eeec6112959d16142d3a20406c3ca9bpl03-03-12 dllfind.c: dlopen() with RTLD_GLOBAL|RTLD_PARENT defaults
382c8bca6eeec6112959d16142d3a20406c3ca9bpl03-02-11 dllscan.c: change LIBPATH to <dir>[:<env>[:<pat>]][,...]
382c8bca6eeec6112959d16142d3a20406c3ca9bpl03-01-08 dllscan.c: hack version logic again -- is consistency rocket science?
382c8bca6eeec6112959d16142d3a20406c3ca9bpl02-11-18 dllfind.c: add path,size args (with backwards compatibility checks)
382c8bca6eeec6112959d16142d3a20406c3ca9bpl02-11-15 dllfind.c: check for ./path if '.' in path but no '/'
382c8bca6eeec6112959d16142d3a20406c3ca9bpl02-08-30 dllfind.c: fix a bug that returned uninitialized value on not found
382c8bca6eeec6112959d16142d3a20406c3ca9bpl02-08-28 dllscan.c: handle and display bin as a sibling dir
382c8bca6eeec6112959d16142d3a20406c3ca9bpl02-07-31 dllscan.c: add dllsopen,dllsread,dllsclose
382c8bca6eeec6112959d16142d3a20406c3ca9bpl dllfind.c: use dllsopen,dllsread,dllsclose
382c8bca6eeec6112959d16142d3a20406c3ca9bpl02-07-26 dllfind.c: add dllinfo()
382c8bca6eeec6112959d16142d3a20406c3ca9bpl02-06-27 dllnext.c: define _GNU_SOURCE to enable RTLD_NEXT
382c8bca6eeec6112959d16142d3a20406c3ca9bpl02-03-17 dllfind.c: fix dll prefix search (for cygwin)
382c8bca6eeec6112959d16142d3a20406c3ca9bpl02-01-11 features/dll: include <dlfcn.h> only if _hdr_dlfcn&&_lib_dlopen
382c8bca6eeec6112959d16142d3a20406c3ca9bpl01-10-31 dlfcn.c: change hp.pa dlopen() prototype (<dlfcn.h> but no -ldl!)
382c8bca6eeec6112959d16142d3a20406c3ca9bpl01-09-25 dllfind: add LIBSUFFIX
382c8bca6eeec6112959d16142d3a20406c3ca9bpl01-07-17 dllfind: do at least one dlopen() to prime dlerror()
382c8bca6eeec6112959d16142d3a20406c3ca9bpl01-05-29 dlopen: fix dlopen(0,0) for HP
382c8bca6eeec6112959d16142d3a20406c3ca9bpl01-04-20 dllfind: use getconf HOSTTYPE LIBPATH LIBSUFFIX
382c8bca6eeec6112959d16142d3a20406c3ca9bpl01-02-14 features/dll: fix unbalanced ' quote and ancient hostinfo reference
382c8bca6eeec6112959d16142d3a20406c3ca9bpl00-01-26 dlllook: add -- dlsym() with `_' weak prefix fallback
382c8bca6eeec6112959d16142d3a20406c3ca9bpl99-04-01 features/dll: drop <stdio.h> -- iffe protos printf
382c8bca6eeec6112959d16142d3a20406c3ca9bpl99-03-19 static=1 for all but win32.*
382c8bca6eeec6112959d16142d3a20406c3ca9bpl98-06-01 dllfind: fix version search
382c8bca6eeec6112959d16142d3a20406c3ca9bpl98-03-11 features/dll: probe for _DLL_RLD_SYM
382c8bca6eeec6112959d16142d3a20406c3ca9bpl98-03-01 dllnext: fix to work!
382c8bca6eeec6112959d16142d3a20406c3ca9bpl98-01-23 -ldl test moved to lib0ast
382c8bca6eeec6112959d16142d3a20406c3ca9bpl98-01-11 update for astconf("LIBPATH")
382c8bca6eeec6112959d16142d3a20406c3ca9bpl add dllnext(flags) to uncover next layer
382c8bca6eeec6112959d16142d3a20406c3ca9bpl dllfind() and dllnext() in separate files (for 3d)
382c8bca6eeec6112959d16142d3a20406c3ca9bpl97-10-11 move from libast so libast can link static