With the exception of use in three quotes as well as our inlcuded copy
of the GPL, all use of the Free Software Foundation's postal address
has been removed.
Re #320.
In the case where we are unable to get a path for loading libs, and
instead just use LIBDIR, we set 'src = strdup(LIBDIR)'. However, we
never update orig_src to point to src before tokenizing the path with
strsep(), so the memory is never freed.
Update load to always set orig_src to src so that we don't leak memory.
- Fix define check on S_IFSOCK, looked like a typo
- Need a define check around syslog usage
- libdll_preload already has sanei_usb symbols and linking fails with
duplicate symbol errors if this is left in
Current backend/Makefile.am states difference between libsane and
libsane-dll as:
> libsane.la and libsane-dll.la are the same thing except for
> the addition of backends listed by PRELOADABLE_BACKENDS that are
> statically linked in.
We were (mistakenly) linking in dll-preload.h and thus symbols
for all preload backends for both libraries but we were only
linking in those symbols for libsane.
This mistake became obvious on mingw which does not allow for
any unresolved symbols. Resolve by forcing an empty preload
backend list for libsane-dll.
* include/sane/sanei_config.h sanei/sanei_config.c: Add function
sanei_config_get_paths to obtain all configuration pathes (from env var
SANE_CONFIG_DIR and default paths); fix pointers to invalid/freed
strings when SANE_CONFIG_DIR is set
* backend/dll.c: When searching for the dll.d/ directory, also use
the SANE_CONFIG_DIR env variable.
Source code was inconsistent on how they were referencing
include files in include/sane. In certain cases, sane/sane.h
and sane/saneopts.h was really including external copies (with
some preprocessor implementations anyways).
own *_LIB variables instead of $LIB so that we do not have to
link in the world to all executables. Modified SANE_CHECK_U_TYPES
to be a little more portable to platforms that use #define
for u_* types. Create SANE_CHECK_BACKENDS macro so that
PRELOADABLE_BACKENDS can also be valided. Auto-populated
PRELAODABLE_BACKENDS when detect dlopen() won't work.
Various protability cleanups.
* backend/dll.c: Make dll-preload.c a .h since its an include and
not compilable byitself.
* frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h,
lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in,
tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la
for everyone to use and a libfelib.la for only frontend programs.
Make all internal programs be prefixed with sanei_ as not to conflict
with other programs libsane is linked in with that will also most
likely create similar internal utils on problem platforms.
* include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile
and link in getopt_long() but prefix it with sanei_. Its
easier to always use internal version then try to figure out what
platforms support getopt_long() and what header files to use.
* backend/Makefile.am: Convert backend makefile to automake.
Initial version that is feature parity with original but uses
specific rules instead of wildcards and only links in libraries/objs
really required. Room for more cleanup of whats linked in once
all makefiles have been converted to automake.
patches have been applied yet, but it's a start. The backends
are not installed as shared libs but as add-ons, which are shared libs
but in a specific folder in [/system|~]/config/add-ons/ named SANE/.
The install target has been changed to account for this,
Some files don't exist in BeOS/ZETA (ipc.h, ...).
Bbackend function names get a prefix, I suppose to avoid namespace clashes.
Though we do have a libdl to implement dl_open, the native way is prefered.
Added a --with-docdir= configure arg.
BeOS has a broken get[name|addr]info() from bind. This is fixed in ZETA R1.
libtool needs -no-undefined. Various VPATH fixes.
Check for <be/drivers/USB_scanner.h>, but not used yet.
No S_IFSOCK (sockets are fds to /dev/net/api). Stub pio code, untested.
Patch from Francois Revol <revol@free.fr>.
$LD_LIBRARY_PATH ($SHLIB_PATH, $LIBPATH) first and only check LIBDIR if
opening failed. New version: 1.0.6.
Henning Meier-Geinitz <henning@meier-geinitz.de>