Wykres commitów

214 Commity (0245820f6b2b475189e5a515a5cb6b6f33d3c0ec)

Autor SHA1 Wiadomość Data
Ruediger Meier f3a8705525 add checks for ntddscsi.h and ddk/ntddscsi.h (to be used for win32) 2012-01-21 22:10:10 -06:00
Chris Bagwell 8ac464a47d add support for libusb-win32
It is API compatible with libusb-0.1 that is already supported
but uses different header file name to prevent conflict with
Window's own usb.h.
2011-12-27 17:35:35 -06:00
Chris Bagwell 2c4b1da0bf add FreeBSD Port's patches
epson2-commands.c: Include <sys/types.h> to resolve u_long.
epson2.c, magicolor.c, xerox_mfp-tcp.c: Include <sys/types.h>
and to <sys/socket.h> for anyone using setsockopt().
sanei_tcp.h: Include <sys/types.h> since ssize_t is referenced.
sanei_usb.c: Newer FreeBSD version checks.

All changes in this patch set come from FreeBSD ports patches.
Bug #312503.
2011-11-20 20:08:15 -06:00
Chris Bagwell 10b778b5d0 Map SANE_Pid to pthread_t
Not all platforms use an integer for pthread_t and so
couldn't compile on those; namely mingw.

This is least riskest version I could come up with. Backends
that do things like "SANE_Pid pid = -1" or "if (pid == -1)" will
need to switch to sanei_thread_set_invalid()
sanei_thread_is_invalid() to be able to compile on mingw.
2011-11-10 19:22:07 -06:00
Chris Bagwell 9c4f8d51d0 Add replacement sleep(); mostly for mingw usage. 2011-11-10 19:21:13 -06:00
Chris Bagwell 1aa332d710 Updates to use sockets on mingw
Add missing WSAStartup() and WSACleanup() code required
on windows to use ws2_32 library.

Also, O_NONBLOCK is tricky even on other platforms so create
a function to set that so portability logic doesn't need to be
done in every backend.  Windows requires using a non standard
function to enable nonblocking mode and also doesn't support
querying current state.
2011-11-07 21:49:54 -06:00
Chris Bagwell 5061c2d5b2 More mingw portability updates.
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.
2011-11-06 12:40:00 -06:00
Chris Bagwell 3e1d15d2c4 Only redefine O_NONBLOCK when a valid alias exists
On mingw, O_NONBLOCK is not defined.  Since we were always
redefining to an invalid FNDELAY, the compile failure message
would mislead you during debugging.  Its better for compile
failure to point to real issue; which is missing O_NONBLOCK.
2011-11-06 11:28:18 -06:00
Chris Bagwell 9bdff1dbdf mingw32 compile fixes
The following updates were made to all directories but backends.
That still needs work. There are also still some pthread issues
and syslog is missing.

 Windows doesn't support SIGHUP or SIGPIPE so make that optional.
 Only include socket header files when sys/socket.h is detected.
 Use winsock.h on windows.
 Only include syslog.h when vsyslog() was detect by configure.
 Skip FD_CLOEXEC when not supported by OS (not defined).
 Only include sys/ioctl.h on platforms that define it.
2011-11-05 11:19:34 -05:00
m. allan noah 28ccc11d91 Add new blank page and rotation detection algos 2011-06-06 20:45:34 -04:00
Reinhold Kainhofer c0b26b4568 sanei_usb: Add function sanei_usb_get_endpoint, add range check in sanei_usb_set_endpoint
Since we now have the possibility to change the endpoint used for a particular USB communication type,
we also need a way to retrieve the current endpoint, so that one can e.g. reset the endpoint to the
old value after a single usb operation on a different endpoint.
2011-01-31 22:42:29 +01:00
Reinhold Kainhofer a3cf04dd9b Apparently, autoreconf on the server somehow missed the HAVE_LIBSNMP variable... 2011-01-20 18:51:26 +01:00
Reinhold Kainhofer 039f21aaf8 Add function to set USB endpoints to use
Added
 void sanei_usb_set_endpoint (SANE_Int dn, SANE_Int ep_type, SANE_Int ep);

This function allows the user to set the endpoint to use on
the given device for the given endpoint type (e.g. bulk in).
Some scanners have multiple bulk in/out endpoints but use
only one for communication (not the one detected during auto-detection),
so one call to the new function will change the used endpoint.
Some scanners use two different endpoint for different purposes,
so in that case each read/write call needs to be preceeded
by a call to that function to set the proper endpoint.

ep_type is a bitmask and is usually of the form
    (USB_DIR_IN|USB_ENDPOINT_TYPE_BULK)
2011-01-15 21:40:55 +01:00
Chris Bagwell 650ea7cf8a update generate files using latest autoconf tools.
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
2011-01-02 13:07:31 -06:00
Reinhold Kainhofer 093fff631c Fix SANE_CONFIG_DIR handling, use it for dll.d/; Add sanei_config_get_paths
* 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.
2010-09-18 10:35:35 +02:00
Stéphane Voltz f805e27531 Merge branch 'gl847' 2010-05-16 21:19:52 +02:00
Stéphane Voltz a717c4658a add sanei_usb_reset function 2010-05-16 07:37:34 +02:00
Chris Bagwell 3c21ae5f70 Fix cygwin compile. Initial mingw cleanup.
cygwin and mingw is now hiding M_PI_2 defines with -ansi flag.
Remove to fix cygwin compile.
Mingw doesn't support fork() so default to pthreads.
Add u_short to complete definition of u_* types which helps out mingw
when we define _BSDTYPES_DEFINED.

Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
2010-04-07 20:43:32 -05:00
Chris Bagwell 1903d646b2 align autoconf/automake output to common version.
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
2010-02-27 23:27:32 -06:00
Stéphane Voltz b37621d86a addition of the p5 backend to the distribution 2010-02-15 22:15:43 +01:00
m. allan noah ff048f4176 add three new SANE_VALUE macros and use mode name macros from saneopts.h 2010-02-10 23:48:21 -05:00
m. allan noah 3a26db083f Add sanei_magic image processing library
Initial support for:
Deskew
Autocrop
Despeckle
2009-09-14 13:13:31 -04:00
Alessandro Zummo b39c12dd7b Define MM_PER_INCH once for all 2009-06-18 15:54:49 +02:00
Alessandro Zummo 617b7c5be5 sanei_scsi.h requires sane/config.h
sanei_scsi.h uses u_char which is defined in sane/config.h
so it appropriate to ad an #include for it.
2009-06-01 13:16:08 +02:00
m. allan noah 764aa7c6e1 add more generated files to .gitignore 2009-05-05 15:56:54 -04:00
Julien BLACHE 6e4ed52293 Add basic .gitignore files 2009-05-04 14:45:17 +02:00
m. allan noah afc0dc6ed3 * acinclude.m4, backend/gphoto2.c, configure, include/sane/config.h.in:
deal with upcoming gphoto2 interface change (patch by Chris Bagwell)
* po/sane-backends.nl.po: updates from Martin Kho
2009-04-30 13:58:35 +00:00
m. allan noah 089129e82f * include/sane/sane.h: convert new frame and status to #define 2009-04-23 00:36:14 +00:00
m. allan noah 56277dfc54 whitespace to test doxygen errors 2009-04-12 22:45:01 +00:00
m. allan noah 0342a63033 Updates to prepare for 1.0.20 release:
* configure.in: change version to 1.0.20cvs
* configure: rebuild from configure.in
* include/sane/sane.h: hide API changes (minor, frame and status)
* backend/canon_dr.c, backend/fujitsu.c: SANE_FRAME_JPEG
* backend/coolscan3.c: SANE_FRAME_RGBI
* backend/genesys_gl646.c, backend/genesys_gl841.c: STATUS_HW_LOCKED
* backend/rts8891.c, frontend/scanimage.c: STATUS_WARMING_UP
* backend/pixma_io_sanei.c, backend/xerox_mfp.c,
  backend/sane_strstatus.c: STATUS_HW_LOCKED & STATUS_WARMING_UP
* doc/releases.txt: minor updates for new build system
2009-04-12 19:40:31 +00:00
Chris Bagwell 70f3fdfba4 * acinclude.m4, backend/*.[ch], tools/*.[ch], frontend/*.[ch]:
Global replace of u_int??_t with C9x standard based uintxx_t
 in order to remove some tricky and overlapping portability logic
 from acinclude.m4 and leave it in only m4/stdint.m4.
2009-02-26 03:15:43 +00:00
Chris Bagwell df7839f587 * configure.in, m4/stdint.m4: Update to latest version to
get latest fixes and use logic to not recreate _stdint.h if
no changes (to prevent unneeded recompiles).
* m4/byteorder.m4: Added support to reuse existing byteorder.h if
no changes to prevent timestamp causing a recompile.
2009-02-25 03:55:33 +00:00
Chris Bagwell cb4fb37eca Have configure define configdir so all makefiles can use
it (fixes bug introduce with sanei converted to automake).
Enable running testsuite during distcheck.
2009-02-19 18:10:12 +00:00
Julien BLACHE ad1a44d92a Add support for libusb-1.0. 2009-02-19 13:57:45 +00:00
Chris Bagwell e380729334 * configure.in, tools/Makefile.am: convert tools to automake.
Add tools/openbsd to distribution package.
* include/Makefile.am: include files should have been installed
under sane/ directory when converted to automake.
* doc/Makefile.am: Cleanup. Use automake's built in support to
install docs within subdirectories.
2009-02-19 02:17:45 +00:00
Chris Bagwell caba90c552 * configure.in, acinclude.ac: Cleanup autoconf 2.63 warnings.
add cv_ prefix to cached variable.  Remove AC_ARG_PROGRAM as
automake already invokes this. When prefered AC_USE_SYSTEM_EXTENSIONS
exists, use that instead of AC_GNU_SOURCE/AC_AIX/AC_MINUX.
Cleanup socket detection more by creating only a single
SOCKET_LIBS that contains list of all optional libraries
for any socket related funciton.  Make sure that checks
for socket related functions use SOCKET_LIBS when searching.
Check for getopt_long() and getopt.h.  Make OS/2 use
-no-undefined (same as windows).
* ltmain.sh, m4/libtool.m4: Upgrade to libtool 1.5.26.
* Makefile.am: Cleanups to match configure updates.
* frontend/scanimage.c, include/Makefile.in, lib/getopt.c
lib/getopt1.c, toosl/sane-desc.c, include/lgetopt.h:
Rename internal getopt.h to lgetopt.h to allow using
external getopt.h when it exists.  This allows to go
back to optionally compiling getopt()/getopt_long() and its
prototypes and not have conflicts with external headers/symbols.
2009-02-06 03:10:44 +00:00
Chris Bagwell 0330a4d416 * aclocalm4: fix prototype of internal strcasestr and usleep.
* configure.in: Group all USB logic together and all SCSI
logic together to aid understanding of whats no longer
valid.  Allow sharing enable/disable options between all
USB drivers on multiple platforms.  Combined CAM_LIBS and
SCSI_LIBS since they are mutually exclusive.
Skip some USB/SCSI checks when previous tests show it will always fail.
* backend/Makefile.am, tools/Makefile.in: Combine CAM_LIBS and
SCSI_LIBS. Add missing SOCKET_LIBS to epson2.  Add USB_LIB.
* saned.c: Add limits.h for PATH_MAX.
2009-02-02 03:17:32 +00:00
Mattias Ellert 1d21f36d9f Don't compile sanei_jpeg if libjpeg is unavailable. 2009-02-01 15:21:46 +00:00
Mattias Ellert 7d909bb234 cut and paste error correction. 2009-02-01 14:37:46 +00:00
Chris Bagwell 23ff26f9a5 * acinclude.m4, configure.in: Put all libraries into their
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.
2009-01-31 03:12:18 +00:00
Chris Bagwell b52b0c0c14 * backend/epson2.c backend/pixma_bjnp.c, include/sane/sanei_backend.h,
sanei/sanei_tcp.c, sanie/sanei_udp.c: Improve portablity by
  removing usage of MSG_WAITALL since not all platforms support
  that (cygwin).  Default is to be blocking anyways.  Changed
  usage of MSG_NOTWAIT to use fcntl() function as needed as well.
  * configure.in, lib/Makefile.in, lib/strcasestr.c: Add internal
  strcasestr() for platforms missing it (cygwin).
  * pixma_common.c: My source match header prototype for picky
  compilers (cygwin).
  * backend/umax_pp_mid.c: Allow BACKEND_NAME to be filename
  yet debug to be SANE_DEBUG_UMAX_PP to match man page.
2009-01-29 15:10:19 +00:00
m. allan noah 9afc59953a Revert mistaken commit of half-finished code 2009-01-20 13:38:38 +00:00
m. allan noah 0c8a3a0775 add MFC-7840W 2009-01-20 01:41:14 +00:00
Chris Bagwell f385169bcf Convert top-level Makefile to be generated by automake.
"dist" target now includes m4 directory. Updated "libcheck"
target to look at dynamic libraries instead of static.
2009-01-18 02:00:25 +00:00
Nicolas Martin 316027d93d MP800/MP800R fixes and TPU support added, doc updates for MP980 2008-12-21 14:51:26 +00:00
m. allan noah b57a64d79e * sanei/sanei_usb.c, include/sane/sanei_usb.h:
- shorten debug lines to fit in 80 chars
- add sanei_usb_clear_halt() required by upcoming canon_dr backend
2008-11-05 02:30:44 +00:00
Stéphane Voltz 7069ba9295 - added a SANE_CURRENT_MINOR define 2008-10-03 04:45:32 +00:00
m. allan noah ba856d2aec 2008-09-25 m. allan noah <kitno455 a t gmail d o t com>
* include/sane/saneopts.h: underscore not allowed in option names
        * frontend/scanimage.c: fix broken unknown length (-1) binary scans,
          fix invalid tiff height with unknown length scans, fix compiler warn
2008-09-25 02:39:52 +00:00
m. allan noah 7db4cb40da fix typos, improve formatting 2008-07-26 05:45:21 +00:00
m. allan noah 2dc0cb38bd separate x-resolution from resolution, and update all backends that use
it, to prevent ui change
2008-07-26 03:53:44 +00:00