Building with --enable-silent-rules makes it easier to identify errors
or warnings in the build output. Automake provides macros for custom
rules to use, so that they will print a similar message to rules which
run the compiler or linker:
...
CC libpieusb_la-pieusb.lo
CCLD libpieusb.la
CCLD libsane-pieusb.la
CC libsane_pixma_la-pixma-s.lo
GEN pixma/pixma_sane_options.h
GEN pixma/pixma_sane_options.c
CC pixma/libpixma_la-pixma.lo
...
This does not change the current output if silent rules are disabled.
malloc returns NULL on error, but this code errors out on the non-NULL pointer
indicating success (which essentially makes this function always fail).
Signed-off-by: Raphael Isemann <teemperor@gmail.com>
This option is not used anywhere in the code or the build system, except
that ./configure will not build device locking support if this is set to
a non-existent group. (It chooses uucp by default.)
However, that check does not actually work. It attempts to run the chgrp
command on a temporary file; but since ./configure is run without root
privileges, that always fails unless the user running ./configure is a
member of the group.
Remove both the option and the broken check. It is assumed that device
locking support was typically disabled in builds because of this issue,
and it will now be restored except where --disable-locking is specified.
While outstanding issues that cause compiler warnings are being fixed,
continue using Debian 10 (oldstable) rather than Debian 11 (stable) to
build HTML documentation and run "make distcheck".
Windows does not allow filenames ending in a period ("."), preventing
this git repository from even being checked out on a Windows system.
Drop the trailing period in these two filenames. Both files will still
be skipped during the build, since they are not included in DESC_FILES
or DESC_EXT_FILES in doc/Makefile.am.
Mainly consists of removing code for #ifdef __KERNEL__
In order to keep it really clear what code has been removed, I have
not corrected any formatting issues.
Specify -Werror in both CFLAGS and CXXFLAGS for all build jobs.
For the updated build targets, temporarily allow the build job to fail
while outstanding issues that cause compiler warnings are being fixed.
Functions called by pthread_create() have the return type (void *).
However, the return statements in read_data() use a value of type
SANE_Status rather than a pointer, which causes a compiler warning.
This return value is never actually used, so return NULL instead.
GCC warns that an unsigned value is passed to abs(), which may not be
intended. To resolve this warning, adjust the code so abs() is not used
and the behavior is more explicit.
If the weights file pathname is longer than PATH_MAX, it may be written
past the end of the buffer on the stack; or it may be truncated when it
is written to allocated memory (such that it is not null-terminated).
Adjust the code to fix both issues. Dynamically allocate memory for the
actual length of the pathname so that it is not constrained by PATH_MAX.