When generating lists of files with `find`, directories may get output
if you try to prune paths and it has a habit of prefixing paths with a
leading `./`.
The various checks cover all settings in the `.editorconfig` file.
The `--fix` support, however, does not attempt to correct charset
issues because the encoding cannot be determined automatically.
Note that image files as well as generated files in the repository
are exempted from all style checks.
Changes to the test reference files should not, famous last words ;-),
have any effect on the use of the tool's actual outputs.
Note that the tests use a "concocted" `testfile.desc` as their input.
This fixes a [-Wpedantic] compiler warning about ISO C forbidding empty
translation units. The check-usb-chip.c file reduces to such a file in
the case USB support was explicitly disabled or no usable library found.
When libusb-1.0 is not found, libusb-0.1 will be tried. On BeOS and
OS2, nothing should have changed in terms of detection of USB support.
On all systems the --enable-libusb* flags are now ignored. Instead, the
--with-usb and --without-usb flags now control support. When neither is
given USB support will be enable if possible and disabled otherwise. If
--with-usb is requested but not possible, ./configure will fail. There
is no support to prefer libusb-0.1 over libusb-1.0.
Automake is smart enough these days to compile the *.lo files that are
used when linking.
The umax_pp_CPPFLAGS are useless because backend/umax_pp_low.c undefines
BACKEND_NAME unconditionally and sets it to what was passed here ;-)
The distclean target should only remove files that make creates. If
there are any that need taking care of, they should be added in on a
per file basis in the Makefile.am that creates it.
Several variables are considered "user variables" by the GNU Standards.
This means that the user can pass these to their ./configure and make
invocations as they see fit. These variables include CPPFLAGS, CFLAGS
and LDFLAGS.
This changeset pushes our use of these variables to the automake shadow
variables, AM_CPPFLAGS, AM_CFLAGS and AM_LDFLAGS, so that user variables
will no longer clobber flags required in order to build.
The AC_SUBST and PKG_CHECK_MODULE invocations in configure.ac as well as
acinclude.m4 are sufficient to trigger automake to insert initialization
logic for the variables these introduce. There is no need to do this by
hand. Wherever these values are needed, it is better to use a variable.
This allows for one-off overrides on the make command-line (without the
need to run ./configure) for one thing.
This addresses warnings about the use of the $(wildcard) function.
It has been replaced by a plain shell glob. There is one case where
this will result in an error, when there are no matches, but that is
when the targets that use it make no sense. It is probably good to
get an error in that case.
While reading through the SANE sources I noticed some annoying typos
in the comments. This patch is my contribution to make the SANE
sources slightly more pleasant to read.
Generated hwdb files listed the vendor ID instead of the product ID
which made udevd not recognizing scanner devices as such. Thanks to
Fabrice Bellet who spotted the problem.
Improving here means do not set LIBS/CFLAGS if library is not detected.
This prevents some unknown options based to ld when host is Linux and
target is mingw32/64. Further improvements are needed if one wants this
snmp support when cross compiling to really work.
Also, to make commit bisectable, updated all autofoo files using
'autoreconf -i -f' and repatching ltmain.sh.
Also, test-driver was missing from git repo but the Makefile.in
checked in expected it to exist.
udev now comes with a hardware database (hwdb) which is meant to replace large
rule files as the one typically shipped with sane. This should significantly
speed up the processing of usb add events.
Add the required output format and add a special udev output mode which is
produces the udev file to be used with hwdb.
Sample hwdb file: <https://dev.archlinux.org/~tomegun/20-sane.hwdb>.
Sample udev+hwdb rules file:
<https://dev.archlinux.org/~tomegun/53-sane.rules>.
Similar support was recently added to gphoto2:
<http://sourceforge.net/p/gphoto/code/14490/>.
The new udev rules file does not support old udev/kernels as these anyway
don't support hwdb.
Moreover, it does not come with GROUP=/MODE= or ACL support as this can easily
be done externally by hooking into the libsane_matched envvar. In particular
systemd-logind uses this to do its own ACL handling.
using backend debugging using SANE_DEBUG_xxx to be used for saned controlled
scanning when using socket activation. When only the socket is received we
use the existing code path.
Options were in README but removed at some point. They
are useful so add them back.
Document BACKENDS and PRELOADABLE_BACKENDS variables in
README as well as in configure --help output.
Add check for winsock2.h for socket.h replancement. Also, use this
check to add ws2_32 library. Also, switch all winsock.h references
to winsock2.h.
Add check for getuid and getpass; which are not on mingw.
Add a syslog() replacement that is basically a print(). This
is also used by vsyslog() replacement.
Comment out parts of replacement sigprocmask.c on mingw.
To support these configure.in changes, I need to rebuild all
related files with autoconf 2.68 and libtool 2.4. Hand ported
our sane-backend specific changes to newer ltmain.sh.
As we require pkg-config anyway, simply let sane-config use it to make
it compatible with multilib systems. Previously, sane-config contained
paths which were different on e.g. x86_64 and i386 which made the 64 and
32 bit versions conflict if installed in parallel.
Use ACLs for the scanner group instead of making the device root:scanner
with permissions 0664; designed to help with MFPs and play nice with
ConsoleKit.
create a place holder for low level commands
move low level functions to genesys_low.c
GL124 progresses
enable genesys_low debug and add DAC for LiDE 110
gl124 WIP
- gl847 cleanups
- genesys_low refactor
- gl124 starting version
GL124 WIP
- read scancnt/fedcnt,valid words coded
- memory layout coded
LiDE110 WIP
GL 124 WIP
- definition and use of get/set double/triple
- define register names
all mods done, ready to test
set fe OK
GL124 WIP : ready to test scans
GL124 WIP
GL124 WIP
- fixed analog fe issue: don't put afe regs in global set
GL124 : first light at 300 dpi
GL124 WIP
- 300 and 600 uncalibrated mostly ok (x coordinate rounding)
- 150 and 75 OK x-wise, y to be solved
solved rounding errors for gl124
re-add 400, 200 and 100 dpi modes
GL124 : tous x dpi OK
before adding line cropping
GL124 : line cropping almost finished
GL124 WIP : working line deletion
compute step rework
GL124 WIP : high speed table for dpi <= 300
move to scan area working
line skipping fix
new slope table for 600 dpi base
geometry and movement tuned
GL124 WIP : shading calibration almost working
working 600 dpi shading
GL124 : working shading calibration for all modes but 1200 dpi
working 1200 dpi shading
beta 1 of GL124 support
last tuning
update genesys.desc for LiDE 110
motor slope and start area tuning
shading coefficient computing clean up
add support for GL124 based CanoScan LiDE 110
feed almost OK up to 300 dpi
feeding is fixed
all issues fixed
Not quite ready to support pkg-config yet but go ahead and provide
basic support in configure to discourage distributions that are
patching pkg-config support in to no longer run "autoreconf -f"
and wiping out our custom libtool. sane-backends.pc will not
be installed currently.
Also, fixed a LDFLAGS bug in sane-config for GPHOTO2 support.
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
resmgr library is only used (optionally) by
sanei_usb and sanei_scsi. So only need to
link it in for those backends. This was
a stray piece from initial cleanup of LIBS
in sane-backends 1.0.20.
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
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).