The magicolor device apparently does not support WAIT_FOR_BUTTON
[sane-backend-magicolor.git] / README
blob634bd90cd5b0c3af13b20993cd32ecd646bb5838
1 How to configure, build, and install SANE.
4 Introduction:
5 =============
6 SANE stands for Scanner Access Now Easy.
7 This package contains the SANE libraries (this means backends and
8 network scanning parts) and the command line frontend scanimage.
9 You always find the most recent version of SANE on:
11   http://www.sane-project.org/
13 At the same location there are also links to snapshots of the CVS server and
14 sometimes beta releases of sane-backends. These are unstable development
15 versions, so be careful when using them. Please report any problems to us. See
16 contact section for details.
18 There are several graphical frontends available for SANE, see the list at
19 http://www.sane-project.org/sane-frontends.html.
22 Quick install:
23 ==============
25 ./configure
26 make
27 make install
29 man sane
32 Prerequisites
33 =============
35 In order to build SANE, the following tools and libraries are required:
37         - GNU make: version 3.70 or newer
39         - ANSI C compiler: GNU C (gcc) is recommended for best performance,
40           but any ANSI-compliant compiler should do
42 Some more libraries are not strictly necessary to compile SANE, but some
43 functionality may be lost if they are not available. Make sure that these
44 libraries and their respective header files are available before running
45 configure. On some Linux distributions the header files are part of separate
46 packages (e.g. usb.h in libusb-devel or libusb-dev). These must also be
47 installed.
49         - libusb (>=0.1.8): Strongly recommended if you use a USB scanner.
50           Some backends won't work without libusb at all.
52         - libjpeg (>=6B): For the dc210, dc240, and gphoto2 backends.
54         - libieee1284 (>=0.1.5): For some parallel port backends.
56         - libgphoto2 (>=2.0): For the gphoto2 backend.
58 SANE should build on most Unix-like systems. Support for OS/2, MacOS X, BeOS,
59 and Microsoft Windows is also available. For more details look at the
60 operating system specific README.* files. For a detailed support matrix, see:
62     http://www.sane-project.org/sane-support.html
64 This table may be out of date. Please tell us about any corrections or
65 additions. Please mention your operating system and platform and all the other
66 details mentioned in the table. See also the contact section.
68 Please check that there aren't any older versions of SANE installed on your
69 system. Especially if SANE libraries are installed in a different prefix
70 directory (e.g. /usr/lib/) this may cause problems with external
71 frontends. Please remove these libraries (libsane.*, sane/libsane-*) by using
72 your packet manager or manually before installing this version of SANE.
75 Configuration
76 =============
78 Simply invoke configure in the top-level directory.  Besides the usual GNU
79 configure options, there are the following SANE specific options:
81  --disable-shared
82         Don't use shared libraries.  Useful for debugging or when there
83         is a problem building shared libraries.  This implicitly turns
84         on --disable-dynamic --enable-static as well.
86  --disable-dynamic
87         Disable dynamic loading of backends (in the dll backend).
88         configure normally turns on dynamic loading when it
89         can find the appropriate header files and libraries
90         (<dlfcn.h> and -dl).
92  --enable-static
93         Use static libraries (turned off by default).
95  --enable-preload
96         Preload backends into DLL backend.  This is useful for debugging,
97         when dynamic loading is unavailable, or to reduce runtime linking
98         overheads.  If dynamic loading or shared libraries are unavailable
99         or disabled, this option is turned on automatically.
101  --enable-scsibuffersize=N
102         Specify the buffer size of the buffer for SCSI commands. The default
103         value is 131072 bytes (128 kb). This may be changed at runtime by
104         setting the environment variable SANE_SG_BUFFERSIZE to the desired
105         value. The option is Linux-only at this time.
106         --enable-scsibuffersize and SANE_SG_BUFFERSIZE have no effect for
107         the Mustek, Umax and Sharp backends. For these backends, the buffer
108         size is set automatically and/or can be specified in the backend's
109         configuration file. Please refer to the backend's man pages for
110         details.
112 --disable-translations
113         Disable installation of translated backend options. If you get
114         errors in the po/ directory during build, use this option.
115         See po/README for details.
117 --enable-locking
118         Means, that some backends will use a lockfile for allowing multiple
119         access to one scanner. This is useful, i.e. one frontend is scanning
120         the button status and another one will scan. The path to the lock
121         files is define by --localstatedir at the configure step and is
122         $localstatedir/lock/sane. The default group is uucp and can be
123         changed by using --with-group=newgroup. If you do not want any
124         backend to use a lockfile, simply use --disable-locking.
126 In addition to these configuration options, there are some more SANE-specific
127 options and many standard-options.  To get a description of available options,
128 invoke configure with option --help.
130 If you plan on debugging one of the SANE programs, we recommend to run
131 configure like this:
133    CFLAGS="-g -O -Wall" ./configure --disable-shared
135 For operating system specific information, look at the README.* files.
138 Build
139 =====
141 To build SANE, simply type "make" in the top-level directory.
143 To clean up the executables and libraries in the source directory, type "make
144 clean". To restore everything to the status after unpacking the package, type
145 "make distclean".
148 Installation and Configuration
149 ==============================
151 Once the build has finished, install SANE with "make install".  By
152 default, this will place the SANE libraries in /usr/local/lib/, the
153 configuration files in /usr/local/etc/sane.d/, and the manual pages in
154 /usr/local/man/.  The location of these directories can be overridden
155 with configure options; see "configure --help" for details.
157 Before running any SANE program, read the PROBLEMS file in this directory.
159 For information on configuring and trouble-shooting the various SANE
160 components, please refer to the manual page sane(7).
162 The tools/ directory contains some small programs that may be helpful. They
163 are described in tools/README.
166 Removing
167 ========
169 Type "make uninstall" to remove SANE from your system. This will also remove
170 older versions of SANE if they have been installed at the same prefix.
171 Warning: Your configuration files will be deleted also so make sure you have a
172 backup. By default the configuration files are located in the directory
173 /usr/local/etc/sane.d/.
176 Contact
177 =======
179 For questions and general discussion about SANE contact the sane-devel mailing
180 list. You must be subscribed to the list to send mail. See
181 http://www.sane-project.org/mailing-lists.html for details.
183 If you want to submit a bug report or feature request please use our bug
184 tracking system.  See http://www.sane-project.org/bugs.html for details. You
185 may also contact the author of a specific backend directly. See the AUTHORS
186 file for a list of addresses.