Merge lp:~mfisch/ubuntu/saucy/simple-scan/update-to-3.8.0 into lp:ubuntu/saucy/simple-scan

Proposed by Matt Fischer
Status: Merged
Merged at revision: 23
Proposed branch: lp:~mfisch/ubuntu/saucy/simple-scan/update-to-3.8.0
Merge into: lp:ubuntu/saucy/simple-scan
Diff against target: 9943 lines (+5436/-2344)
64 files modified
.pc/.quilt_patches (+0/-1)
.pc/.quilt_series (+0/-1)
.pc/.version (+0/-1)
.pc/01-zlib.patch/configure.ac (+0/-68)
.pc/01-zlib.patch/src/Makefile.am (+0/-50)
.pc/applied-patches (+0/-1)
AUTHORS (+0/-1)
ChangeLog (+0/-1)
INSTALL (+0/-365)
Makefile.am (+2/-1)
Makefile.in (+29/-48)
NEWS (+11/-2)
README (+0/-1)
README.md (+107/-0)
aclocal.m4 (+0/-12)
config.h.in (+0/-67)
configure (+664/-854)
configure.ac (+5/-7)
data/Makefile.in (+2/-3)
data/icons/Makefile.in (+2/-3)
data/org.gnome.SimpleScan.gschema.xml.in (+10/-0)
data/simple-scan.ui (+73/-1)
debian/changelog (+14/-0)
debian/control (+1/-1)
debian/patches/01-zlib.patch (+0/-25)
debian/patches/series (+0/-1)
help/C/adf.page (+37/-3)
help/C/crop.page (+33/-12)
help/C/dpi.page (+44/-2)
help/C/email.page (+6/-3)
help/C/index.page (+9/-1)
help/C/print.page (+17/-1)
help/C/reorder.page (+8/-4)
help/C/rotate.page (+45/-3)
help/C/save.page (+57/-21)
help/C/scanner.page (+5/-4)
help/C/scanning.page (+16/-31)
help/Makefile.in (+2/-3)
help/de/adf.page (+37/-3)
help/de/crop.page (+32/-4)
help/de/dpi.page (+44/-2)
help/de/email.page (+9/-4)
help/de/index.page (+9/-1)
help/de/print.page (+17/-1)
help/de/reorder.page (+8/-4)
help/de/rotate.page (+45/-3)
help/de/save.page (+57/-21)
help/de/scanner.page (+5/-4)
help/de/scanning.page (+16/-27)
src/Makefile.am (+5/-3)
src/Makefile.in (+35/-12)
src/autosave-manager.c (+2156/-0)
src/autosave-manager.vala (+519/-0)
src/book.c (+0/-1)
src/book.vala (+1/-1)
src/config.vapi (+7/-10)
src/page.c (+36/-4)
src/page.vala (+9/-0)
src/scanner.c (+454/-241)
src/scanner.vala (+52/-5)
src/simple-scan.c (+2/-1)
src/simple-scan.vala (+6/-6)
src/ui.c (+616/-380)
src/ui.vala (+60/-3)
To merge this branch: bzr merge lp:~mfisch/ubuntu/saucy/simple-scan/update-to-3.8.0
Reviewer Review Type Date Requested Status
Robert Ancell (community) Approve
Ubuntu branches Pending
Matt Fischer Pending
Review via email: mp+164668@code.launchpad.net

This proposal supersedes a proposal from 2013-05-20.

Description of the change

Upgrade to 3.8.0. I was able to drop the only patch remaining. The diff of /debian is here, it is much easier to digest: http://paste.ubuntu.com/5682452/

To post a comment you must log in.
Revision history for this message
Robert Ancell (robert-ancell) wrote : Posted in a previous version of this proposal

Looks good to me

review: Approve
Revision history for this message
Robert Ancell (robert-ancell) wrote : Posted in a previous version of this proposal

Actually, you should copy the updated NEWS information into the changelog and mark bugs as fixes, i.e. from this list:

https://bugs.launchpad.net/ubuntu/+source/simple-scan

review: Needs Fixing
Revision history for this message
Matt Fischer (mfisch) wrote : Posted in a previous version of this proposal

Updated

review: Needs Resubmitting
Revision history for this message
Matt Fischer (mfisch) wrote : Posted in a previous version of this proposal

Formatting fixed

review: Needs Resubmitting
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Looks good now

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed directory '.pc'
2=== removed file '.pc/.quilt_patches'
3--- .pc/.quilt_patches 2013-01-16 00:03:37 +0000
4+++ .pc/.quilt_patches 1970-01-01 00:00:00 +0000
5@@ -1,1 +0,0 @@
6-debian/patches
7
8=== removed file '.pc/.quilt_series'
9--- .pc/.quilt_series 2013-01-16 00:03:37 +0000
10+++ .pc/.quilt_series 1970-01-01 00:00:00 +0000
11@@ -1,1 +0,0 @@
12-series
13
14=== removed file '.pc/.version'
15--- .pc/.version 2010-08-15 12:45:16 +0000
16+++ .pc/.version 1970-01-01 00:00:00 +0000
17@@ -1,1 +0,0 @@
18-2
19
20=== removed directory '.pc/01-zlib.patch'
21=== removed file '.pc/01-zlib.patch/configure.ac'
22--- .pc/01-zlib.patch/configure.ac 2013-03-22 09:24:50 +0000
23+++ .pc/01-zlib.patch/configure.ac 1970-01-01 00:00:00 +0000
24@@ -1,68 +0,0 @@
25-dnl Process this file with autoconf to produce a configure script.
26-
27-AC_INIT(configure.ac)
28-AM_INIT_AUTOMAKE(simple-scan, 3.6.1)
29-AM_CONFIG_HEADER(config.h)
30-AM_MAINTAINER_MODE
31-GNOME_MAINTAINER_MODE_DEFINES
32-m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
33-
34-AC_ISC_POSIX
35-AM_PROG_VALAC([0.16.0])
36-AM_PROG_CC_C_O
37-AC_HEADER_STDC
38-
39-GLIB_GSETTINGS
40-
41-dnl ###########################################################################
42-dnl Dependencies
43-dnl ###########################################################################
44-
45-dnl Run-time dependencies:
46-dnl * gnome-icon-theme
47-dnl * xdg-utils (for xdg-email)
48-
49-PKG_CHECK_MODULES(SIMPLE_SCAN, [
50- gtk+-3.0
51- gmodule-export-2.0
52- gthread-2.0
53- zlib
54- cairo
55- gdk-pixbuf-2.0
56- gudev-1.0
57-])
58-
59-PKG_CHECK_MODULES(COLORD, [
60- colord
61-], have_colord=yes, have_colord=no)
62-AM_CONDITIONAL(HAVE_COLORD, test $have_colord = yes)
63-
64-AC_CHECK_HEADERS([sane/sane.h],[],[AC_MSG_ERROR([SANE not found])])
65-AC_CHECK_HEADERS([sane/saneopts.h],[],[AC_MSG_ERROR([SANE not found])])
66-AC_CHECK_HEADERS([jpeglib.h],[],[AC_MSG_ERROR([libjpeg not found])])
67-
68-dnl ###########################################################################
69-dnl Documentation
70-dnl ###########################################################################
71-
72-YELP_HELP_INIT
73-
74-dnl ###########################################################################
75-dnl Internationalization
76-dnl ###########################################################################
77-
78-IT_PROG_INTLTOOL([0.35.0])
79-AC_SUBST(GETTEXT_PACKAGE, simple-scan)
80-
81-dnl ###########################################################################
82-dnl Files to generate
83-dnl ###########################################################################
84-
85-AC_OUTPUT([
86-Makefile
87-data/Makefile
88-data/icons/Makefile
89-help/Makefile
90-po/Makefile.in
91-src/Makefile
92-])
93
94=== removed directory '.pc/01-zlib.patch/src'
95=== removed file '.pc/01-zlib.patch/src/Makefile.am'
96--- .pc/01-zlib.patch/src/Makefile.am 2011-08-30 12:58:27 +0000
97+++ .pc/01-zlib.patch/src/Makefile.am 1970-01-01 00:00:00 +0000
98@@ -1,50 +0,0 @@
99-bin_PROGRAMS = simple-scan
100-
101-simple_scan_SOURCES = \
102- config.vapi \
103- book.vala \
104- book-view.vala \
105- colord.vapi \
106- jpeglib.vapi \
107- page.vala \
108- page-view.vala \
109- sane.vapi \
110- simple-scan.vala \
111- scanner.vala \
112- ui.vala
113-
114-simple_scan_VALAFLAGS = \
115- --pkg=zlib \
116- --pkg=gudev-1.0 \
117- --pkg=gio-2.0 \
118- --pkg=gtk+-3.0
119-
120-if HAVE_COLORD
121-simple_scan_VALAFLAGS += -D HAVE_COLORD
122-endif
123-
124-simple_scan_CFLAGS = \
125- $(SIMPLE_SCAN_CFLAGS) \
126- $(COLORD_CFLAGS) \
127- $(WARN_CFLAGS) \
128- -DVERSION=\"$(VERSION)\" \
129- -DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" \
130- -DLOCALE_DIR=\"$(localedir)\" \
131- -DUI_DIR=\"$(datadir)/simple-scan/\" \
132- -DICON_DIR=\"$(datadir)/simple-scan/icons\" \
133- -DGCONF_DIR=\"/apps/simple-scan\" \
134- -DSIMPLE_SCAN_BINARY=\"simple-scan\"
135-
136-simple_scan_LDADD = \
137- $(SIMPLE_SCAN_LIBS) \
138- $(COLORD_LIBS) \
139- -lsane \
140- -ljpeg \
141- -lm
142-
143-CLEANFILES = \
144- $(patsubst %.vala,%.c,$(filter %.vala, $(SOURCES))) \
145- *_vala.stamp
146-
147-DISTCLEANFILES = \
148- Makefile.in
149
150=== removed file '.pc/applied-patches'
151--- .pc/applied-patches 2012-06-03 01:01:58 +0000
152+++ .pc/applied-patches 1970-01-01 00:00:00 +0000
153@@ -1,1 +0,0 @@
154-01-zlib.patch
155
156=== removed file 'AUTHORS'
157--- AUTHORS 2009-12-21 00:31:16 +0000
158+++ AUTHORS 1970-01-01 00:00:00 +0000
159@@ -1,1 +0,0 @@
160-Robert Ancell <robert.ancell@canonical.com>
161
162=== removed file 'ChangeLog'
163--- ChangeLog 2010-03-05 22:03:38 +0000
164+++ ChangeLog 1970-01-01 00:00:00 +0000
165@@ -1,1 +0,0 @@
166-See bzr+ssh://bazaar.launchpad.net/~robert-ancell/simple-scan/trunk/ for the revision history
167\ No newline at end of file
168
169=== removed file 'INSTALL'
170--- INSTALL 2010-02-13 19:44:57 +0000
171+++ INSTALL 1970-01-01 00:00:00 +0000
172@@ -1,365 +0,0 @@
173-Installation Instructions
174-*************************
175-
176-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
177-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
178-
179- Copying and distribution of this file, with or without modification,
180-are permitted in any medium without royalty provided the copyright
181-notice and this notice are preserved. This file is offered as-is,
182-without warranty of any kind.
183-
184-Basic Installation
185-==================
186-
187- Briefly, the shell commands `./configure; make; make install' should
188-configure, build, and install this package. The following
189-more-detailed instructions are generic; see the `README' file for
190-instructions specific to this package. Some packages provide this
191-`INSTALL' file but do not implement all of the features documented
192-below. The lack of an optional feature in a given package is not
193-necessarily a bug. More recommendations for GNU packages can be found
194-in *note Makefile Conventions: (standards)Makefile Conventions.
195-
196- The `configure' shell script attempts to guess correct values for
197-various system-dependent variables used during compilation. It uses
198-those values to create a `Makefile' in each directory of the package.
199-It may also create one or more `.h' files containing system-dependent
200-definitions. Finally, it creates a shell script `config.status' that
201-you can run in the future to recreate the current configuration, and a
202-file `config.log' containing compiler output (useful mainly for
203-debugging `configure').
204-
205- It can also use an optional file (typically called `config.cache'
206-and enabled with `--cache-file=config.cache' or simply `-C') that saves
207-the results of its tests to speed up reconfiguring. Caching is
208-disabled by default to prevent problems with accidental use of stale
209-cache files.
210-
211- If you need to do unusual things to compile the package, please try
212-to figure out how `configure' could check whether to do them, and mail
213-diffs or instructions to the address given in the `README' so they can
214-be considered for the next release. If you are using the cache, and at
215-some point `config.cache' contains results you don't want to keep, you
216-may remove or edit it.
217-
218- The file `configure.ac' (or `configure.in') is used to create
219-`configure' by a program called `autoconf'. You need `configure.ac' if
220-you want to change it or regenerate `configure' using a newer version
221-of `autoconf'.
222-
223- The simplest way to compile this package is:
224-
225- 1. `cd' to the directory containing the package's source code and type
226- `./configure' to configure the package for your system.
227-
228- Running `configure' might take a while. While running, it prints
229- some messages telling which features it is checking for.
230-
231- 2. Type `make' to compile the package.
232-
233- 3. Optionally, type `make check' to run any self-tests that come with
234- the package, generally using the just-built uninstalled binaries.
235-
236- 4. Type `make install' to install the programs and any data files and
237- documentation. When installing into a prefix owned by root, it is
238- recommended that the package be configured and built as a regular
239- user, and only the `make install' phase executed with root
240- privileges.
241-
242- 5. Optionally, type `make installcheck' to repeat any self-tests, but
243- this time using the binaries in their final installed location.
244- This target does not install anything. Running this target as a
245- regular user, particularly if the prior `make install' required
246- root privileges, verifies that the installation completed
247- correctly.
248-
249- 6. You can remove the program binaries and object files from the
250- source code directory by typing `make clean'. To also remove the
251- files that `configure' created (so you can compile the package for
252- a different kind of computer), type `make distclean'. There is
253- also a `make maintainer-clean' target, but that is intended mainly
254- for the package's developers. If you use it, you may have to get
255- all sorts of other programs in order to regenerate files that came
256- with the distribution.
257-
258- 7. Often, you can also type `make uninstall' to remove the installed
259- files again. In practice, not all packages have tested that
260- uninstallation works correctly, even though it is required by the
261- GNU Coding Standards.
262-
263- 8. Some packages, particularly those that use Automake, provide `make
264- distcheck', which can by used by developers to test that all other
265- targets like `make install' and `make uninstall' work correctly.
266- This target is generally not run by end users.
267-
268-Compilers and Options
269-=====================
270-
271- Some systems require unusual options for compilation or linking that
272-the `configure' script does not know about. Run `./configure --help'
273-for details on some of the pertinent environment variables.
274-
275- You can give `configure' initial values for configuration parameters
276-by setting variables in the command line or in the environment. Here
277-is an example:
278-
279- ./configure CC=c99 CFLAGS=-g LIBS=-lposix
280-
281- *Note Defining Variables::, for more details.
282-
283-Compiling For Multiple Architectures
284-====================================
285-
286- You can compile the package for more than one kind of computer at the
287-same time, by placing the object files for each architecture in their
288-own directory. To do this, you can use GNU `make'. `cd' to the
289-directory where you want the object files and executables to go and run
290-the `configure' script. `configure' automatically checks for the
291-source code in the directory that `configure' is in and in `..'. This
292-is known as a "VPATH" build.
293-
294- With a non-GNU `make', it is safer to compile the package for one
295-architecture at a time in the source code directory. After you have
296-installed the package for one architecture, use `make distclean' before
297-reconfiguring for another architecture.
298-
299- On MacOS X 10.5 and later systems, you can create libraries and
300-executables that work on multiple system types--known as "fat" or
301-"universal" binaries--by specifying multiple `-arch' options to the
302-compiler but only a single `-arch' option to the preprocessor. Like
303-this:
304-
305- ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
306- CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
307- CPP="gcc -E" CXXCPP="g++ -E"
308-
309- This is not guaranteed to produce working output in all cases, you
310-may have to build one architecture at a time and combine the results
311-using the `lipo' tool if you have problems.
312-
313-Installation Names
314-==================
315-
316- By default, `make install' installs the package's commands under
317-`/usr/local/bin', include files under `/usr/local/include', etc. You
318-can specify an installation prefix other than `/usr/local' by giving
319-`configure' the option `--prefix=PREFIX', where PREFIX must be an
320-absolute file name.
321-
322- You can specify separate installation prefixes for
323-architecture-specific files and architecture-independent files. If you
324-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
325-PREFIX as the prefix for installing programs and libraries.
326-Documentation and other data files still use the regular prefix.
327-
328- In addition, if you use an unusual directory layout you can give
329-options like `--bindir=DIR' to specify different values for particular
330-kinds of files. Run `configure --help' for a list of the directories
331-you can set and what kinds of files go in them. In general, the
332-default for these options is expressed in terms of `${prefix}', so that
333-specifying just `--prefix' will affect all of the other directory
334-specifications that were not explicitly provided.
335-
336- The most portable way to affect installation locations is to pass the
337-correct locations to `configure'; however, many packages provide one or
338-both of the following shortcuts of passing variable assignments to the
339-`make install' command line to change installation locations without
340-having to reconfigure or recompile.
341-
342- The first method involves providing an override variable for each
343-affected directory. For example, `make install
344-prefix=/alternate/directory' will choose an alternate location for all
345-directory configuration variables that were expressed in terms of
346-`${prefix}'. Any directories that were specified during `configure',
347-but not in terms of `${prefix}', must each be overridden at install
348-time for the entire installation to be relocated. The approach of
349-makefile variable overrides for each directory variable is required by
350-the GNU Coding Standards, and ideally causes no recompilation.
351-However, some platforms have known limitations with the semantics of
352-shared libraries that end up requiring recompilation when using this
353-method, particularly noticeable in packages that use GNU Libtool.
354-
355- The second method involves providing the `DESTDIR' variable. For
356-example, `make install DESTDIR=/alternate/directory' will prepend
357-`/alternate/directory' before all installation names. The approach of
358-`DESTDIR' overrides is not required by the GNU Coding Standards, and
359-does not work on platforms that have drive letters. On the other hand,
360-it does better at avoiding recompilation issues, and works well even
361-when some directory options were not specified in terms of `${prefix}'
362-at `configure' time.
363-
364-Optional Features
365-=================
366-
367- If the package supports it, you can cause programs to be installed
368-with an extra prefix or suffix on their names by giving `configure' the
369-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
370-
371- Some packages pay attention to `--enable-FEATURE' options to
372-`configure', where FEATURE indicates an optional part of the package.
373-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
374-is something like `gnu-as' or `x' (for the X Window System). The
375-`README' should mention any `--enable-' and `--with-' options that the
376-package recognizes.
377-
378- For packages that use the X Window System, `configure' can usually
379-find the X include and library files automatically, but if it doesn't,
380-you can use the `configure' options `--x-includes=DIR' and
381-`--x-libraries=DIR' to specify their locations.
382-
383- Some packages offer the ability to configure how verbose the
384-execution of `make' will be. For these packages, running `./configure
385---enable-silent-rules' sets the default to minimal output, which can be
386-overridden with `make V=1'; while running `./configure
387---disable-silent-rules' sets the default to verbose, which can be
388-overridden with `make V=0'.
389-
390-Particular systems
391-==================
392-
393- On HP-UX, the default C compiler is not ANSI C compatible. If GNU
394-CC is not installed, it is recommended to use the following options in
395-order to use an ANSI C compiler:
396-
397- ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
398-
399-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
400-
401- On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
402-parse its `<wchar.h>' header file. The option `-nodtk' can be used as
403-a workaround. If GNU CC is not installed, it is therefore recommended
404-to try
405-
406- ./configure CC="cc"
407-
408-and if that doesn't work, try
409-
410- ./configure CC="cc -nodtk"
411-
412- On Solaris, don't put `/usr/ucb' early in your `PATH'. This
413-directory contains several dysfunctional programs; working variants of
414-these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
415-in your `PATH', put it _after_ `/usr/bin'.
416-
417- On Haiku, software installed for all users goes in `/boot/common',
418-not `/usr/local'. It is recommended to use the following options:
419-
420- ./configure --prefix=/boot/common
421-
422-Specifying the System Type
423-==========================
424-
425- There may be some features `configure' cannot figure out
426-automatically, but needs to determine by the type of machine the package
427-will run on. Usually, assuming the package is built to be run on the
428-_same_ architectures, `configure' can figure that out, but if it prints
429-a message saying it cannot guess the machine type, give it the
430-`--build=TYPE' option. TYPE can either be a short name for the system
431-type, such as `sun4', or a canonical name which has the form:
432-
433- CPU-COMPANY-SYSTEM
434-
435-where SYSTEM can have one of these forms:
436-
437- OS
438- KERNEL-OS
439-
440- See the file `config.sub' for the possible values of each field. If
441-`config.sub' isn't included in this package, then this package doesn't
442-need to know the machine type.
443-
444- If you are _building_ compiler tools for cross-compiling, you should
445-use the option `--target=TYPE' to select the type of system they will
446-produce code for.
447-
448- If you want to _use_ a cross compiler, that generates code for a
449-platform different from the build platform, you should specify the
450-"host" platform (i.e., that on which the generated programs will
451-eventually be run) with `--host=TYPE'.
452-
453-Sharing Defaults
454-================
455-
456- If you want to set default values for `configure' scripts to share,
457-you can create a site shell script called `config.site' that gives
458-default values for variables like `CC', `cache_file', and `prefix'.
459-`configure' looks for `PREFIX/share/config.site' if it exists, then
460-`PREFIX/etc/config.site' if it exists. Or, you can set the
461-`CONFIG_SITE' environment variable to the location of the site script.
462-A warning: not all `configure' scripts look for a site script.
463-
464-Defining Variables
465-==================
466-
467- Variables not defined in a site shell script can be set in the
468-environment passed to `configure'. However, some packages may run
469-configure again during the build, and the customized values of these
470-variables may be lost. In order to avoid this problem, you should set
471-them in the `configure' command line, using `VAR=value'. For example:
472-
473- ./configure CC=/usr/local2/bin/gcc
474-
475-causes the specified `gcc' to be used as the C compiler (unless it is
476-overridden in the site shell script).
477-
478-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
479-an Autoconf bug. Until the bug is fixed you can use this workaround:
480-
481- CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
482-
483-`configure' Invocation
484-======================
485-
486- `configure' recognizes the following options to control how it
487-operates.
488-
489-`--help'
490-`-h'
491- Print a summary of all of the options to `configure', and exit.
492-
493-`--help=short'
494-`--help=recursive'
495- Print a summary of the options unique to this package's
496- `configure', and exit. The `short' variant lists options used
497- only in the top level, while the `recursive' variant lists options
498- also present in any nested packages.
499-
500-`--version'
501-`-V'
502- Print the version of Autoconf used to generate the `configure'
503- script, and exit.
504-
505-`--cache-file=FILE'
506- Enable the cache: use and save the results of the tests in FILE,
507- traditionally `config.cache'. FILE defaults to `/dev/null' to
508- disable caching.
509-
510-`--config-cache'
511-`-C'
512- Alias for `--cache-file=config.cache'.
513-
514-`--quiet'
515-`--silent'
516-`-q'
517- Do not print messages saying which checks are being made. To
518- suppress all normal output, redirect it to `/dev/null' (any error
519- messages will still be shown).
520-
521-`--srcdir=DIR'
522- Look for the package's source code in directory DIR. Usually
523- `configure' can determine that directory automatically.
524-
525-`--prefix=DIR'
526- Use DIR as the installation prefix. *note Installation Names::
527- for more details, including other options available for fine-tuning
528- the installation locations.
529-
530-`--no-create'
531-`-n'
532- Run the configure checks, but stop before creating any output
533- files.
534-
535-`configure' also accepts some other, not widely useful, options. Run
536-`configure --help' for more details.
537-
538
539=== modified file 'Makefile.am'
540--- Makefile.am 2010-03-05 22:03:38 +0000
541+++ Makefile.am 2013-05-20 03:31:28 +0000
542@@ -1,15 +1,16 @@
543 SUBDIRS = src data help po
544
545 EXTRA_DIST = \
546+ README.md \
547 autogen.sh \
548 simple-scan.doap
549
550 DISTCLEANFILES = \
551 Makefile.in \
552 aclocal.m4 \
553+ compile \
554 configure \
555 depcomp \
556- gnome-doc-utils.make \
557 install-sh \
558 missing \
559 mkinstalldirs \
560
561=== modified file 'Makefile.in'
562--- Makefile.in 2012-09-25 16:17:39 +0000
563+++ Makefile.in 2013-05-20 03:31:28 +0000
564@@ -49,9 +49,8 @@
565 PRE_UNINSTALL = :
566 POST_UNINSTALL = :
567 subdir = .
568-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
569- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
570- $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
571+DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
572+ $(srcdir)/Makefile.in $(top_srcdir)/configure COPYING NEWS \
573 compile depcomp install-sh missing
574 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
575 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
576@@ -60,7 +59,6 @@
577 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
578 configure.lineno config.status.lineno
579 mkinstalldirs = $(install_sh) -d
580-CONFIG_HEADER = config.h
581 CONFIG_CLEAN_FILES =
582 CONFIG_CLEAN_VPATH_FILES =
583 AM_V_GEN = $(am__v_GEN_@AM_V@)
584@@ -125,8 +123,8 @@
585 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
586 done; \
587 reldir="$$dir2"
588-DIST_ARCHIVES = $(distdir).tar.gz
589 GZIP_ENV = --best
590+DIST_ARCHIVES = $(distdir).tar.xz
591 distuninstallcheck_listfiles = find . -type f -print
592 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
593 | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
594@@ -255,23 +253,23 @@
595 top_srcdir = @top_srcdir@
596 SUBDIRS = src data help po
597 EXTRA_DIST = \
598+ README.md \
599 autogen.sh \
600 simple-scan.doap
601
602 DISTCLEANFILES = \
603 Makefile.in \
604 aclocal.m4 \
605+ compile \
606 configure \
607 depcomp \
608- gnome-doc-utils.make \
609 install-sh \
610 missing \
611 mkinstalldirs \
612 omf.make \
613 xmldocs.make
614
615-all: config.h
616- $(MAKE) $(AM_MAKEFLAGS) all-recursive
617+all: all-recursive
618
619 .SUFFIXES:
620 am--refresh: Makefile
621@@ -280,15 +278,15 @@
622 @for dep in $?; do \
623 case '$(am__configure_deps)' in \
624 *$$dep*) \
625- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
626- $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
627+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
628+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
629 && exit 0; \
630 exit 1;; \
631 esac; \
632 done; \
633- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
634+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
635 $(am__cd) $(top_srcdir) && \
636- $(AUTOMAKE) --gnu Makefile
637+ $(AUTOMAKE) --foreign Makefile
638 .PRECIOUS: Makefile
639 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
640 @case '$?' in \
641@@ -309,21 +307,6 @@
642 $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
643 $(am__aclocal_m4_deps):
644
645-config.h: stamp-h1
646- @if test ! -f $@; then rm -f stamp-h1; else :; fi
647- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
648-
649-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
650- @rm -f stamp-h1
651- cd $(top_builddir) && $(SHELL) ./config.status config.h
652-$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
653- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
654- rm -f stamp-h1
655- touch $@
656-
657-distclean-hdr:
658- -rm -f config.h stamp-h1
659-
660 # This directory's subdirectories are mostly independent; you can cd
661 # into them and run `make' without going through this Makefile.
662 # To change the values of `make' variables: instead of editing Makefiles,
663@@ -404,7 +387,7 @@
664 mkid -fID $$unique
665 tags: TAGS
666
667-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
668+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
669 $(TAGS_FILES) $(LISP)
670 set x; \
671 here=`pwd`; \
672@@ -421,7 +404,7 @@
673 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
674 fi; \
675 done; \
676- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
677+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
678 unique=`for i in $$list; do \
679 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
680 done | \
681@@ -439,9 +422,9 @@
682 fi; \
683 fi
684 ctags: CTAGS
685-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
686+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
687 $(TAGS_FILES) $(LISP)
688- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
689+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
690 unique=`for i in $$list; do \
691 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
692 done | \
693@@ -538,7 +521,6 @@
694 dist-lzma: distdir
695 tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
696 $(am__remove_distdir)
697-
698 dist-xz: distdir
699 tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
700 $(am__remove_distdir)
701@@ -557,7 +539,7 @@
702 $(am__remove_distdir)
703
704 dist dist-all: distdir
705- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
706+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
707 $(am__remove_distdir)
708
709 # This target untars the dist file and tries a VPATH configuration. Then
710@@ -648,7 +630,7 @@
711 exit 1; } >&2
712 check-am: all-am
713 check: check-recursive
714-all-am: Makefile config.h
715+all-am: Makefile
716 installdirs: installdirs-recursive
717 installdirs-am:
718 install: install-recursive
719@@ -689,7 +671,7 @@
720 distclean: distclean-recursive
721 -rm -f $(am__CONFIG_DISTCLEAN_FILES)
722 -rm -f Makefile
723-distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
724+distclean-am: clean-am distclean-generic distclean-tags
725
726 dvi: dvi-recursive
727
728@@ -751,24 +733,23 @@
729
730 uninstall-am:
731
732-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
733- ctags-recursive install-am install-strip tags-recursive
734+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
735+ install-am install-strip tags-recursive
736
737 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
738 all all-am am--refresh check check-am clean clean-generic \
739 ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
740 dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
741- distcheck distclean distclean-generic distclean-hdr \
742- distclean-tags distcleancheck distdir distuninstallcheck dvi \
743- dvi-am html html-am info info-am install install-am \
744- install-data install-data-am install-dvi install-dvi-am \
745- install-exec install-exec-am install-html install-html-am \
746- install-info install-info-am install-man install-pdf \
747- install-pdf-am install-ps install-ps-am install-strip \
748- installcheck installcheck-am installdirs installdirs-am \
749- maintainer-clean maintainer-clean-generic mostlyclean \
750- mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
751- uninstall uninstall-am
752+ distcheck distclean distclean-generic distclean-tags \
753+ distcleancheck distdir distuninstallcheck dvi dvi-am html \
754+ html-am info info-am install install-am install-data \
755+ install-data-am install-dvi install-dvi-am install-exec \
756+ install-exec-am install-html install-html-am install-info \
757+ install-info-am install-man install-pdf install-pdf-am \
758+ install-ps install-ps-am install-strip installcheck \
759+ installcheck-am installdirs installdirs-am maintainer-clean \
760+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
761+ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
762
763
764 # Tell versions [3.59,3.63) of GNU make to not export all variables.
765
766=== modified file 'NEWS'
767--- NEWS 2013-03-22 09:24:50 +0000
768+++ NEWS 2013-05-20 03:31:28 +0000
769@@ -1,7 +1,16 @@
770-Overview of changes in simple-scan 3.6.1
771-
772+Overview of changes in simple-scan 3.8.0
773+
774+ * Updated version
775+
776+Overview of changes in simple-scan 3.7.1
777+
778+ * Autosave document and restore on quit
779+ * Add controls for brightness and contrast
780 * Fix scan no longer working after an ADF scan completes
781+ * Use GLib 2.32 threading API
782 * Fix erroneous warning about failing to set ADF source
783+ * Updated help
784+ * Simplify build system
785
786 Overview of changes in simple-scan 3.6.0
787
788
789=== removed file 'README'
790--- README 2009-12-21 00:31:16 +0000
791+++ README 1970-01-01 00:00:00 +0000
792@@ -1,1 +0,0 @@
793-https://launchpad.net/simple-scan
794
795=== added file 'README.md'
796--- README.md 1970-01-01 00:00:00 +0000
797+++ README.md 2013-05-20 03:31:28 +0000
798@@ -0,0 +1,107 @@
799+# SIMPLE SCAN
800+
801+This is the source code to "Simple Scan" a simple GNOME scanning application,
802+using the sane scanning libraries.
803+
804+The Simple Scan homepage with further information is located at:
805+https://launchpad.net/simple-scan
806+
807+
808+
809+## BUILDING
810+
811+Unfortunatly Simple Scan is a little bit picky about dependencies when building.
812+The latest version of Simple Scan is primarily developed on
813+
814+* Ubuntu 12.04 LTS
815+
816+and know to successfully build using the following commands:
817+
818+```
819+bzr branch lp:simple-scan simple-scan && cd simple-scan
820+sudo apt-get build-dep simple-scan
821+sudo apt-get install valac-0.16 vala-0.16
822+sudo update-alternatives --config valac # select vala-0.16
823+
824+# one of the follwing
825+./autogen.sh # system-wide installation
826+./autogen.sh --prefix=`pwd`/install # for development purposes
827+
828+make
829+make install
830+./install/bin/simple-scan
831+```
832+
833+
834+## DEBUGGING
835+
836+The following tips might be helpful when debugging.
837+
838+There is a --debug command line switch to enable more verbose logging:
839+```
840+./install/bin/simple-scan --debug
841+```
842+
843+Log messages can also be found in the $HOME/.cache/simple-scan folder.
844+
845+Simple Scan config goes to $HOME/.gconf/apps/simple-scan/%gconf.xml
846+and that file is best edited with the gconf-editor tool.
847+
848+If you don't have a scanner ready, you can use a virtual "test" scanner:
849+```
850+./install/bin/simple-scan --debug test
851+```
852+
853+When debugging hardware issues always check xsane and especially scanimage.
854+
855+* http://xsane.org/
856+* http://www.sane-project.org/man/scanimage.1.html
857+
858+
859+
860+## CONTRIBUTING
861+
862+The preferred way to contribute code to Simple Scan is
863+to create a merge request on Launchpad.
864+
865+* Creating a merge request on Launchpad involves creating an account:
866+https://login.launchpad.net/+new_account
867+* You need set up a SSH key with Launchpad:
868+https://launchpad.net/~/+editsshkeys
869+* How to configure bazaar (whoami) and create commits:
870+http://doc.bazaar.canonical.com/latest/en/mini-tutorial/
871+* Push the changes to a personal repository on Launchpad:
872+bzr push lp:~$USER/simple-scan/$BRANCHNAME
873+where $USER is your Launchpad Id and $COMMENT is a newly created branch name.
874+* Propose merging your new branch to the master branch on:
875+https://code.launchpad.net/~
876+
877+If everything is set up correctly the following should work:
878+```
879+FEATURE="foobar"
880+LAUNCHPADID="name"
881+bzr branch lp:simple-scan simple-scan-$FEATURE && cd simple-scan-$FEATURE
882+bzr add .
883+bzr commit -m "add $FEATURE"
884+bzr push lp:~$LAUNCHPADID/simple-scan/$FEATURE
885+xdg-open "https://code.launchpad.net/~"
886+```
887+
888+If this does not work for you, feel free to contact us
889+via one of the channels listed below.
890+
891+
892+
893+## CONTACT
894+
895+### Websites
896+* https://launchpad.net/simple-scan
897+* https://bugs.launchpad.net/simple-scan
898+* https://answers.launchpad.net/simple-scan
899+
900+### Mailing Lists
901+* https://launchpad.net/~simple-scan-users
902+* https://launchpad.net/~simple-scan-team
903+
904+### IRC
905+* Freenode (irc.ubuntu.com): #simple-scan
906
907=== modified file 'aclocal.m4'
908--- aclocal.m4 2013-01-16 00:03:37 +0000
909+++ aclocal.m4 2013-05-20 03:31:28 +0000
910@@ -1159,18 +1159,6 @@
911 [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
912 ])
913
914-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
915-# Free Software Foundation, Inc.
916-#
917-# This file is free software; the Free Software Foundation
918-# gives unlimited permission to copy and/or distribute it,
919-# with or without modifications, as long as this notice is preserved.
920-
921-# serial 8
922-
923-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
924-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
925-
926 # Do all the work for Automake. -*- Autoconf -*-
927
928 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
929
930=== removed file 'config.h.in'
931--- config.h.in 2011-08-22 14:39:00 +0000
932+++ config.h.in 1970-01-01 00:00:00 +0000
933@@ -1,67 +0,0 @@
934-/* config.h.in. Generated from configure.ac by autoheader. */
935-
936-/* Define to 1 if you have the <inttypes.h> header file. */
937-#undef HAVE_INTTYPES_H
938-
939-/* Define to 1 if you have the <jpeglib.h> header file. */
940-#undef HAVE_JPEGLIB_H
941-
942-/* Define to 1 if you have the <memory.h> header file. */
943-#undef HAVE_MEMORY_H
944-
945-/* Define to 1 if you have the <sane/saneopts.h> header file. */
946-#undef HAVE_SANE_SANEOPTS_H
947-
948-/* Define to 1 if you have the <sane/sane.h> header file. */
949-#undef HAVE_SANE_SANE_H
950-
951-/* Define to 1 if you have the <stdint.h> header file. */
952-#undef HAVE_STDINT_H
953-
954-/* Define to 1 if you have the <stdlib.h> header file. */
955-#undef HAVE_STDLIB_H
956-
957-/* Define to 1 if you have the <strings.h> header file. */
958-#undef HAVE_STRINGS_H
959-
960-/* Define to 1 if you have the <string.h> header file. */
961-#undef HAVE_STRING_H
962-
963-/* Define to 1 if you have the <sys/stat.h> header file. */
964-#undef HAVE_SYS_STAT_H
965-
966-/* Define to 1 if you have the <sys/types.h> header file. */
967-#undef HAVE_SYS_TYPES_H
968-
969-/* Define to 1 if you have the <unistd.h> header file. */
970-#undef HAVE_UNISTD_H
971-
972-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
973-#undef NO_MINUS_C_MINUS_O
974-
975-/* Name of package */
976-#undef PACKAGE
977-
978-/* Define to the address where bug reports for this package should be sent. */
979-#undef PACKAGE_BUGREPORT
980-
981-/* Define to the full name of this package. */
982-#undef PACKAGE_NAME
983-
984-/* Define to the full name and version of this package. */
985-#undef PACKAGE_STRING
986-
987-/* Define to the one symbol short name of this package. */
988-#undef PACKAGE_TARNAME
989-
990-/* Define to the home page for this package. */
991-#undef PACKAGE_URL
992-
993-/* Define to the version of this package. */
994-#undef PACKAGE_VERSION
995-
996-/* Define to 1 if you have the ANSI C header files. */
997-#undef STDC_HEADERS
998-
999-/* Version number of package */
1000-#undef VERSION
1001
1002=== modified file 'configure'
1003--- configure 2013-03-22 09:24:50 +0000
1004+++ configure 2013-05-20 03:31:28 +0000
1005@@ -1,6 +1,6 @@
1006 #! /bin/sh
1007 # Guess values for system-dependent variables and create Makefiles.
1008-# Generated by GNU Autoconf 2.69.
1009+# Generated by GNU Autoconf 2.69 for simple-scan 3.8.0.
1010 #
1011 #
1012 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
1013@@ -635,14 +635,13 @@
1014 MAKEFLAGS=
1015
1016 # Identity of this package.
1017-PACKAGE_NAME=
1018-PACKAGE_TARNAME=
1019-PACKAGE_VERSION=
1020-PACKAGE_STRING=
1021-PACKAGE_BUGREPORT=
1022-PACKAGE_URL=
1023+PACKAGE_NAME='simple-scan'
1024+PACKAGE_TARNAME='simple-scan'
1025+PACKAGE_VERSION='3.8.0'
1026+PACKAGE_STRING='simple-scan 3.8.0'
1027+PACKAGE_BUGREPORT=''
1028+PACKAGE_URL=''
1029
1030-ac_unique_file="configure.ac"
1031 # Factoring default headers for most tests.
1032 ac_includes_default="\
1033 #include <stdio.h>
1034@@ -725,6 +724,9 @@
1035 ITSTOOL
1036 HELP_DIR
1037 LN_S
1038+EGREP
1039+GREP
1040+CPP
1041 HAVE_COLORD_FALSE
1042 HAVE_COLORD_TRUE
1043 COLORD_LIBS
1044@@ -738,10 +740,6 @@
1045 PKG_CONFIG_PATH
1046 PKG_CONFIG
1047 GSETTINGS_DISABLE_SCHEMAS_COMPILE
1048-EGREP
1049-GREP
1050-CPP
1051-VALAC
1052 am__fastdepCC_FALSE
1053 am__fastdepCC_TRUE
1054 CCDEPMODE
1055@@ -759,14 +757,15 @@
1056 LDFLAGS
1057 CFLAGS
1058 CC
1059+VALAC
1060+DISABLE_DEPRECATED
1061+MAINT
1062+MAINTAINER_MODE_FALSE
1063+MAINTAINER_MODE_TRUE
1064 AM_BACKSLASH
1065 AM_DEFAULT_VERBOSITY
1066 AM_DEFAULT_V
1067 AM_V
1068-DISABLE_DEPRECATED
1069-MAINT
1070-MAINTAINER_MODE_FALSE
1071-MAINTAINER_MODE_TRUE
1072 am__untar
1073 am__tar
1074 AMTAR
1075@@ -831,8 +830,8 @@
1076 ac_subst_files=''
1077 ac_user_opts='
1078 enable_option_checking
1079+enable_silent_rules
1080 enable_maintainer_mode
1081-enable_silent_rules
1082 enable_dependency_tracking
1083 enable_schemas_compile
1084 with_help_dir
1085@@ -846,7 +845,6 @@
1086 LDFLAGS
1087 LIBS
1088 CPPFLAGS
1089-CPP
1090 PKG_CONFIG
1091 PKG_CONFIG_PATH
1092 PKG_CONFIG_LIBDIR
1093@@ -854,6 +852,7 @@
1094 SIMPLE_SCAN_LIBS
1095 COLORD_CFLAGS
1096 COLORD_LIBS
1097+CPP
1098 ITSTOOL
1099 XMLLINT'
1100
1101@@ -896,7 +895,7 @@
1102 localstatedir='${prefix}/var'
1103 includedir='${prefix}/include'
1104 oldincludedir='/usr/include'
1105-docdir='${datarootdir}/doc/${PACKAGE}'
1106+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
1107 infodir='${datarootdir}/info'
1108 htmldir='${docdir}'
1109 dvidir='${docdir}'
1110@@ -1396,7 +1395,7 @@
1111 # Omit some internal or obsolete options to make the list less imposing.
1112 # This message is too long to be a string in the A/UX 3.1 sh.
1113 cat <<_ACEOF
1114-\`configure' configures this package to adapt to many kinds of systems.
1115+\`configure' configures simple-scan 3.8.0 to adapt to many kinds of systems.
1116
1117 Usage: $0 [OPTION]... [VAR=VALUE]...
1118
1119@@ -1444,7 +1443,7 @@
1120 --infodir=DIR info documentation [DATAROOTDIR/info]
1121 --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
1122 --mandir=DIR man documentation [DATAROOTDIR/man]
1123- --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
1124+ --docdir=DIR documentation root [DATAROOTDIR/doc/simple-scan]
1125 --htmldir=DIR html documentation [DOCDIR]
1126 --dvidir=DIR dvi documentation [DOCDIR]
1127 --pdfdir=DIR pdf documentation [DOCDIR]
1128@@ -1461,17 +1460,19 @@
1129 fi
1130
1131 if test -n "$ac_init_help"; then
1132-
1133+ case $ac_init_help in
1134+ short | recursive ) echo "Configuration of simple-scan 3.8.0:";;
1135+ esac
1136 cat <<\_ACEOF
1137
1138 Optional Features:
1139 --disable-option-checking ignore unrecognized --enable/--with options
1140 --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
1141 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
1142+ --enable-silent-rules less verbose build output (undo: `make V=1')
1143+ --disable-silent-rules verbose build output (undo: `make V=0')
1144 --enable-maintainer-mode enable make rules and dependencies not useful
1145 (and sometimes confusing) to the casual installer
1146- --enable-silent-rules less verbose build output (undo: `make V=1')
1147- --disable-silent-rules verbose build output (undo: `make V=0')
1148 --disable-dependency-tracking speeds up one-time build
1149 --enable-dependency-tracking do not reject slow dependency extractors
1150 --disable-schemas-compile
1151@@ -1491,7 +1492,6 @@
1152 LIBS libraries to pass to the linker, e.g. -l<library>
1153 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
1154 you have headers in a nonstandard directory <include dir>
1155- CPP C preprocessor
1156 PKG_CONFIG path to pkg-config utility
1157 PKG_CONFIG_PATH
1158 directories to add to pkg-config's search path
1159@@ -1504,6 +1504,7 @@
1160 COLORD_CFLAGS
1161 C compiler flags for COLORD, overriding pkg-config
1162 COLORD_LIBS linker flags for COLORD, overriding pkg-config
1163+ CPP C preprocessor
1164 ITSTOOL Path to the `itstool` command
1165 XMLLINT Path to the `xmllint` command
1166
1167@@ -1573,7 +1574,7 @@
1168 test -n "$ac_init_help" && exit $ac_status
1169 if $ac_init_version; then
1170 cat <<\_ACEOF
1171-configure
1172+simple-scan configure 3.8.0
1173 generated by GNU Autoconf 2.69
1174
1175 Copyright (C) 2012 Free Software Foundation, Inc.
1176@@ -1625,52 +1626,6 @@
1177
1178 } # ac_fn_c_try_compile
1179
1180-# ac_fn_c_try_link LINENO
1181-# -----------------------
1182-# Try to link conftest.$ac_ext, and return whether this succeeded.
1183-ac_fn_c_try_link ()
1184-{
1185- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1186- rm -f conftest.$ac_objext conftest$ac_exeext
1187- if { { ac_try="$ac_link"
1188-case "(($ac_try" in
1189- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1190- *) ac_try_echo=$ac_try;;
1191-esac
1192-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1193-$as_echo "$ac_try_echo"; } >&5
1194- (eval "$ac_link") 2>conftest.err
1195- ac_status=$?
1196- if test -s conftest.err; then
1197- grep -v '^ *+' conftest.err >conftest.er1
1198- cat conftest.er1 >&5
1199- mv -f conftest.er1 conftest.err
1200- fi
1201- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1202- test $ac_status = 0; } && {
1203- test -z "$ac_c_werror_flag" ||
1204- test ! -s conftest.err
1205- } && test -s conftest$ac_exeext && {
1206- test "$cross_compiling" = yes ||
1207- test -x conftest$ac_exeext
1208- }; then :
1209- ac_retval=0
1210-else
1211- $as_echo "$as_me: failed program was:" >&5
1212-sed 's/^/| /' conftest.$ac_ext >&5
1213-
1214- ac_retval=1
1215-fi
1216- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
1217- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
1218- # interfere with the next link command; also delete a directory that is
1219- # left behind by Apple's compiler. We do this before executing the actions.
1220- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1221- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1222- as_fn_set_status $ac_retval
1223-
1224-} # ac_fn_c_try_link
1225-
1226 # ac_fn_c_try_cpp LINENO
1227 # ----------------------
1228 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1229@@ -1708,48 +1663,6 @@
1230
1231 } # ac_fn_c_try_cpp
1232
1233-# ac_fn_c_try_run LINENO
1234-# ----------------------
1235-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
1236-# that executables *can* be run.
1237-ac_fn_c_try_run ()
1238-{
1239- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1240- if { { ac_try="$ac_link"
1241-case "(($ac_try" in
1242- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1243- *) ac_try_echo=$ac_try;;
1244-esac
1245-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1246-$as_echo "$ac_try_echo"; } >&5
1247- (eval "$ac_link") 2>&5
1248- ac_status=$?
1249- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1250- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
1251- { { case "(($ac_try" in
1252- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1253- *) ac_try_echo=$ac_try;;
1254-esac
1255-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1256-$as_echo "$ac_try_echo"; } >&5
1257- (eval "$ac_try") 2>&5
1258- ac_status=$?
1259- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1260- test $ac_status = 0; }; }; then :
1261- ac_retval=0
1262-else
1263- $as_echo "$as_me: program exited with status $ac_status" >&5
1264- $as_echo "$as_me: failed program was:" >&5
1265-sed 's/^/| /' conftest.$ac_ext >&5
1266-
1267- ac_retval=$ac_status
1268-fi
1269- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1270- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1271- as_fn_set_status $ac_retval
1272-
1273-} # ac_fn_c_try_run
1274-
1275 # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
1276 # -------------------------------------------------------
1277 # Tests whether HEADER exists, giving a warning if it cannot be compiled using
1278@@ -1837,6 +1750,48 @@
1279
1280 } # ac_fn_c_check_header_mongrel
1281
1282+# ac_fn_c_try_run LINENO
1283+# ----------------------
1284+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
1285+# that executables *can* be run.
1286+ac_fn_c_try_run ()
1287+{
1288+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1289+ if { { ac_try="$ac_link"
1290+case "(($ac_try" in
1291+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1292+ *) ac_try_echo=$ac_try;;
1293+esac
1294+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1295+$as_echo "$ac_try_echo"; } >&5
1296+ (eval "$ac_link") 2>&5
1297+ ac_status=$?
1298+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1299+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
1300+ { { case "(($ac_try" in
1301+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1302+ *) ac_try_echo=$ac_try;;
1303+esac
1304+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1305+$as_echo "$ac_try_echo"; } >&5
1306+ (eval "$ac_try") 2>&5
1307+ ac_status=$?
1308+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1309+ test $ac_status = 0; }; }; then :
1310+ ac_retval=0
1311+else
1312+ $as_echo "$as_me: program exited with status $ac_status" >&5
1313+ $as_echo "$as_me: failed program was:" >&5
1314+sed 's/^/| /' conftest.$ac_ext >&5
1315+
1316+ ac_retval=$ac_status
1317+fi
1318+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1319+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1320+ as_fn_set_status $ac_retval
1321+
1322+} # ac_fn_c_try_run
1323+
1324 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
1325 # -------------------------------------------------------
1326 # Tests whether HEADER exists and can be compiled using the include files in
1327@@ -1868,6 +1823,52 @@
1328
1329 } # ac_fn_c_check_header_compile
1330
1331+# ac_fn_c_try_link LINENO
1332+# -----------------------
1333+# Try to link conftest.$ac_ext, and return whether this succeeded.
1334+ac_fn_c_try_link ()
1335+{
1336+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1337+ rm -f conftest.$ac_objext conftest$ac_exeext
1338+ if { { ac_try="$ac_link"
1339+case "(($ac_try" in
1340+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1341+ *) ac_try_echo=$ac_try;;
1342+esac
1343+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1344+$as_echo "$ac_try_echo"; } >&5
1345+ (eval "$ac_link") 2>conftest.err
1346+ ac_status=$?
1347+ if test -s conftest.err; then
1348+ grep -v '^ *+' conftest.err >conftest.er1
1349+ cat conftest.er1 >&5
1350+ mv -f conftest.er1 conftest.err
1351+ fi
1352+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1353+ test $ac_status = 0; } && {
1354+ test -z "$ac_c_werror_flag" ||
1355+ test ! -s conftest.err
1356+ } && test -s conftest$ac_exeext && {
1357+ test "$cross_compiling" = yes ||
1358+ test -x conftest$ac_exeext
1359+ }; then :
1360+ ac_retval=0
1361+else
1362+ $as_echo "$as_me: failed program was:" >&5
1363+sed 's/^/| /' conftest.$ac_ext >&5
1364+
1365+ ac_retval=1
1366+fi
1367+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
1368+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
1369+ # interfere with the next link command; also delete a directory that is
1370+ # left behind by Apple's compiler. We do this before executing the actions.
1371+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1372+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1373+ as_fn_set_status $ac_retval
1374+
1375+} # ac_fn_c_try_link
1376+
1377 # ac_fn_c_check_func LINENO FUNC VAR
1378 # ----------------------------------
1379 # Tests whether FUNC exists, setting the cache variable VAR accordingly
1380@@ -1938,7 +1939,7 @@
1381 This file contains any messages produced by compilers while
1382 running configure, to aid debugging if configure makes a mistake.
1383
1384-It was created by $as_me, which was
1385+It was created by simple-scan $as_me 3.8.0, which was
1386 generated by GNU Autoconf 2.69. Invocation command line was
1387
1388 $ $0 $@
1389@@ -2752,8 +2753,8 @@
1390
1391
1392 # Define the identity of the package.
1393- PACKAGE=simple-scan
1394- VERSION=3.6.1
1395+ PACKAGE='simple-scan'
1396+ VERSION='3.8.0'
1397
1398
1399 cat >>confdefs.h <<_ACEOF
1400@@ -2793,44 +2794,6 @@
1401
1402
1403
1404-ac_config_headers="$ac_config_headers config.h"
1405-
1406-
1407-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
1408-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
1409- # Check whether --enable-maintainer-mode was given.
1410-if test "${enable_maintainer_mode+set}" = set; then :
1411- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
1412-else
1413- USE_MAINTAINER_MODE=no
1414-fi
1415-
1416- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
1417-$as_echo "$USE_MAINTAINER_MODE" >&6; }
1418- if test $USE_MAINTAINER_MODE = yes; then
1419- MAINTAINER_MODE_TRUE=
1420- MAINTAINER_MODE_FALSE='#'
1421-else
1422- MAINTAINER_MODE_TRUE='#'
1423- MAINTAINER_MODE_FALSE=
1424-fi
1425-
1426- MAINT=$MAINTAINER_MODE_TRUE
1427-
1428-
1429-
1430-
1431-
1432- DISABLE_DEPRECATED=""
1433- if test $USE_MAINTAINER_MODE = yes; then
1434- DOMAINS="GCONF BONOBO BONOBO_UI GNOME LIBGLADE GNOME_VFS WNCK LIBSOUP"
1435- for DOMAIN in $DOMAINS; do
1436- DISABLE_DEPRECATED="$DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_SINGLE_INCLUDES"
1437- done
1438- fi
1439-
1440-
1441-
1442 # Check whether --enable-silent-rules was given.
1443 if test "${enable_silent_rules+set}" = set; then :
1444 enableval=$enable_silent_rules;
1445@@ -2871,6 +2834,110 @@
1446 AM_BACKSLASH='\'
1447
1448
1449+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
1450+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
1451+ # Check whether --enable-maintainer-mode was given.
1452+if test "${enable_maintainer_mode+set}" = set; then :
1453+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
1454+else
1455+ USE_MAINTAINER_MODE=no
1456+fi
1457+
1458+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
1459+$as_echo "$USE_MAINTAINER_MODE" >&6; }
1460+ if test $USE_MAINTAINER_MODE = yes; then
1461+ MAINTAINER_MODE_TRUE=
1462+ MAINTAINER_MODE_FALSE='#'
1463+else
1464+ MAINTAINER_MODE_TRUE='#'
1465+ MAINTAINER_MODE_FALSE=
1466+fi
1467+
1468+ MAINT=$MAINTAINER_MODE_TRUE
1469+
1470+
1471+
1472+
1473+
1474+ DISABLE_DEPRECATED=""
1475+ if test $USE_MAINTAINER_MODE = yes; then
1476+ DOMAINS="GCONF BONOBO BONOBO_UI GNOME LIBGLADE GNOME_VFS WNCK LIBSOUP"
1477+ for DOMAIN in $DOMAINS; do
1478+ DISABLE_DEPRECATED="$DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_SINGLE_INCLUDES"
1479+ done
1480+ fi
1481+
1482+
1483+
1484+
1485+# Extract the first word of "valac", so it can be a program name with args.
1486+set dummy valac; ac_word=$2
1487+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
1488+$as_echo_n "checking for $ac_word... " >&6; }
1489+if ${ac_cv_path_VALAC+:} false; then :
1490+ $as_echo_n "(cached) " >&6
1491+else
1492+ case $VALAC in
1493+ [\\/]* | ?:[\\/]*)
1494+ ac_cv_path_VALAC="$VALAC" # Let the user override the test with a path.
1495+ ;;
1496+ *)
1497+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1498+for as_dir in $PATH
1499+do
1500+ IFS=$as_save_IFS
1501+ test -z "$as_dir" && as_dir=.
1502+ for ac_exec_ext in '' $ac_executable_extensions; do
1503+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
1504+ ac_cv_path_VALAC="$as_dir/$ac_word$ac_exec_ext"
1505+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
1506+ break 2
1507+ fi
1508+done
1509+ done
1510+IFS=$as_save_IFS
1511+
1512+ ;;
1513+esac
1514+fi
1515+VALAC=$ac_cv_path_VALAC
1516+if test -n "$VALAC"; then
1517+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALAC" >&5
1518+$as_echo "$VALAC" >&6; }
1519+else
1520+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
1521+$as_echo "no" >&6; }
1522+fi
1523+
1524+
1525+ if test -z "$VALAC"; then :
1526+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No Vala compiler found. You will not be able to compile .vala source files." >&5
1527+$as_echo "$as_me: WARNING: No Vala compiler found. You will not be able to compile .vala source files." >&2;}
1528+else
1529+ if test -n "0.16.0"; then :
1530+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking $VALAC is at least version 0.16.0" >&5
1531+$as_echo_n "checking $VALAC is at least version 0.16.0... " >&6; }
1532+ am__vala_version=`$VALAC --version | sed 's/Vala *//'`
1533+ as_arg_v1=0.16.0
1534+as_arg_v2="$am__vala_version"
1535+awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
1536+case $? in #(
1537+ 1) :
1538+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
1539+$as_echo "yes" >&6; } ;; #(
1540+ 0) :
1541+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
1542+$as_echo "yes" >&6; } ;; #(
1543+ 2) :
1544+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
1545+$as_echo "no" >&6; }
1546+ as_fn_error $? "Vala 0.16.0 not found." "$LINENO" 5 ;; #(
1547+ *) :
1548+ ;;
1549+esac
1550+fi
1551+fi
1552+
1553 DEPDIR="${am__leading_dot}deps"
1554
1555 ac_config_commands="$ac_config_commands depfiles"
1556@@ -3851,131 +3918,6 @@
1557 fi
1558
1559
1560-
1561-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
1562-$as_echo_n "checking for library containing strerror... " >&6; }
1563-if ${ac_cv_search_strerror+:} false; then :
1564- $as_echo_n "(cached) " >&6
1565-else
1566- ac_func_search_save_LIBS=$LIBS
1567-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1568-/* end confdefs.h. */
1569-
1570-/* Override any GCC internal prototype to avoid an error.
1571- Use char because int might match the return type of a GCC
1572- builtin and then its argument prototype would still apply. */
1573-#ifdef __cplusplus
1574-extern "C"
1575-#endif
1576-char strerror ();
1577-int
1578-main ()
1579-{
1580-return strerror ();
1581- ;
1582- return 0;
1583-}
1584-_ACEOF
1585-for ac_lib in '' cposix; do
1586- if test -z "$ac_lib"; then
1587- ac_res="none required"
1588- else
1589- ac_res=-l$ac_lib
1590- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
1591- fi
1592- if ac_fn_c_try_link "$LINENO"; then :
1593- ac_cv_search_strerror=$ac_res
1594-fi
1595-rm -f core conftest.err conftest.$ac_objext \
1596- conftest$ac_exeext
1597- if ${ac_cv_search_strerror+:} false; then :
1598- break
1599-fi
1600-done
1601-if ${ac_cv_search_strerror+:} false; then :
1602-
1603-else
1604- ac_cv_search_strerror=no
1605-fi
1606-rm conftest.$ac_ext
1607-LIBS=$ac_func_search_save_LIBS
1608-fi
1609-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
1610-$as_echo "$ac_cv_search_strerror" >&6; }
1611-ac_res=$ac_cv_search_strerror
1612-if test "$ac_res" != no; then :
1613- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
1614-
1615-fi
1616-
1617-# Extract the first word of "valac", so it can be a program name with args.
1618-set dummy valac; ac_word=$2
1619-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
1620-$as_echo_n "checking for $ac_word... " >&6; }
1621-if ${ac_cv_path_VALAC+:} false; then :
1622- $as_echo_n "(cached) " >&6
1623-else
1624- case $VALAC in
1625- [\\/]* | ?:[\\/]*)
1626- ac_cv_path_VALAC="$VALAC" # Let the user override the test with a path.
1627- ;;
1628- *)
1629- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1630-for as_dir in $PATH
1631-do
1632- IFS=$as_save_IFS
1633- test -z "$as_dir" && as_dir=.
1634- for ac_exec_ext in '' $ac_executable_extensions; do
1635- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
1636- ac_cv_path_VALAC="$as_dir/$ac_word$ac_exec_ext"
1637- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
1638- break 2
1639- fi
1640-done
1641- done
1642-IFS=$as_save_IFS
1643-
1644- ;;
1645-esac
1646-fi
1647-VALAC=$ac_cv_path_VALAC
1648-if test -n "$VALAC"; then
1649- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALAC" >&5
1650-$as_echo "$VALAC" >&6; }
1651-else
1652- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
1653-$as_echo "no" >&6; }
1654-fi
1655-
1656-
1657- if test -z "$VALAC"; then :
1658- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No Vala compiler found. You will not be able to compile .vala source files." >&5
1659-$as_echo "$as_me: WARNING: No Vala compiler found. You will not be able to compile .vala source files." >&2;}
1660-else
1661- if test -n "0.16.0"; then :
1662- { $as_echo "$as_me:${as_lineno-$LINENO}: checking $VALAC is at least version 0.16.0" >&5
1663-$as_echo_n "checking $VALAC is at least version 0.16.0... " >&6; }
1664- am__vala_version=`$VALAC --version | sed 's/Vala *//'`
1665- as_arg_v1=0.16.0
1666-as_arg_v2="$am__vala_version"
1667-awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
1668-case $? in #(
1669- 1) :
1670- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
1671-$as_echo "yes" >&6; } ;; #(
1672- 0) :
1673- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
1674-$as_echo "yes" >&6; } ;; #(
1675- 2) :
1676- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
1677-$as_echo "no" >&6; }
1678- as_fn_error $? "Vala 0.16.0 not found." "$LINENO" 5 ;; #(
1679- *) :
1680- ;;
1681-esac
1682-fi
1683-fi
1684-
1685 if test "x$CC" != xcc; then
1686 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
1687 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
1688@@ -4102,386 +4044,6 @@
1689 fi
1690
1691
1692-ac_ext=c
1693-ac_cpp='$CPP $CPPFLAGS'
1694-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
1695-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
1696-ac_compiler_gnu=$ac_cv_c_compiler_gnu
1697-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
1698-$as_echo_n "checking how to run the C preprocessor... " >&6; }
1699-# On Suns, sometimes $CPP names a directory.
1700-if test -n "$CPP" && test -d "$CPP"; then
1701- CPP=
1702-fi
1703-if test -z "$CPP"; then
1704- if ${ac_cv_prog_CPP+:} false; then :
1705- $as_echo_n "(cached) " >&6
1706-else
1707- # Double quotes because CPP needs to be expanded
1708- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
1709- do
1710- ac_preproc_ok=false
1711-for ac_c_preproc_warn_flag in '' yes
1712-do
1713- # Use a header file that comes with gcc, so configuring glibc
1714- # with a fresh cross-compiler works.
1715- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
1716- # <limits.h> exists even on freestanding compilers.
1717- # On the NeXT, cc -E runs the code through the compiler's parser,
1718- # not just through cpp. "Syntax error" is here to catch this case.
1719- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1720-/* end confdefs.h. */
1721-#ifdef __STDC__
1722-# include <limits.h>
1723-#else
1724-# include <assert.h>
1725-#endif
1726- Syntax error
1727-_ACEOF
1728-if ac_fn_c_try_cpp "$LINENO"; then :
1729-
1730-else
1731- # Broken: fails on valid input.
1732-continue
1733-fi
1734-rm -f conftest.err conftest.i conftest.$ac_ext
1735-
1736- # OK, works on sane cases. Now check whether nonexistent headers
1737- # can be detected and how.
1738- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1739-/* end confdefs.h. */
1740-#include <ac_nonexistent.h>
1741-_ACEOF
1742-if ac_fn_c_try_cpp "$LINENO"; then :
1743- # Broken: success on invalid input.
1744-continue
1745-else
1746- # Passes both tests.
1747-ac_preproc_ok=:
1748-break
1749-fi
1750-rm -f conftest.err conftest.i conftest.$ac_ext
1751-
1752-done
1753-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
1754-rm -f conftest.i conftest.err conftest.$ac_ext
1755-if $ac_preproc_ok; then :
1756- break
1757-fi
1758-
1759- done
1760- ac_cv_prog_CPP=$CPP
1761-
1762-fi
1763- CPP=$ac_cv_prog_CPP
1764-else
1765- ac_cv_prog_CPP=$CPP
1766-fi
1767-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
1768-$as_echo "$CPP" >&6; }
1769-ac_preproc_ok=false
1770-for ac_c_preproc_warn_flag in '' yes
1771-do
1772- # Use a header file that comes with gcc, so configuring glibc
1773- # with a fresh cross-compiler works.
1774- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
1775- # <limits.h> exists even on freestanding compilers.
1776- # On the NeXT, cc -E runs the code through the compiler's parser,
1777- # not just through cpp. "Syntax error" is here to catch this case.
1778- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1779-/* end confdefs.h. */
1780-#ifdef __STDC__
1781-# include <limits.h>
1782-#else
1783-# include <assert.h>
1784-#endif
1785- Syntax error
1786-_ACEOF
1787-if ac_fn_c_try_cpp "$LINENO"; then :
1788-
1789-else
1790- # Broken: fails on valid input.
1791-continue
1792-fi
1793-rm -f conftest.err conftest.i conftest.$ac_ext
1794-
1795- # OK, works on sane cases. Now check whether nonexistent headers
1796- # can be detected and how.
1797- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1798-/* end confdefs.h. */
1799-#include <ac_nonexistent.h>
1800-_ACEOF
1801-if ac_fn_c_try_cpp "$LINENO"; then :
1802- # Broken: success on invalid input.
1803-continue
1804-else
1805- # Passes both tests.
1806-ac_preproc_ok=:
1807-break
1808-fi
1809-rm -f conftest.err conftest.i conftest.$ac_ext
1810-
1811-done
1812-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
1813-rm -f conftest.i conftest.err conftest.$ac_ext
1814-if $ac_preproc_ok; then :
1815-
1816-else
1817- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
1818-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
1819-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
1820-See \`config.log' for more details" "$LINENO" 5; }
1821-fi
1822-
1823-ac_ext=c
1824-ac_cpp='$CPP $CPPFLAGS'
1825-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
1826-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
1827-ac_compiler_gnu=$ac_cv_c_compiler_gnu
1828-
1829-
1830-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
1831-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
1832-if ${ac_cv_path_GREP+:} false; then :
1833- $as_echo_n "(cached) " >&6
1834-else
1835- if test -z "$GREP"; then
1836- ac_path_GREP_found=false
1837- # Loop through the user's path and test for each of PROGNAME-LIST
1838- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1839-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
1840-do
1841- IFS=$as_save_IFS
1842- test -z "$as_dir" && as_dir=.
1843- for ac_prog in grep ggrep; do
1844- for ac_exec_ext in '' $ac_executable_extensions; do
1845- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
1846- as_fn_executable_p "$ac_path_GREP" || continue
1847-# Check for GNU ac_path_GREP and select it if it is found.
1848- # Check for GNU $ac_path_GREP
1849-case `"$ac_path_GREP" --version 2>&1` in
1850-*GNU*)
1851- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
1852-*)
1853- ac_count=0
1854- $as_echo_n 0123456789 >"conftest.in"
1855- while :
1856- do
1857- cat "conftest.in" "conftest.in" >"conftest.tmp"
1858- mv "conftest.tmp" "conftest.in"
1859- cp "conftest.in" "conftest.nl"
1860- $as_echo 'GREP' >> "conftest.nl"
1861- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
1862- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
1863- as_fn_arith $ac_count + 1 && ac_count=$as_val
1864- if test $ac_count -gt ${ac_path_GREP_max-0}; then
1865- # Best one so far, save it but keep looking for a better one
1866- ac_cv_path_GREP="$ac_path_GREP"
1867- ac_path_GREP_max=$ac_count
1868- fi
1869- # 10*(2^10) chars as input seems more than enough
1870- test $ac_count -gt 10 && break
1871- done
1872- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
1873-esac
1874-
1875- $ac_path_GREP_found && break 3
1876- done
1877- done
1878- done
1879-IFS=$as_save_IFS
1880- if test -z "$ac_cv_path_GREP"; then
1881- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
1882- fi
1883-else
1884- ac_cv_path_GREP=$GREP
1885-fi
1886-
1887-fi
1888-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
1889-$as_echo "$ac_cv_path_GREP" >&6; }
1890- GREP="$ac_cv_path_GREP"
1891-
1892-
1893-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
1894-$as_echo_n "checking for egrep... " >&6; }
1895-if ${ac_cv_path_EGREP+:} false; then :
1896- $as_echo_n "(cached) " >&6
1897-else
1898- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
1899- then ac_cv_path_EGREP="$GREP -E"
1900- else
1901- if test -z "$EGREP"; then
1902- ac_path_EGREP_found=false
1903- # Loop through the user's path and test for each of PROGNAME-LIST
1904- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1905-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
1906-do
1907- IFS=$as_save_IFS
1908- test -z "$as_dir" && as_dir=.
1909- for ac_prog in egrep; do
1910- for ac_exec_ext in '' $ac_executable_extensions; do
1911- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
1912- as_fn_executable_p "$ac_path_EGREP" || continue
1913-# Check for GNU ac_path_EGREP and select it if it is found.
1914- # Check for GNU $ac_path_EGREP
1915-case `"$ac_path_EGREP" --version 2>&1` in
1916-*GNU*)
1917- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
1918-*)
1919- ac_count=0
1920- $as_echo_n 0123456789 >"conftest.in"
1921- while :
1922- do
1923- cat "conftest.in" "conftest.in" >"conftest.tmp"
1924- mv "conftest.tmp" "conftest.in"
1925- cp "conftest.in" "conftest.nl"
1926- $as_echo 'EGREP' >> "conftest.nl"
1927- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
1928- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
1929- as_fn_arith $ac_count + 1 && ac_count=$as_val
1930- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
1931- # Best one so far, save it but keep looking for a better one
1932- ac_cv_path_EGREP="$ac_path_EGREP"
1933- ac_path_EGREP_max=$ac_count
1934- fi
1935- # 10*(2^10) chars as input seems more than enough
1936- test $ac_count -gt 10 && break
1937- done
1938- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
1939-esac
1940-
1941- $ac_path_EGREP_found && break 3
1942- done
1943- done
1944- done
1945-IFS=$as_save_IFS
1946- if test -z "$ac_cv_path_EGREP"; then
1947- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
1948- fi
1949-else
1950- ac_cv_path_EGREP=$EGREP
1951-fi
1952-
1953- fi
1954-fi
1955-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
1956-$as_echo "$ac_cv_path_EGREP" >&6; }
1957- EGREP="$ac_cv_path_EGREP"
1958-
1959-
1960-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
1961-$as_echo_n "checking for ANSI C header files... " >&6; }
1962-if ${ac_cv_header_stdc+:} false; then :
1963- $as_echo_n "(cached) " >&6
1964-else
1965- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1966-/* end confdefs.h. */
1967-#include <stdlib.h>
1968-#include <stdarg.h>
1969-#include <string.h>
1970-#include <float.h>
1971-
1972-int
1973-main ()
1974-{
1975-
1976- ;
1977- return 0;
1978-}
1979-_ACEOF
1980-if ac_fn_c_try_compile "$LINENO"; then :
1981- ac_cv_header_stdc=yes
1982-else
1983- ac_cv_header_stdc=no
1984-fi
1985-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1986-
1987-if test $ac_cv_header_stdc = yes; then
1988- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
1989- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1990-/* end confdefs.h. */
1991-#include <string.h>
1992-
1993-_ACEOF
1994-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
1995- $EGREP "memchr" >/dev/null 2>&1; then :
1996-
1997-else
1998- ac_cv_header_stdc=no
1999-fi
2000-rm -f conftest*
2001-
2002-fi
2003-
2004-if test $ac_cv_header_stdc = yes; then
2005- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
2006- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2007-/* end confdefs.h. */
2008-#include <stdlib.h>
2009-
2010-_ACEOF
2011-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
2012- $EGREP "free" >/dev/null 2>&1; then :
2013-
2014-else
2015- ac_cv_header_stdc=no
2016-fi
2017-rm -f conftest*
2018-
2019-fi
2020-
2021-if test $ac_cv_header_stdc = yes; then
2022- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
2023- if test "$cross_compiling" = yes; then :
2024- :
2025-else
2026- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2027-/* end confdefs.h. */
2028-#include <ctype.h>
2029-#include <stdlib.h>
2030-#if ((' ' & 0x0FF) == 0x020)
2031-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
2032-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
2033-#else
2034-# define ISLOWER(c) \
2035- (('a' <= (c) && (c) <= 'i') \
2036- || ('j' <= (c) && (c) <= 'r') \
2037- || ('s' <= (c) && (c) <= 'z'))
2038-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
2039-#endif
2040-
2041-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
2042-int
2043-main ()
2044-{
2045- int i;
2046- for (i = 0; i < 256; i++)
2047- if (XOR (islower (i), ISLOWER (i))
2048- || toupper (i) != TOUPPER (i))
2049- return 2;
2050- return 0;
2051-}
2052-_ACEOF
2053-if ac_fn_c_try_run "$LINENO"; then :
2054-
2055-else
2056- ac_cv_header_stdc=no
2057-fi
2058-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
2059- conftest.$ac_objext conftest.beam conftest.$ac_ext
2060-fi
2061-
2062-fi
2063-fi
2064-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
2065-$as_echo "$ac_cv_header_stdc" >&6; }
2066-if test $ac_cv_header_stdc = yes; then
2067-
2068-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
2069-
2070-fi
2071-
2072
2073
2074
2075@@ -4728,6 +4290,7 @@
2076 elif test -n "$PKG_CONFIG"; then
2077 if test -n "$PKG_CONFIG" && \
2078 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
2079+ glib-2.0 >= 2.32
2080 gtk+-3.0
2081 gmodule-export-2.0
2082 gthread-2.0
2083@@ -4735,8 +4298,10 @@
2084 cairo
2085 gdk-pixbuf-2.0
2086 gudev-1.0
2087+ sqlite3
2088 \""; } >&5
2089 ($PKG_CONFIG --exists --print-errors "
2090+ glib-2.0 >= 2.32
2091 gtk+-3.0
2092 gmodule-export-2.0
2093 gthread-2.0
2094@@ -4744,11 +4309,13 @@
2095 cairo
2096 gdk-pixbuf-2.0
2097 gudev-1.0
2098+ sqlite3
2099 ") 2>&5
2100 ac_status=$?
2101 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2102 test $ac_status = 0; }; then
2103 pkg_cv_SIMPLE_SCAN_CFLAGS=`$PKG_CONFIG --cflags "
2104+ glib-2.0 >= 2.32
2105 gtk+-3.0
2106 gmodule-export-2.0
2107 gthread-2.0
2108@@ -4756,6 +4323,7 @@
2109 cairo
2110 gdk-pixbuf-2.0
2111 gudev-1.0
2112+ sqlite3
2113 " 2>/dev/null`
2114 test "x$?" != "x0" && pkg_failed=yes
2115 else
2116@@ -4769,6 +4337,7 @@
2117 elif test -n "$PKG_CONFIG"; then
2118 if test -n "$PKG_CONFIG" && \
2119 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
2120+ glib-2.0 >= 2.32
2121 gtk+-3.0
2122 gmodule-export-2.0
2123 gthread-2.0
2124@@ -4776,8 +4345,10 @@
2125 cairo
2126 gdk-pixbuf-2.0
2127 gudev-1.0
2128+ sqlite3
2129 \""; } >&5
2130 ($PKG_CONFIG --exists --print-errors "
2131+ glib-2.0 >= 2.32
2132 gtk+-3.0
2133 gmodule-export-2.0
2134 gthread-2.0
2135@@ -4785,11 +4356,13 @@
2136 cairo
2137 gdk-pixbuf-2.0
2138 gudev-1.0
2139+ sqlite3
2140 ") 2>&5
2141 ac_status=$?
2142 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2143 test $ac_status = 0; }; then
2144 pkg_cv_SIMPLE_SCAN_LIBS=`$PKG_CONFIG --libs "
2145+ glib-2.0 >= 2.32
2146 gtk+-3.0
2147 gmodule-export-2.0
2148 gthread-2.0
2149@@ -4797,6 +4370,7 @@
2150 cairo
2151 gdk-pixbuf-2.0
2152 gudev-1.0
2153+ sqlite3
2154 " 2>/dev/null`
2155 test "x$?" != "x0" && pkg_failed=yes
2156 else
2157@@ -4819,6 +4393,7 @@
2158 fi
2159 if test $_pkg_short_errors_supported = yes; then
2160 SIMPLE_SCAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "
2161+ glib-2.0 >= 2.32
2162 gtk+-3.0
2163 gmodule-export-2.0
2164 gthread-2.0
2165@@ -4826,9 +4401,11 @@
2166 cairo
2167 gdk-pixbuf-2.0
2168 gudev-1.0
2169+ sqlite3
2170 " 2>&1`
2171 else
2172 SIMPLE_SCAN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "
2173+ glib-2.0 >= 2.32
2174 gtk+-3.0
2175 gmodule-export-2.0
2176 gthread-2.0
2177@@ -4836,12 +4413,14 @@
2178 cairo
2179 gdk-pixbuf-2.0
2180 gudev-1.0
2181+ sqlite3
2182 " 2>&1`
2183 fi
2184 # Put the nasty error message in config.log where it belongs
2185 echo "$SIMPLE_SCAN_PKG_ERRORS" >&5
2186
2187 as_fn_error $? "Package requirements (
2188+ glib-2.0 >= 2.32
2189 gtk+-3.0
2190 gmodule-export-2.0
2191 gthread-2.0
2192@@ -4849,6 +4428,7 @@
2193 cairo
2194 gdk-pixbuf-2.0
2195 gudev-1.0
2196+ sqlite3
2197 ) were not met:
2198
2199 $SIMPLE_SCAN_PKG_ERRORS
2200@@ -4978,6 +4558,387 @@
2201 fi
2202
2203
2204+
2205+ac_ext=c
2206+ac_cpp='$CPP $CPPFLAGS'
2207+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2208+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2209+ac_compiler_gnu=$ac_cv_c_compiler_gnu
2210+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
2211+$as_echo_n "checking how to run the C preprocessor... " >&6; }
2212+# On Suns, sometimes $CPP names a directory.
2213+if test -n "$CPP" && test -d "$CPP"; then
2214+ CPP=
2215+fi
2216+if test -z "$CPP"; then
2217+ if ${ac_cv_prog_CPP+:} false; then :
2218+ $as_echo_n "(cached) " >&6
2219+else
2220+ # Double quotes because CPP needs to be expanded
2221+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
2222+ do
2223+ ac_preproc_ok=false
2224+for ac_c_preproc_warn_flag in '' yes
2225+do
2226+ # Use a header file that comes with gcc, so configuring glibc
2227+ # with a fresh cross-compiler works.
2228+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
2229+ # <limits.h> exists even on freestanding compilers.
2230+ # On the NeXT, cc -E runs the code through the compiler's parser,
2231+ # not just through cpp. "Syntax error" is here to catch this case.
2232+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2233+/* end confdefs.h. */
2234+#ifdef __STDC__
2235+# include <limits.h>
2236+#else
2237+# include <assert.h>
2238+#endif
2239+ Syntax error
2240+_ACEOF
2241+if ac_fn_c_try_cpp "$LINENO"; then :
2242+
2243+else
2244+ # Broken: fails on valid input.
2245+continue
2246+fi
2247+rm -f conftest.err conftest.i conftest.$ac_ext
2248+
2249+ # OK, works on sane cases. Now check whether nonexistent headers
2250+ # can be detected and how.
2251+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2252+/* end confdefs.h. */
2253+#include <ac_nonexistent.h>
2254+_ACEOF
2255+if ac_fn_c_try_cpp "$LINENO"; then :
2256+ # Broken: success on invalid input.
2257+continue
2258+else
2259+ # Passes both tests.
2260+ac_preproc_ok=:
2261+break
2262+fi
2263+rm -f conftest.err conftest.i conftest.$ac_ext
2264+
2265+done
2266+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
2267+rm -f conftest.i conftest.err conftest.$ac_ext
2268+if $ac_preproc_ok; then :
2269+ break
2270+fi
2271+
2272+ done
2273+ ac_cv_prog_CPP=$CPP
2274+
2275+fi
2276+ CPP=$ac_cv_prog_CPP
2277+else
2278+ ac_cv_prog_CPP=$CPP
2279+fi
2280+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
2281+$as_echo "$CPP" >&6; }
2282+ac_preproc_ok=false
2283+for ac_c_preproc_warn_flag in '' yes
2284+do
2285+ # Use a header file that comes with gcc, so configuring glibc
2286+ # with a fresh cross-compiler works.
2287+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
2288+ # <limits.h> exists even on freestanding compilers.
2289+ # On the NeXT, cc -E runs the code through the compiler's parser,
2290+ # not just through cpp. "Syntax error" is here to catch this case.
2291+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2292+/* end confdefs.h. */
2293+#ifdef __STDC__
2294+# include <limits.h>
2295+#else
2296+# include <assert.h>
2297+#endif
2298+ Syntax error
2299+_ACEOF
2300+if ac_fn_c_try_cpp "$LINENO"; then :
2301+
2302+else
2303+ # Broken: fails on valid input.
2304+continue
2305+fi
2306+rm -f conftest.err conftest.i conftest.$ac_ext
2307+
2308+ # OK, works on sane cases. Now check whether nonexistent headers
2309+ # can be detected and how.
2310+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2311+/* end confdefs.h. */
2312+#include <ac_nonexistent.h>
2313+_ACEOF
2314+if ac_fn_c_try_cpp "$LINENO"; then :
2315+ # Broken: success on invalid input.
2316+continue
2317+else
2318+ # Passes both tests.
2319+ac_preproc_ok=:
2320+break
2321+fi
2322+rm -f conftest.err conftest.i conftest.$ac_ext
2323+
2324+done
2325+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
2326+rm -f conftest.i conftest.err conftest.$ac_ext
2327+if $ac_preproc_ok; then :
2328+
2329+else
2330+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2331+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2332+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
2333+See \`config.log' for more details" "$LINENO" 5; }
2334+fi
2335+
2336+ac_ext=c
2337+ac_cpp='$CPP $CPPFLAGS'
2338+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2339+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2340+ac_compiler_gnu=$ac_cv_c_compiler_gnu
2341+
2342+
2343+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
2344+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
2345+if ${ac_cv_path_GREP+:} false; then :
2346+ $as_echo_n "(cached) " >&6
2347+else
2348+ if test -z "$GREP"; then
2349+ ac_path_GREP_found=false
2350+ # Loop through the user's path and test for each of PROGNAME-LIST
2351+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2352+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
2353+do
2354+ IFS=$as_save_IFS
2355+ test -z "$as_dir" && as_dir=.
2356+ for ac_prog in grep ggrep; do
2357+ for ac_exec_ext in '' $ac_executable_extensions; do
2358+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
2359+ as_fn_executable_p "$ac_path_GREP" || continue
2360+# Check for GNU ac_path_GREP and select it if it is found.
2361+ # Check for GNU $ac_path_GREP
2362+case `"$ac_path_GREP" --version 2>&1` in
2363+*GNU*)
2364+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
2365+*)
2366+ ac_count=0
2367+ $as_echo_n 0123456789 >"conftest.in"
2368+ while :
2369+ do
2370+ cat "conftest.in" "conftest.in" >"conftest.tmp"
2371+ mv "conftest.tmp" "conftest.in"
2372+ cp "conftest.in" "conftest.nl"
2373+ $as_echo 'GREP' >> "conftest.nl"
2374+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
2375+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
2376+ as_fn_arith $ac_count + 1 && ac_count=$as_val
2377+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
2378+ # Best one so far, save it but keep looking for a better one
2379+ ac_cv_path_GREP="$ac_path_GREP"
2380+ ac_path_GREP_max=$ac_count
2381+ fi
2382+ # 10*(2^10) chars as input seems more than enough
2383+ test $ac_count -gt 10 && break
2384+ done
2385+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
2386+esac
2387+
2388+ $ac_path_GREP_found && break 3
2389+ done
2390+ done
2391+ done
2392+IFS=$as_save_IFS
2393+ if test -z "$ac_cv_path_GREP"; then
2394+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
2395+ fi
2396+else
2397+ ac_cv_path_GREP=$GREP
2398+fi
2399+
2400+fi
2401+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
2402+$as_echo "$ac_cv_path_GREP" >&6; }
2403+ GREP="$ac_cv_path_GREP"
2404+
2405+
2406+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
2407+$as_echo_n "checking for egrep... " >&6; }
2408+if ${ac_cv_path_EGREP+:} false; then :
2409+ $as_echo_n "(cached) " >&6
2410+else
2411+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
2412+ then ac_cv_path_EGREP="$GREP -E"
2413+ else
2414+ if test -z "$EGREP"; then
2415+ ac_path_EGREP_found=false
2416+ # Loop through the user's path and test for each of PROGNAME-LIST
2417+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2418+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
2419+do
2420+ IFS=$as_save_IFS
2421+ test -z "$as_dir" && as_dir=.
2422+ for ac_prog in egrep; do
2423+ for ac_exec_ext in '' $ac_executable_extensions; do
2424+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
2425+ as_fn_executable_p "$ac_path_EGREP" || continue
2426+# Check for GNU ac_path_EGREP and select it if it is found.
2427+ # Check for GNU $ac_path_EGREP
2428+case `"$ac_path_EGREP" --version 2>&1` in
2429+*GNU*)
2430+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
2431+*)
2432+ ac_count=0
2433+ $as_echo_n 0123456789 >"conftest.in"
2434+ while :
2435+ do
2436+ cat "conftest.in" "conftest.in" >"conftest.tmp"
2437+ mv "conftest.tmp" "conftest.in"
2438+ cp "conftest.in" "conftest.nl"
2439+ $as_echo 'EGREP' >> "conftest.nl"
2440+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
2441+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
2442+ as_fn_arith $ac_count + 1 && ac_count=$as_val
2443+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
2444+ # Best one so far, save it but keep looking for a better one
2445+ ac_cv_path_EGREP="$ac_path_EGREP"
2446+ ac_path_EGREP_max=$ac_count
2447+ fi
2448+ # 10*(2^10) chars as input seems more than enough
2449+ test $ac_count -gt 10 && break
2450+ done
2451+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
2452+esac
2453+
2454+ $ac_path_EGREP_found && break 3
2455+ done
2456+ done
2457+ done
2458+IFS=$as_save_IFS
2459+ if test -z "$ac_cv_path_EGREP"; then
2460+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
2461+ fi
2462+else
2463+ ac_cv_path_EGREP=$EGREP
2464+fi
2465+
2466+ fi
2467+fi
2468+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
2469+$as_echo "$ac_cv_path_EGREP" >&6; }
2470+ EGREP="$ac_cv_path_EGREP"
2471+
2472+
2473+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
2474+$as_echo_n "checking for ANSI C header files... " >&6; }
2475+if ${ac_cv_header_stdc+:} false; then :
2476+ $as_echo_n "(cached) " >&6
2477+else
2478+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2479+/* end confdefs.h. */
2480+#include <stdlib.h>
2481+#include <stdarg.h>
2482+#include <string.h>
2483+#include <float.h>
2484+
2485+int
2486+main ()
2487+{
2488+
2489+ ;
2490+ return 0;
2491+}
2492+_ACEOF
2493+if ac_fn_c_try_compile "$LINENO"; then :
2494+ ac_cv_header_stdc=yes
2495+else
2496+ ac_cv_header_stdc=no
2497+fi
2498+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2499+
2500+if test $ac_cv_header_stdc = yes; then
2501+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
2502+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2503+/* end confdefs.h. */
2504+#include <string.h>
2505+
2506+_ACEOF
2507+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
2508+ $EGREP "memchr" >/dev/null 2>&1; then :
2509+
2510+else
2511+ ac_cv_header_stdc=no
2512+fi
2513+rm -f conftest*
2514+
2515+fi
2516+
2517+if test $ac_cv_header_stdc = yes; then
2518+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
2519+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2520+/* end confdefs.h. */
2521+#include <stdlib.h>
2522+
2523+_ACEOF
2524+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
2525+ $EGREP "free" >/dev/null 2>&1; then :
2526+
2527+else
2528+ ac_cv_header_stdc=no
2529+fi
2530+rm -f conftest*
2531+
2532+fi
2533+
2534+if test $ac_cv_header_stdc = yes; then
2535+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
2536+ if test "$cross_compiling" = yes; then :
2537+ :
2538+else
2539+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2540+/* end confdefs.h. */
2541+#include <ctype.h>
2542+#include <stdlib.h>
2543+#if ((' ' & 0x0FF) == 0x020)
2544+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
2545+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
2546+#else
2547+# define ISLOWER(c) \
2548+ (('a' <= (c) && (c) <= 'i') \
2549+ || ('j' <= (c) && (c) <= 'r') \
2550+ || ('s' <= (c) && (c) <= 'z'))
2551+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
2552+#endif
2553+
2554+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
2555+int
2556+main ()
2557+{
2558+ int i;
2559+ for (i = 0; i < 256; i++)
2560+ if (XOR (islower (i), ISLOWER (i))
2561+ || toupper (i) != TOUPPER (i))
2562+ return 2;
2563+ return 0;
2564+}
2565+_ACEOF
2566+if ac_fn_c_try_run "$LINENO"; then :
2567+
2568+else
2569+ ac_cv_header_stdc=no
2570+fi
2571+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
2572+ conftest.$ac_objext conftest.beam conftest.$ac_ext
2573+fi
2574+
2575+fi
2576+fi
2577+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
2578+$as_echo "$ac_cv_header_stdc" >&6; }
2579+if test $ac_cv_header_stdc = yes; then
2580+
2581+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
2582+
2583+fi
2584+
2585 # On IRIX 5.3, sys/types and inttypes.h are conflicting.
2586 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
2587 inttypes.h stdint.h unistd.h
2588@@ -5996,7 +5957,43 @@
2589 # Let make expand exec_prefix.
2590 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
2591
2592-DEFS=-DHAVE_CONFIG_H
2593+# Transform confdefs.h into DEFS.
2594+# Protect against shell expansion while executing Makefile rules.
2595+# Protect against Makefile macro expansion.
2596+#
2597+# If the first sed substitution is executed (which looks for macros that
2598+# take arguments), then branch to the quote section. Otherwise,
2599+# look for a macro that doesn't take arguments.
2600+ac_script='
2601+:mline
2602+/\\$/{
2603+ N
2604+ s,\\\n,,
2605+ b mline
2606+}
2607+t clear
2608+:clear
2609+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
2610+t quote
2611+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
2612+t quote
2613+b any
2614+:quote
2615+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
2616+s/\[/\\&/g
2617+s/\]/\\&/g
2618+s/\$/$$/g
2619+H
2620+:any
2621+${
2622+ g
2623+ s/^\n//
2624+ s/\n/ /g
2625+ p
2626+}
2627+'
2628+DEFS=`sed -n "$ac_script" confdefs.h`
2629+
2630
2631 ac_libobjs=
2632 ac_ltlibobjs=
2633@@ -6440,7 +6437,7 @@
2634 # report actual input values of CONFIG_FILES etc. instead of their
2635 # values after options handling.
2636 ac_log="
2637-This file was extended by $as_me, which was
2638+This file was extended by simple-scan $as_me 3.8.0, which was
2639 generated by GNU Autoconf 2.69. Invocation command line was
2640
2641 CONFIG_FILES = $CONFIG_FILES
2642@@ -6458,15 +6455,11 @@
2643 "*) set x $ac_config_files; shift; ac_config_files=$*;;
2644 esac
2645
2646-case $ac_config_headers in *"
2647-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
2648-esac
2649
2650
2651 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
2652 # Files that config.status was made for.
2653 config_files="$ac_config_files"
2654-config_headers="$ac_config_headers"
2655 config_commands="$ac_config_commands"
2656
2657 _ACEOF
2658@@ -6488,15 +6481,10 @@
2659 --recheck update $as_me by reconfiguring in the same conditions
2660 --file=FILE[:TEMPLATE]
2661 instantiate the configuration file FILE
2662- --header=FILE[:TEMPLATE]
2663- instantiate the configuration header FILE
2664
2665 Configuration files:
2666 $config_files
2667
2668-Configuration headers:
2669-$config_headers
2670-
2671 Configuration commands:
2672 $config_commands
2673
2674@@ -6506,7 +6494,7 @@
2675 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
2676 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
2677 ac_cs_version="\\
2678-config.status
2679+simple-scan config.status 3.8.0
2680 configured by $0, generated by GNU Autoconf 2.69,
2681 with options \\"\$ac_cs_config\\"
2682
2683@@ -6563,18 +6551,7 @@
2684 esac
2685 as_fn_append CONFIG_FILES " '$ac_optarg'"
2686 ac_need_defaults=false;;
2687- --header | --heade | --head | --hea )
2688- $ac_shift
2689- case $ac_optarg in
2690- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
2691- esac
2692- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
2693- ac_need_defaults=false;;
2694- --he | --h)
2695- # Conflict between --help and --header
2696- as_fn_error $? "ambiguous option: \`$1'
2697-Try \`$0 --help' for more information.";;
2698- --help | --hel | -h )
2699+ --he | --h | --help | --hel | -h )
2700 $as_echo "$ac_cs_usage"; exit ;;
2701 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2702 | -silent | --silent | --silen | --sile | --sil | --si | --s)
2703@@ -6635,7 +6612,6 @@
2704 for ac_config_target in $ac_config_targets
2705 do
2706 case $ac_config_target in
2707- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
2708 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
2709 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
2710 "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
2711@@ -6656,7 +6632,6 @@
2712 # bizarre bug on SunOS 4.1.3.
2713 if $ac_need_defaults; then
2714 test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
2715- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
2716 test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
2717 fi
2718
2719@@ -6845,116 +6820,8 @@
2720 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
2721 fi # test -n "$CONFIG_FILES"
2722
2723-# Set up the scripts for CONFIG_HEADERS section.
2724-# No need to generate them if there are no CONFIG_HEADERS.
2725-# This happens for instance with `./config.status Makefile'.
2726-if test -n "$CONFIG_HEADERS"; then
2727-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
2728-BEGIN {
2729-_ACEOF
2730-
2731-# Transform confdefs.h into an awk script `defines.awk', embedded as
2732-# here-document in config.status, that substitutes the proper values into
2733-# config.h.in to produce config.h.
2734-
2735-# Create a delimiter string that does not exist in confdefs.h, to ease
2736-# handling of long lines.
2737-ac_delim='%!_!# '
2738-for ac_last_try in false false :; do
2739- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
2740- if test -z "$ac_tt"; then
2741- break
2742- elif $ac_last_try; then
2743- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
2744- else
2745- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
2746- fi
2747-done
2748-
2749-# For the awk script, D is an array of macro values keyed by name,
2750-# likewise P contains macro parameters if any. Preserve backslash
2751-# newline sequences.
2752-
2753-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
2754-sed -n '
2755-s/.\{148\}/&'"$ac_delim"'/g
2756-t rset
2757-:rset
2758-s/^[ ]*#[ ]*define[ ][ ]*/ /
2759-t def
2760-d
2761-:def
2762-s/\\$//
2763-t bsnl
2764-s/["\\]/\\&/g
2765-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
2766-D["\1"]=" \3"/p
2767-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
2768-d
2769-:bsnl
2770-s/["\\]/\\&/g
2771-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
2772-D["\1"]=" \3\\\\\\n"\\/p
2773-t cont
2774-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
2775-t cont
2776-d
2777-:cont
2778-n
2779-s/.\{148\}/&'"$ac_delim"'/g
2780-t clear
2781-:clear
2782-s/\\$//
2783-t bsnlc
2784-s/["\\]/\\&/g; s/^/"/; s/$/"/p
2785-d
2786-:bsnlc
2787-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
2788-b cont
2789-' <confdefs.h | sed '
2790-s/'"$ac_delim"'/"\\\
2791-"/g' >>$CONFIG_STATUS || ac_write_fail=1
2792-
2793-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
2794- for (key in D) D_is_set[key] = 1
2795- FS = ""
2796-}
2797-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
2798- line = \$ 0
2799- split(line, arg, " ")
2800- if (arg[1] == "#") {
2801- defundef = arg[2]
2802- mac1 = arg[3]
2803- } else {
2804- defundef = substr(arg[1], 2)
2805- mac1 = arg[2]
2806- }
2807- split(mac1, mac2, "(") #)
2808- macro = mac2[1]
2809- prefix = substr(line, 1, index(line, defundef) - 1)
2810- if (D_is_set[macro]) {
2811- # Preserve the white space surrounding the "#".
2812- print prefix "define", macro P[macro] D[macro]
2813- next
2814- } else {
2815- # Replace #undef with comments. This is necessary, for example,
2816- # in the case of _POSIX_SOURCE, which is predefined and required
2817- # on some systems where configure will not decide to define it.
2818- if (defundef == "undef") {
2819- print "/*", prefix defundef, macro, "*/"
2820- next
2821- }
2822- }
2823-}
2824-{ print }
2825-_ACAWK
2826-_ACEOF
2827-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
2828- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
2829-fi # test -n "$CONFIG_HEADERS"
2830-
2831-
2832-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
2833+
2834+eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
2835 shift
2836 for ac_tag
2837 do
2838@@ -7173,64 +7040,7 @@
2839 esac \
2840 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
2841 ;;
2842- :H)
2843- #
2844- # CONFIG_HEADER
2845- #
2846- if test x"$ac_file" != x-; then
2847- {
2848- $as_echo "/* $configure_input */" \
2849- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
2850- } >"$ac_tmp/config.h" \
2851- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
2852- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
2853- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
2854-$as_echo "$as_me: $ac_file is unchanged" >&6;}
2855- else
2856- rm -f "$ac_file"
2857- mv "$ac_tmp/config.h" "$ac_file" \
2858- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
2859- fi
2860- else
2861- $as_echo "/* $configure_input */" \
2862- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
2863- || as_fn_error $? "could not create -" "$LINENO" 5
2864- fi
2865-# Compute "$ac_file"'s index in $config_headers.
2866-_am_arg="$ac_file"
2867-_am_stamp_count=1
2868-for _am_header in $config_headers :; do
2869- case $_am_header in
2870- $_am_arg | $_am_arg:* )
2871- break ;;
2872- * )
2873- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
2874- esac
2875-done
2876-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
2877-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
2878- X"$_am_arg" : 'X\(//\)[^/]' \| \
2879- X"$_am_arg" : 'X\(//\)$' \| \
2880- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
2881-$as_echo X"$_am_arg" |
2882- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
2883- s//\1/
2884- q
2885- }
2886- /^X\(\/\/\)[^/].*/{
2887- s//\1/
2888- q
2889- }
2890- /^X\(\/\/\)$/{
2891- s//\1/
2892- q
2893- }
2894- /^X\(\/\).*/{
2895- s//\1/
2896- q
2897- }
2898- s/.*/./; q'`/stamp-h$_am_stamp_count
2899- ;;
2900+
2901
2902 :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
2903 $as_echo "$as_me: executing $ac_file commands" >&6;}
2904
2905=== modified file 'configure.ac'
2906--- configure.ac 2013-03-22 09:24:50 +0000
2907+++ configure.ac 2013-05-20 03:31:28 +0000
2908@@ -1,16 +1,13 @@
2909 dnl Process this file with autoconf to produce a configure script.
2910
2911-AC_INIT(configure.ac)
2912-AM_INIT_AUTOMAKE(simple-scan, 3.6.1)
2913-AM_CONFIG_HEADER(config.h)
2914+AC_INIT(simple-scan, 3.8.0)
2915+AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz foreign])
2916+AM_SILENT_RULES([yes])
2917 AM_MAINTAINER_MODE
2918 GNOME_MAINTAINER_MODE_DEFINES
2919-m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
2920
2921-AC_ISC_POSIX
2922 AM_PROG_VALAC([0.16.0])
2923 AM_PROG_CC_C_O
2924-AC_HEADER_STDC
2925
2926 GLIB_GSETTINGS
2927
2928@@ -23,6 +20,7 @@
2929 dnl * xdg-utils (for xdg-email)
2930
2931 PKG_CHECK_MODULES(SIMPLE_SCAN, [
2932+ glib-2.0 >= 2.32
2933 gtk+-3.0
2934 gmodule-export-2.0
2935 gthread-2.0
2936@@ -30,6 +28,7 @@
2937 cairo
2938 gdk-pixbuf-2.0
2939 gudev-1.0
2940+ sqlite3
2941 ])
2942
2943 PKG_CHECK_MODULES(COLORD, [
2944@@ -39,7 +38,6 @@
2945
2946 AC_CHECK_HEADERS([sane/sane.h],[],[AC_MSG_ERROR([SANE not found])])
2947 AC_CHECK_HEADERS([sane/saneopts.h],[],[AC_MSG_ERROR([SANE not found])])
2948-AC_CHECK_HEADERS([zlib.h],[],[AC_MSG_ERROR([ZLib not found])])
2949 AC_CHECK_HEADERS([jpeglib.h],[],[AC_MSG_ERROR([libjpeg not found])])
2950
2951 dnl ###########################################################################
2952
2953=== modified file 'data/Makefile.in'
2954--- data/Makefile.in 2012-09-25 16:17:39 +0000
2955+++ data/Makefile.in 2013-05-20 03:31:28 +0000
2956@@ -56,7 +56,6 @@
2957 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
2958 $(ACLOCAL_M4)
2959 mkinstalldirs = $(install_sh) -d
2960-CONFIG_HEADER = $(top_builddir)/config.h
2961 CONFIG_CLEAN_FILES =
2962 CONFIG_CLEAN_VPATH_FILES =
2963 AM_V_GEN = $(am__v_GEN_@AM_V@)
2964@@ -295,9 +294,9 @@
2965 exit 1;; \
2966 esac; \
2967 done; \
2968- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \
2969+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/Makefile'; \
2970 $(am__cd) $(top_srcdir) && \
2971- $(AUTOMAKE) --gnu data/Makefile
2972+ $(AUTOMAKE) --foreign data/Makefile
2973 .PRECIOUS: Makefile
2974 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
2975 @case '$?' in \
2976
2977=== modified file 'data/icons/Makefile.in'
2978--- data/icons/Makefile.in 2012-09-25 16:17:39 +0000
2979+++ data/icons/Makefile.in 2013-05-20 03:31:28 +0000
2980@@ -55,7 +55,6 @@
2981 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
2982 $(ACLOCAL_M4)
2983 mkinstalldirs = $(install_sh) -d
2984-CONFIG_HEADER = $(top_builddir)/config.h
2985 CONFIG_CLEAN_FILES =
2986 CONFIG_CLEAN_VPATH_FILES =
2987 AM_V_GEN = $(am__v_GEN_@AM_V@)
2988@@ -215,9 +214,9 @@
2989 exit 1;; \
2990 esac; \
2991 done; \
2992- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/icons/Makefile'; \
2993+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/icons/Makefile'; \
2994 $(am__cd) $(top_srcdir) && \
2995- $(AUTOMAKE) --gnu data/icons/Makefile
2996+ $(AUTOMAKE) --foreign data/icons/Makefile
2997 .PRECIOUS: Makefile
2998 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
2999 @case '$?' in \
3000
3001=== modified file 'data/org.gnome.SimpleScan.gschema.xml.in'
3002--- data/org.gnome.SimpleScan.gschema.xml.in 2011-08-22 14:39:00 +0000
3003+++ data/org.gnome.SimpleScan.gschema.xml.in 2013-05-20 03:31:28 +0000
3004@@ -63,6 +63,16 @@
3005 <_summary>Height of paper in tenths of a mm</_summary>
3006 <_description>The height of the paper in tenths of a mm (or 0 for automatic paper detection).</_description>
3007 </key>
3008+ <key name="brightness" type="i">
3009+ <default>0</default>
3010+ <_summary>Brightness of scan</_summary>
3011+ <_description>The brightness adjustment from -100 to 100 (0 being none).</_description>
3012+ </key>
3013+ <key name="contrast" type="i">
3014+ <default>0</default>
3015+ <_summary>Contrast of scan</_summary>
3016+ <_description>The contrast adjustment from -100 to 100 (0 being none).</_description>
3017+ </key>
3018 <key name="page-dpi" type="i">
3019 <default>72</default>
3020 <_summary>Resolution of last scanned image</_summary>
3021
3022=== modified file 'data/simple-scan.ui'
3023--- data/simple-scan.ui 2012-06-03 01:01:58 +0000
3024+++ data/simple-scan.ui 2013-05-20 03:31:28 +0000
3025@@ -676,7 +676,7 @@
3026 <object class="GtkTable" id="table3">
3027 <property name="visible">True</property>
3028 <property name="border_width">5</property>
3029- <property name="n_rows">5</property>
3030+ <property name="n_rows">7</property>
3031 <property name="n_columns">2</property>
3032 <property name="column_spacing">6</property>
3033 <property name="row_spacing">6</property>
3034@@ -818,6 +818,66 @@
3035 <property name="y_options">GTK_FILL</property>
3036 </packing>
3037 </child>
3038+ <child>
3039+ <object class="GtkLabel" id="brightness_label">
3040+ <property name="visible">True</property>
3041+ <property name="can_focus">False</property>
3042+ <property name="xalign">0</property>
3043+ <property name="label" translatable="yes" comments="Label beside brightness scale">Brightness:</property>
3044+ <property name="use_underline">True</property>
3045+ <property name="mnemonic_widget">brightness_adjustment</property>
3046+ </object>
3047+ <packing>
3048+ <property name="top_attach">5</property>
3049+ <property name="bottom_attach">6</property>
3050+ <property name="x_options">GTK_FILL</property>
3051+ <property name="y_options">GTK_FILL</property>
3052+ </packing>
3053+ </child>
3054+ <child>
3055+ <object class="GtkScale" id="brightness_scale">
3056+ <property name="visible">True</property>
3057+ <property name="can_focus">True</property>
3058+ <property name="adjustment">brightness_adjustment</property>
3059+ <property name="draw_value">False</property>
3060+ </object>
3061+ <packing>
3062+ <property name="left_attach">1</property>
3063+ <property name="right_attach">2</property>
3064+ <property name="top_attach">5</property>
3065+ <property name="bottom_attach">6</property>
3066+ </packing>
3067+ </child>
3068+ <child>
3069+ <object class="GtkLabel" id="contrast_label">
3070+ <property name="visible">True</property>
3071+ <property name="can_focus">False</property>
3072+ <property name="xalign">0</property>
3073+ <property name="label" translatable="yes" comments="Label beside contrast scale">Contrast:</property>
3074+ <property name="use_underline">True</property>
3075+ <property name="mnemonic_widget">contrast_scale</property>
3076+ </object>
3077+ <packing>
3078+ <property name="top_attach">6</property>
3079+ <property name="bottom_attach">7</property>
3080+ <property name="x_options">GTK_FILL</property>
3081+ <property name="y_options">GTK_FILL</property>
3082+ </packing>
3083+ </child>
3084+ <child>
3085+ <object class="GtkScale" id="contrast_scale">
3086+ <property name="visible">True</property>
3087+ <property name="can_focus">True</property>
3088+ <property name="adjustment">contrast_adjustment</property>
3089+ <property name="draw_value">False</property>
3090+ </object>
3091+ <packing>
3092+ <property name="left_attach">1</property>
3093+ <property name="right_attach">2</property>
3094+ <property name="top_attach">6</property>
3095+ <property name="bottom_attach">7</property>
3096+ </packing>
3097+ </child>
3098 </object>
3099 <packing>
3100 <property name="position">1</property>
3101@@ -954,4 +1014,16 @@
3102 <column type="gchararray"/>
3103 </columns>
3104 </object>
3105+ <object class="GtkAdjustment" id="brightness_adjustment">
3106+ <property name="lower">-100</property>
3107+ <property name="upper">100</property>
3108+ <property name="step_increment">1</property>
3109+ <property name="page_increment">10</property>
3110+ </object>
3111+ <object class="GtkAdjustment" id="contrast_adjustment">
3112+ <property name="lower">-100</property>
3113+ <property name="upper">100</property>
3114+ <property name="step_increment">1</property>
3115+ <property name="page_increment">10</property>
3116+ </object>
3117 </interface>
3118
3119=== modified file 'debian/changelog'
3120--- debian/changelog 2013-03-22 09:24:50 +0000
3121+++ debian/changelog 2013-05-20 03:31:28 +0000
3122@@ -1,3 +1,17 @@
3123+simple-scan (3.8.0-0ubuntu1) saucy; urgency=low
3124+
3125+ * New upstream release (LP: #1181896)
3126+ - Autosave document and restore on quit
3127+ - Add controls for brightness and contrast (LP: #669820)
3128+ - Fix scan no longer working after an ADF scan completes
3129+ - Use GLib 2.32 threading API
3130+ - Fix erroneous warning about failing to set ADF source
3131+ - Updated help
3132+ - Simplify build system
3133+ * debian/patches/01-zlib.patch: Dropped, zlib now has a pkg-config file
3134+
3135+ -- Matthew Fischer <matthew.fischer@canonical.com> Sun, 19 May 2013 20:02:39 -0600
3136+
3137 simple-scan (3.6.1-0ubuntu1) raring; urgency=low
3138
3139 * New upstream bugfix release:
3140
3141=== modified file 'debian/control'
3142--- debian/control 2013-01-16 00:03:37 +0000
3143+++ debian/control 2013-05-20 03:31:28 +0000
3144@@ -21,7 +21,7 @@
3145 python-scour,
3146 valac-0.16 | valac (>= 0.14.0),
3147 yelp-tools,
3148- zlib1g-dev
3149+ zlib1g-dev (>= 1.2.7)
3150 Homepage: https://launchpad.net/simple-scan
3151 Vcs-Git: git://anonscm.debian.org/collab-maint/simple-scan.git
3152 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/simple-scan.git
3153
3154=== removed directory 'debian/patches'
3155=== removed file 'debian/patches/01-zlib.patch'
3156--- debian/patches/01-zlib.patch 2012-04-04 21:14:45 +0000
3157+++ debian/patches/01-zlib.patch 1970-01-01 00:00:00 +0000
3158@@ -1,25 +0,0 @@
3159----
3160- configure.ac | 1 +
3161- src/Makefile.am | 1 +
3162- 2 files changed, 2 insertions(+)
3163-
3164---- simple-scan.orig/configure.ac
3165-+++ simple-scan/configure.ac
3166-@@ -39,6 +39,7 @@ AM_CONDITIONAL(HAVE_COLORD, test $have_c
3167-
3168- AC_CHECK_HEADERS([sane/sane.h],[],[AC_MSG_ERROR([SANE not found])])
3169- AC_CHECK_HEADERS([sane/saneopts.h],[],[AC_MSG_ERROR([SANE not found])])
3170-+AC_CHECK_HEADERS([zlib.h],[],[AC_MSG_ERROR([ZLib not found])])
3171- AC_CHECK_HEADERS([jpeglib.h],[],[AC_MSG_ERROR([libjpeg not found])])
3172-
3173- dnl ###########################################################################
3174---- simple-scan.orig/src/Makefile.am
3175-+++ simple-scan/src/Makefile.am
3176-@@ -40,6 +40,7 @@ simple_scan_LDADD = \
3177- $(COLORD_LIBS) \
3178- -lsane \
3179- -ljpeg \
3180-+ -lz \
3181- -lm
3182-
3183- CLEANFILES = \
3184
3185=== removed file 'debian/patches/series'
3186--- debian/patches/series 2012-06-03 01:01:58 +0000
3187+++ debian/patches/series 1970-01-01 00:00:00 +0000
3188@@ -1,1 +0,0 @@
3189-01-zlib.patch
3190
3191=== modified file 'help/C/adf.page'
3192--- help/C/adf.page 2010-03-15 17:32:51 +0000
3193+++ help/C/adf.page 2013-05-20 03:31:28 +0000
3194@@ -9,10 +9,44 @@
3195 <title>Using an Automatic Document Feeder</title>
3196
3197 <p>
3198- If your scanner has an Automatic Document Feeder (ADF) you can scan all the pages by selecting the <guiseq><gui>Document</gui><gui>Scan</gui><gui>All Pages From Feeder</gui></guiseq> menu.
3199+ If your scanner features an Automatic Document Feeder (ADF)
3200+ you can scan all the pages from the feeder via one of following methods:
3201 </p>
3202+ <steps>
3203+ <title></title>
3204+ <title>Use a Keyboard Shortcut</title>
3205+ <item>
3206+ <p>Press <keyseq><key>Ctrl</key><key>F</key></keyseq></p>
3207+ </item>
3208+ </steps>
3209+
3210+ <steps>
3211+ <title>Use a Menu</title>
3212+ <item>
3213+ <p>Navigate to <guiseq><gui>Document</gui>
3214+ <gui>Scan</gui><gui>All Pages From Feeder</gui></guiseq>.
3215+ </p>
3216+ </item>
3217+ </steps>
3218+
3219+ <steps>
3220+ <title>Use the Toolbar Buttons</title>
3221+ <item>
3222+ <p>Click on the arrow to the right of the "Scan" button.</p>
3223+ </item>
3224+ <item>
3225+ <p>Choose "All Pages From Feeder".</p>
3226+ <media type="image" src="figures/scan_toolbar.png"/>
3227+ </item>
3228+ </steps>
3229+
3230+
3231+ <note style="tip">
3232 <p>
3233- By default both sides of the paper will be scanned if your scanned supports this.
3234- Single side scanning can be configured from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
3235+ By default, both sides of a sheet will scan if your scanner has this capability.
3236+ You can choose single side scanning from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
3237 </p>
3238+ <media type="image" src="figures/preferences.png"/>
3239+ </note>
3240+
3241 </page>
3242
3243=== modified file 'help/C/crop.page'
3244--- help/C/crop.page 2010-02-17 10:50:05 +0000
3245+++ help/C/crop.page 2013-05-20 03:31:28 +0000
3246@@ -9,16 +9,37 @@
3247 <title>Cropping</title>
3248
3249 <p>
3250- To use only part of the scanned page enable crop by selecting the crop button in the toolbar.
3251- A mask will be shown over the current page with the area not being used shown in gray.
3252- </p>
3253- <p>
3254- The crop area can be adjusted by clicking on the inside of the crop area border and dragging the mouse.
3255- </p>
3256- <p>
3257- Fixed crop sizes can be chosen from the <guiseq><gui>Page</gui><gui>Crop</gui></guiseq> menu that match commonly used paper sizes.
3258- </p>
3259- <p>
3260- Each new page that is scanned will use the previous crop.
3261- </p>
3262+ The cropping feature in <app>Simple Scan</app> allows you to use only a part of a scanned image. You can
3263+ enable crop either before or after scanning a page, and you can always change the dimensions of the crop
3264+ frame. When crop is enabled, a mask will apper over the current page with the area not being used shown
3265+ in gray. You can enable crop and choose the desired dimensions via one of the following methods:
3266+ </p>
3267+
3268+ <steps>
3269+ <title>Use a Right Click</title>
3270+ <item><p>Right click anywhere on the image area and select "Crop".</p></item>
3271+ <item><p>Choose one of the fixed crop frames, or select "Custom" to manually
3272+ set the crop frame's dimensions by dragging its borders.</p></item>
3273+ <item><p>Click and hold the frame, then move it to the desired position.</p></item>
3274+ </steps>
3275+
3276+ <steps>
3277+ <title>Use a Menu</title>
3278+ <item><p>Navigate to the <guiseq><gui>Page</gui><gui>Crop</gui></guiseq> menu.</p></item>
3279+ <item><p>Choose one of the fixed crop frames, or select "Custom" to manually adjust the frame's dimensions by dragging its borders.</p></item>
3280+ <item><p>Click and hold the frame, then move it to the desired position.</p></item>
3281+ </steps>
3282+
3283+ <steps>
3284+ <title>Use the Toolbar</title>
3285+ <item><p>Click the "<gui>Crop</gui>" button in the toolbar.</p>
3286+ <note style="tip"><p>This is the same as choosing "Custom" in step 2 of the
3287+ aforementioned methods.</p></note></item>
3288+ <item><p>Drag the borders of the frame to set the desired dimensions and position.</p></item>
3289+
3290+ </steps>
3291+
3292+ <note><p>
3293+ Each new scanned page will use the previous crop.
3294+ </p></note>
3295 </page>
3296
3297=== modified file 'help/C/dpi.page'
3298--- help/C/dpi.page 2010-02-13 19:44:57 +0000
3299+++ help/C/dpi.page 2013-05-20 03:31:28 +0000
3300@@ -9,7 +9,49 @@
3301 <title>Setting the Scan Resolution</title>
3302
3303 <p>
3304- By default text documents will be scanned at 200 dots per inch (dpi) and photos at 400 dpi.
3305- To change these settings open the preferences from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
3306+ The default resolution for document type <gui><em>Text</em></gui> is 150 dpi (dots per inch)
3307+ and for document type <gui><em>Photo</em></gui> is 300 dpi. You can change these settings
3308+ from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
3309 </p>
3310+ <media type="image" src="figures/preferences.png"/>
3311+
3312+ <p>The available scanning resolutions for both document types (Text and Photo) are the same
3313+ and are listed in the following table:</p>
3314+
3315+ <table frame="bottom left right" rules="rows cols" shade="rows">
3316+ <tr>
3317+ <td><p><em>Text Resolution</em></p></td>
3318+ <td><p><em>Photo Resolution</em></p></td>
3319+ </tr>
3320+ <tr>
3321+ <td><p>75 dpi (draft)</p></td>
3322+ <td><p>75 dpi (draft)</p></td>
3323+ </tr>
3324+ <tr>
3325+ <td><p>150 dpi (default)</p></td>
3326+ <td><p>150 dpi</p></td>
3327+ </tr>
3328+ <tr>
3329+ <td><p>300 dpi</p></td>
3330+ <td><p>300 dpi (default)</p></td>
3331+ </tr>
3332+ <tr>
3333+ <td><p>600 dpi</p></td>
3334+ <td><p>600 dpi</p></td>
3335+ </tr>
3336+ <tr>
3337+ <td><p>1200 dpi (high resolution)</p></td>
3338+ <td><p>1200 dpi (high resolution)</p></td>
3339+ </tr>
3340+ <tr>
3341+ <td><p>2400 dpi</p></td>
3342+ <td><p>2400 dpi</p></td>
3343+ </tr>
3344+ </table>
3345+
3346+ <note style="important"><p><gui><em>Text</em></gui> documents are always scanned in black
3347+ and white, while <gui><em>Photo</em></gui> documents are always scanned in color, at any
3348+ resolution!</p>
3349+ </note>
3350+
3351 </page>
3352
3353=== modified file 'help/C/email.page'
3354--- help/C/email.page 2010-03-15 17:32:51 +0000
3355+++ help/C/email.page 2013-05-20 03:31:28 +0000
3356@@ -9,11 +9,14 @@
3357 <title>Sending via Email</title>
3358
3359 <p>
3360- To email the current document use the <guiseq><gui>Document</gui><gui>Email</gui></guiseq> menu (<keyseq><key>Ctrl</key><key>E</key></keyseq>).
3361- Your email program will be opened with a new message containing the scanned document as an attachment.
3362+ To email the current document use the <guiseq><gui>Document</gui><gui>Email</gui></guiseq>
3363+ menu (<keyseq><key>Ctrl</key><key>E</key></keyseq>). Your email program will be opened with
3364+ a new message containing the scanned document as an attachment.
3365 </p>
3366 <p>
3367- If the document type is set to text the email will have a PDF attachment otherwise the email will have a JPEG attachment for each page.
3368+ If the document type was set to "Text" the email will have a PDF attachment for each page.
3369+ Conversely, if the document type was set to "Photo", the email will have a JPEG
3370+ attachment for each page.
3371 </p>
3372 <p>
3373 See <link xref="save"/> for more information about file formats.
3374
3375=== modified file 'help/C/index.page'
3376--- help/C/index.page 2010-02-13 19:44:57 +0000
3377+++ help/C/index.page 2013-05-20 03:31:28 +0000
3378@@ -7,10 +7,14 @@
3379 <name>Robert Ancell</name>
3380 <email>robert.ancell@gmail.com</email>
3381 </credit>
3382+ <credit type="author">
3383+ <name>Ali Shtarbanov</name>
3384+ <email>ametedinov@gmail.com</email>
3385+ </credit>
3386 <include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude" />
3387 </info>
3388
3389- <title>Simple Scan Help</title>
3390+ <title><media type="image" src="figures/icon.png"/> Simple Scan Manual</title>
3391
3392 <section id="acquire" style="2column">
3393 <title>Scanning Pages</title>
3394@@ -23,4 +27,8 @@
3395 <section id="use" style="2column">
3396 <title>Using the Document</title>
3397 </section>
3398+
3399+ <section id="shortcuts" style="2column">
3400+ <title>Simple Scan Shortcuts</title>
3401+ </section>
3402 </page>
3403
3404=== modified file 'help/C/print.page'
3405--- help/C/print.page 2010-03-15 17:32:51 +0000
3406+++ help/C/print.page 2013-05-20 03:31:28 +0000
3407@@ -9,6 +9,22 @@
3408 <title>Printing</title>
3409
3410 <p>
3411- To print the current document use the <guiseq><gui>Document</gui><gui>Print</gui></guiseq> menu (<keyseq><key>Ctrl</key><key>P</key></keyseq>).
3412+ <app>Simple Scan</app> allows you print a scanned document directly from the its
3413+ interface, without having to save the document first. This feature makes <app>Simple
3414+ Scan</app> a very convenient tool for making copies of documents or photos.
3415 </p>
3416+ <steps>
3417+ <title>To Print a Document</title>
3418+ <item>
3419+ <p>Go to the <guiseq><gui>Document</gui><gui>Print</gui>
3420+ </guiseq> menu or use the keyboard shortcut <keyseq><key>Ctrl</key><key>P</key></keyseq>.
3421+ This will open the "Print" dialog box.
3422+ </p>
3423+ </item>
3424+ <item>
3425+ <p>From the "Print" dialog box choose your desired printing settings and/or Print Preview
3426+ the document, then press the "Print" button.
3427+ </p>
3428+ </item>
3429+ </steps>
3430 </page>
3431
3432=== modified file 'help/C/reorder.page'
3433--- help/C/reorder.page 2011-04-30 02:11:16 +0000
3434+++ help/C/reorder.page 2013-05-20 03:31:28 +0000
3435@@ -9,9 +9,13 @@
3436 <title>Reordering Pages</title>
3437
3438 <p>
3439- To move a page, select it and move the page left or right using the <key>&lt;</key> and <key>&gt;</key> keys.
3440- </p>
3441+ To move a page, right click on it and choose <gui><em>Move Left</em></gui> or
3442+ <gui><em>Move Right</em></gui>.
3443+ </p>
3444+
3445 <p>
3446- To remove the selected page use the <key>Delete</key> key.
3447- </p>
3448+ Alternatively, you can move a page by first selecting it and then choosing
3449+ <gui><em>Move Left</em></gui> or <gui><em>Move Right</em></gui> from the "Page" menu.
3450+ </p>
3451+
3452 </page>
3453
3454=== modified file 'help/C/rotate.page'
3455--- help/C/rotate.page 2010-02-13 19:44:57 +0000
3456+++ help/C/rotate.page 2013-05-20 03:31:28 +0000
3457@@ -6,10 +6,52 @@
3458 <link type="guide" xref="index#modify"/>
3459 </info>
3460
3461- <title>Rotating Pages</title>
3462+ <title>Rotating a Page</title>
3463
3464 <p>
3465- To rotate a page use the rotation buttons in the toolbar or the <key>[</key> and <key>]</key> keys.
3466- Each new page that is scanned will use the previous rotation.
3467+ In <app>Simple Scan</app>, you can change the rotation of a page either before or after scanning the page.
3468+ Currently, there are four ways to rotate a page:
3469 </p>
3470+
3471+ <steps>
3472+ <title>Use Toolbar Buttons</title>
3473+ <item><p>Select the page you want to rotate by clicking on it once.</p></item>
3474+ <item><p>Press one of the arrows on the toolbar to rotate the page in the desired direction.</p></item>
3475+ </steps>
3476+ <steps>
3477+ <title>Use Right Click</title>
3478+ <item><p>Right click on the page you want to rotate.</p></item>
3479+ <item><p>From the context menu choose "Rotate Left" or "Rotate Right".</p></item>
3480+ </steps>
3481+
3482+ <steps>
3483+ <title>Use a Menu</title>
3484+ <item><p>Select the page you want to rotate by clicking on it once.</p></item>
3485+ <item><p>Click the "Page" menu and select "Rotate Left" or "Rotate Right".</p></item>
3486+ </steps>
3487+
3488+ <steps>
3489+ <title>Use Shortcuts</title>
3490+ <item><p>Select the page you want to rotate by clicking on it once.</p></item>
3491+ <item><p>Press one of the following shortcut keys:</p>
3492+ <table frame="bottom left right" rules="rows cols" shade="rows">
3493+ <tr>
3494+ <td><p><em>Command</em></p></td>
3495+ <td><p><em>Shortcut Key</em></p></td>
3496+ </tr>
3497+ <tr>
3498+ <td><p>Rotate Left</p></td>
3499+ <td><p><key>[</key> (left bracket)</p></td>
3500+ </tr>
3501+ <tr>
3502+ <td><p>Rotate Right</p></td>
3503+ <td><p><key>]</key> (right bracket)</p></td>
3504+ </tr>
3505+ </table>
3506+ </item>
3507+ </steps>
3508+
3509+ <note><p>
3510+ Each new scanned page will use the previous rotation.
3511+ </p></note>
3512 </page>
3513
3514=== modified file 'help/C/save.page'
3515--- help/C/save.page 2010-03-15 17:32:51 +0000
3516+++ help/C/save.page 2013-05-20 03:31:28 +0000
3517@@ -8,25 +8,61 @@
3518
3519 <title>Saving to a File</title>
3520
3521- <p>
3522- To save the current document to a file use the <guiseq><gui>Document</gui><gui>Save</gui></guiseq> menu (<keyseq><key>Ctrl</key><key>S</key></keyseq>).
3523- When you save, there is a choice of three file types.
3524- </p>
3525- <terms>
3526- <item>
3527- <title>Portable Document Format (PDF)</title>
3528- <p>A PDF can contain multiple pages (like a book) and is easy to distribute to other people. Most people do not have software to modify PDF documents so this format is best used for archiving.</p>
3529- <p>Use this type if you have scanned multiple pages of text.</p>
3530- </item>
3531- <item>
3532- <title>JPEG</title>
3533- <p>JPEG file is the file format used by digital cameras and is very small and so easy to distribute. Most people have software to modify JPEG photos and this format is suitable for uploading to social networking sites. If you have scanned multiple pages then a JPEG file will be written for each page.</p>
3534- <p>Use this type if you want to modify or upload the scanned images.</p>
3535- </item>
3536- <item>
3537- <title>PNG</title>
3538- <p>PNG files contain the raw data from the scanner. This makes them much larger than JPEG files and not suitable for distributing. If you have scanned multiple pages then a PNG file will be written for each page.</p>
3539- <p>Use this type if you need high resolution files for editing</p>
3540- </item>
3541- </terms>
3542+ <steps>
3543+ <item>
3544+ <p>Navigate to the <guiseq><gui>Document</gui><gui>Save As</gui></guiseq> menu
3545+ (or press <keyseq><key>Shift</key><key>Ctrl</key><key>S</key></keyseq>).
3546+ </p>
3547+ </item>
3548+ <item>
3549+ <p>From the "Save As" dialog box, choose one of the supported file
3550+ types, or simply change the extension in the "Name" field.
3551+ </p>
3552+ </item>
3553+ <item>
3554+ <p>Press the "Save" button.</p>
3555+ </item>
3556+ </steps>
3557+
3558+
3559+<table frame="bottom left right top" rules="rows cols" shade="rows">
3560+ <title>Supported File Types</title>
3561+ <tr>
3562+ <td><p><em>Type</em></p></td>
3563+ <td><p><em>Brief Description</em></p></td>
3564+ </tr>
3565+ <tr>
3566+ <td><p>PDF</p></td>
3567+ <td><p>A PDF can contain multiple pages, like a book, and is easy to distribute. Only a small number
3568+ of linux programs can modify PDF documents, so this format is recommended primarily for archiving.
3569+ See the <link href="http://en.wikipedia.org/wiki/pdf">PDF Wiki page</link> for more information.
3570+ </p></td>
3571+ </tr>
3572+ <tr>
3573+ <td><p>JPEG</p></td>
3574+ <td><p>JPEG is the file format used by digital cameras to save pictures. A JPEG file is relatively
3575+ small, very easy to distribute, and suitable for uploading to social networking sites. Most operating
3576+ systems come with a JPEG editor by default. If you have scanned multiple pages, a JPEG file will be
3577+ created for each page. Use this file type if you want to modify or upload the scanned images.
3578+ See the <link href="http://en.wikipedia.org/wiki/jpeg">JPEG Wiki page</link> for more information.
3579+ </p></td>
3580+ </tr>
3581+ <tr>
3582+ <td><p>PNG</p></td>
3583+ <td><p>PNG files contain the raw data from the scanner. This makes them very large and not suitable
3584+ for distributing. If you have scanned multiple pages, a PNG file will be created for each page.
3585+ See the <link href="http://en.wikipedia.org/wiki/Portable_Network_Graphics">PNG Wiki page</link>
3586+ for more information.
3587+ </p></td>
3588+ </tr>
3589+ <tr>
3590+ <td><p>TIFF</p></td>
3591+ <td><p>TIFF files contain the raw data from the scanner. This makes them very large and not suitable
3592+ for distributing. If you have scanned multipe pages, a TIFF file will be created for each page.
3593+ See the <link href="http://en.wikipedia.org/wiki/Tagged_Image_File_Format">TIFF Wiki page</link>
3594+ for more information.
3595+ </p></td>
3596+ </tr>
3597+
3598+</table>
3599 </page>
3600
3601=== modified file 'help/C/scanner.page'
3602--- help/C/scanner.page 2010-02-13 19:44:57 +0000
3603+++ help/C/scanner.page 2013-05-20 03:31:28 +0000
3604@@ -9,11 +9,12 @@
3605 <title>Selecting a Scanner</title>
3606
3607 <p>
3608- If you have multiple scanners you can change which scanner is selected from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
3609+ If you have multiple scanning devices you can change the selected device from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
3610 </p>
3611-
3612+ <media type="image" src="figures/preferences.png"/>
3613 <p>
3614- Your local scanners are automatically detected each time you start <app>Simple Scan</app> and each time you plug in USB scanner.
3615- If you have a network scanner you will need to restart <app>Simple Scan</app> for it to be detected.
3616+ Your local scanners are automatically detected each time you start <app>Simple Scan</app>
3617+ and each time you plug in a USB scanner. If you connect a network scanner while <app>Simple Scan</app>
3618+ is running, you will need to restart <app>Simple Scan</app> for the scanner to be detected.
3619 </p>
3620 </page>
3621
3622=== modified file 'help/C/scanning.page'
3623--- help/C/scanning.page 2010-05-13 21:12:47 +0000
3624+++ help/C/scanning.page 2013-05-20 03:31:28 +0000
3625@@ -13,38 +13,23 @@
3626 To scan a document from your scanner:
3627 </p>
3628 <steps>
3629- <item>
3630- <p>
3631- Connect the scanner to your computer.
3632- </p>
3633- </item>
3634- <item>
3635- <p>
3636- Open <app>Simple Scan</app>.
3637- </p>
3638- </item>
3639- <item>
3640- <p>
3641- Press the scan button in the toolbar (or <keyseq><key>Ctrl</key><key>1</key></keyseq>).
3642- </p>
3643- </item>
3644+ <item><p>Connect the scanner to your computer and power it on.</p></item>
3645+ <item><p>Open <app>Simple Scan</app>.</p></item>
3646+ <item><p>Click the arrow to the right of the "Scan" button and choose the type
3647+ of document you are scanning: <em>Photo</em> or <em>Text</em>.</p>
3648+ <media type="image" src="figures/scan_toolbar.png"/></item>
3649+ <item><p>Click the "Scan" button on the toolbar (or press <keyseq><key>Ctrl</key><key>1</key></keyseq>).</p></item>
3650 </steps>
3651
3652- <p>
3653- The page will be shown as it is scanned.
3654- </p>
3655-
3656- <p>
3657- Each page you scan is added to the end of your document. To start a new document select <guiseq><gui>Document</gui><gui>New</gui></guiseq>.
3658- Individual pages can be deleted by right clicking a page or pressing the <key>Delete</key> key.
3659- </p>
3660-
3661- <p>
3662- The type of scan can be changed from the <guiseq><gui>Document</gui><gui>Scan</gui></guiseq> menu.
3663- Choose <gui>Text</gui> if you want the document to be quickly scanned in black and white or <gui>Photo</gui> for a high resolution color scan.
3664- </p>
3665-
3666- <p>
3667- To stop the scan at any time press <key>Escape</key>.
3668+ <note><p>
3669+ The page will be shown as it is scanned. To stop the scan at any time press the <key>Esc</key>
3670+ key on the keyboard. Each page you scan is placed at the end of the document.
3671+ </p></note>
3672+
3673+ <p>
3674+ The document type can be also be changed from the <guiseq><gui>Document</gui>
3675+ <gui>Scan</gui></guiseq> menu. Choose <gui><em>Text</em></gui> if you want the document
3676+ to be quickly scanned in black and white; choose <gui><em>Photo</em></gui> for a high
3677+ resolution color scan. See <link xref="dpi"/> for more details and more options.
3678 </p>
3679 </page>
3680
3681=== modified file 'help/Makefile.in'
3682--- help/Makefile.in 2013-01-16 00:03:37 +0000
3683+++ help/Makefile.in 2013-05-20 03:31:28 +0000
3684@@ -55,7 +55,6 @@
3685 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
3686 $(ACLOCAL_M4)
3687 mkinstalldirs = $(install_sh) -d
3688-CONFIG_HEADER = $(top_builddir)/config.h
3689 CONFIG_CLEAN_FILES =
3690 CONFIG_CLEAN_VPATH_FILES =
3691 AM_V_GEN = $(am__v_GEN_@AM_V@)
3692@@ -225,9 +224,9 @@
3693 exit 1;; \
3694 esac; \
3695 done; \
3696- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/Makefile'; \
3697+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign help/Makefile'; \
3698 $(am__cd) $(top_srcdir) && \
3699- $(AUTOMAKE) --gnu help/Makefile
3700+ $(AUTOMAKE) --foreign help/Makefile
3701 .PRECIOUS: Makefile
3702 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
3703 @case '$?' in \
3704
3705=== modified file 'help/de/adf.page'
3706--- help/de/adf.page 2013-01-16 00:03:37 +0000
3707+++ help/de/adf.page 2013-05-20 03:31:28 +0000
3708@@ -8,10 +8,44 @@
3709 <title>Verwendung eines automatischen Dokumenteneinzugs</title>
3710
3711 <p>
3712- If your scanner has an Automatic Document Feeder (ADF) you can scan all the pages by selecting the <guiseq><gui>Document</gui><gui>Scan</gui><gui>All Pages From Feeder</gui></guiseq> menu.
3713+ If your scanner features an Automatic Document Feeder (ADF)
3714+ you can scan all the pages from the feeder via one of following methods:
3715 </p>
3716+ <steps>
3717+ <title/>
3718+ <title>Use a Keyboard Shortcut</title>
3719+ <item>
3720+ <p>Press <keyseq><key>Ctrl</key><key>F</key></keyseq></p>
3721+ </item>
3722+ </steps>
3723+
3724+ <steps>
3725+ <title>Use a Menu</title>
3726+ <item>
3727+ <p>Navigate to <guiseq><gui>Document</gui>
3728+ <gui>Scan</gui><gui>All Pages From Feeder</gui></guiseq>.
3729+ </p>
3730+ </item>
3731+ </steps>
3732+
3733+ <steps>
3734+ <title>Use the Toolbar Buttons</title>
3735+ <item>
3736+ <p>Click on the arrow to the right of the "Scan" button.</p>
3737+ </item>
3738+ <item>
3739+ <p>Choose "All Pages From Feeder".</p>
3740+ <media type="image" src="figures/scan_toolbar.png"/>
3741+ </item>
3742+ </steps>
3743+
3744+
3745+ <note style="tip">
3746 <p>
3747- By default both sides of the paper will be scanned if your scanned supports this.
3748- Single side scanning can be configured from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
3749+ By default, both sides of a sheet will scan if your scanner has this capability.
3750+ You can choose single side scanning from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
3751 </p>
3752+ <media type="image" src="figures/preferences.png"/>
3753+ </note>
3754+
3755 </page>
3756
3757=== modified file 'help/de/crop.page'
3758--- help/de/crop.page 2013-01-16 00:03:37 +0000
3759+++ help/de/crop.page 2013-05-20 03:31:28 +0000
3760@@ -7,10 +7,38 @@
3761
3762 <title>Zuschneiden</title>
3763
3764- <p>Um nur einen Teil der eingescannten Seite zu verwenden, können Sie mit dem Zuschneiden-Knopf in der Werkzeugleiste diese auf die gewünschte Größe zuschneiden. Eine Maske wird über der aktuellen Seite angezeigt, wobei der nicht zu verwendende Teil in Grau dargestellt wird.</p>
3765- <p>Sie können den Zuschnittbereich anpassen, indem Sie innerhalb der Umrandung dieses Bereichs mit der Maus klicken und die Maus dann ziehen.</p>
3766 <p>
3767- Fixed crop sizes can be chosen from the <guiseq><gui>Page</gui><gui>Crop</gui></guiseq> menu that match commonly used paper sizes.
3768+ The cropping feature in <app>Simple Scan</app> allows you to use only a part of a scanned image. You can
3769+ enable crop either before or after scanning a page, and you can always change the dimensions of the crop
3770+ frame. When crop is enabled, a mask will apper over the current page with the area not being used shown
3771+ in gray. You can enable crop and choose the desired dimensions via one of the following methods:
3772 </p>
3773- <p>Jede neu eingescannte Seite verwendet den Zuschnitt der vorherigen Seite.</p>
3774+
3775+ <steps>
3776+ <title>Use a Right Click</title>
3777+ <item><p>Right click anywhere on the image area and select "Crop".</p></item>
3778+ <item><p>Choose one of the fixed crop frames, or select "Custom" to manually
3779+ set the crop frame's dimensions by dragging its borders.</p></item>
3780+ <item><p>Click and hold the frame, then move it to the desired position.</p></item>
3781+ </steps>
3782+
3783+ <steps>
3784+ <title>Use a Menu</title>
3785+ <item><p>Navigate to the <guiseq><gui>Page</gui><gui>Crop</gui></guiseq> menu.</p></item>
3786+ <item><p>Choose one of the fixed crop frames, or select "Custom" to manually adjust the frame's dimensions by dragging its borders.</p></item>
3787+ <item><p>Click and hold the frame, then move it to the desired position.</p></item>
3788+ </steps>
3789+
3790+ <steps>
3791+ <title>Use the Toolbar</title>
3792+ <item><p>Click the "<gui>Crop</gui>" button in the toolbar.</p>
3793+ <note style="tip"><p>This is the same as choosing "Custom" in step 2 of the
3794+ aforementioned methods.</p></note></item>
3795+ <item><p>Drag the borders of the frame to set the desired dimensions and position.</p></item>
3796+
3797+ </steps>
3798+
3799+ <note><p>
3800+ Each new scanned page will use the previous crop.
3801+ </p></note>
3802 </page>
3803
3804=== modified file 'help/de/dpi.page'
3805--- help/de/dpi.page 2013-01-16 00:03:37 +0000
3806+++ help/de/dpi.page 2013-05-20 03:31:28 +0000
3807@@ -8,7 +8,49 @@
3808 <title>Festlegen der Auflösung</title>
3809
3810 <p>
3811- By default text documents will be scanned at 200 dots per inch (dpi) and photos at 400 dpi.
3812- To change these settings open the preferences from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
3813+ The default resolution for document type <gui><em>Text</em></gui> is 150 dpi (dots per inch)
3814+ and for document type <gui><em>Photo</em></gui> is 300 dpi. You can change these settings
3815+ from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
3816 </p>
3817+ <media type="image" src="figures/preferences.png"/>
3818+
3819+ <p>The available scanning resolutions for both document types (Text and Photo) are the same
3820+ and are listed in the following table:</p>
3821+
3822+ <table frame="bottom left right" rules="rows cols" shade="rows">
3823+ <tr>
3824+ <td><p><em>Text Resolution</em></p></td>
3825+ <td><p><em>Photo Resolution</em></p></td>
3826+ </tr>
3827+ <tr>
3828+ <td><p>75 dpi (draft)</p></td>
3829+ <td><p>75 dpi (draft)</p></td>
3830+ </tr>
3831+ <tr>
3832+ <td><p>150 dpi (default)</p></td>
3833+ <td><p>150 dpi</p></td>
3834+ </tr>
3835+ <tr>
3836+ <td><p>300 dpi</p></td>
3837+ <td><p>300 dpi (default)</p></td>
3838+ </tr>
3839+ <tr>
3840+ <td><p>600 dpi</p></td>
3841+ <td><p>600 dpi</p></td>
3842+ </tr>
3843+ <tr>
3844+ <td><p>1200 dpi (high resolution)</p></td>
3845+ <td><p>1200 dpi (high resolution)</p></td>
3846+ </tr>
3847+ <tr>
3848+ <td><p>2400 dpi</p></td>
3849+ <td><p>2400 dpi</p></td>
3850+ </tr>
3851+ </table>
3852+
3853+ <note style="important"><p><gui><em>Text</em></gui> documents are always scanned in black
3854+ and white, while <gui><em>Photo</em></gui> documents are always scanned in color, at any
3855+ resolution!</p>
3856+ </note>
3857+
3858 </page>
3859
3860=== modified file 'help/de/email.page'
3861--- help/de/email.page 2013-01-16 00:03:37 +0000
3862+++ help/de/email.page 2013-05-20 03:31:28 +0000
3863@@ -8,9 +8,14 @@
3864 <title>Per E-Mail versenden</title>
3865
3866 <p>
3867- To email the current document use the <guiseq><gui>Document</gui><gui>Email</gui></guiseq> menu (<keyseq><key>Ctrl</key><key>E</key></keyseq>).
3868- Your email program will be opened with a new message containing the scanned document as an attachment.
3869- </p>
3870- <p>Falls der Dokumenttyp auf Text gesetzt ist, dann wird der E-Mail-Anhang im PDF-Format versendet, anderenfalls wird für jede Seite ein separater JPEG-Anhang erzeugt.</p>
3871+ To email the current document use the <guiseq><gui>Document</gui><gui>Email</gui></guiseq>
3872+ menu (<keyseq><key>Ctrl</key><key>E</key></keyseq>). Your email program will be opened with
3873+ a new message containing the scanned document as an attachment.
3874+ </p>
3875+ <p>
3876+ If the document type was set to "Text" the email will have a PDF attachment for each page.
3877+ Conversely, if the document type was set to "Photo", the email will have a JPEG
3878+ attachment for each page.
3879+ </p>
3880 <p>In <link xref="save"/> finden Sie weitere Informationen über Dateiformate.</p>
3881 </page>
3882
3883=== modified file 'help/de/index.page'
3884--- help/de/index.page 2013-01-16 00:03:37 +0000
3885+++ help/de/index.page 2013-05-20 03:31:28 +0000
3886@@ -6,10 +6,14 @@
3887 <name>Robert Ancell</name>
3888 <email>robert.ancell@gmail.com</email>
3889 </credit>
3890+ <credit type="author">
3891+ <name>Ali Shtarbanov</name>
3892+ <email>ametedinov@gmail.com</email>
3893+ </credit>
3894 <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
3895 </info>
3896
3897- <title>Hilfe zu Simple Scan</title>
3898+ <title><media type="image" src="figures/icon.png"/> Simple Scan Manual</title>
3899
3900 <section id="acquire" style="2column">
3901 <title>Scannen von Seiten</title>
3902@@ -22,4 +26,8 @@
3903 <section id="use" style="2column">
3904 <title>Das Dokument verwenden</title>
3905 </section>
3906+
3907+ <section id="shortcuts" style="2column">
3908+ <title>Simple Scan Shortcuts</title>
3909+ </section>
3910 </page>
3911
3912=== modified file 'help/de/print.page'
3913--- help/de/print.page 2013-01-16 00:03:37 +0000
3914+++ help/de/print.page 2013-05-20 03:31:28 +0000
3915@@ -8,6 +8,22 @@
3916 <title>Drucken</title>
3917
3918 <p>
3919- To print the current document use the <guiseq><gui>Document</gui><gui>Print</gui></guiseq> menu (<keyseq><key>Ctrl</key><key>P</key></keyseq>).
3920+ <app>Simple Scan</app> allows you print a scanned document directly from the its
3921+ interface, without having to save the document first. This feature makes <app>Simple
3922+ Scan</app> a very convenient tool for making copies of documents or photos.
3923 </p>
3924+ <steps>
3925+ <title>To Print a Document</title>
3926+ <item>
3927+ <p>Go to the <guiseq><gui>Document</gui><gui>Print</gui>
3928+ </guiseq> menu or use the keyboard shortcut <keyseq><key>Ctrl</key><key>P</key></keyseq>.
3929+ This will open the "Print" dialog box.
3930+ </p>
3931+ </item>
3932+ <item>
3933+ <p>From the "Print" dialog box choose your desired printing settings and/or Print Preview
3934+ the document, then press the "Print" button.
3935+ </p>
3936+ </item>
3937+ </steps>
3938 </page>
3939
3940=== modified file 'help/de/reorder.page'
3941--- help/de/reorder.page 2013-01-16 00:03:37 +0000
3942+++ help/de/reorder.page 2013-05-20 03:31:28 +0000
3943@@ -8,9 +8,13 @@
3944 <title>Seiten neu anordnen</title>
3945
3946 <p>
3947- To move a page, select it and move the page left or right using the <key>&lt;</key> and <key>&gt;</key> keys.
3948- </p>
3949+ To move a page, right click on it and choose <gui><em>Move Left</em></gui> or
3950+ <gui><em>Move Right</em></gui>.
3951+ </p>
3952+
3953 <p>
3954- To remove the selected page use the <key>Delete</key> key.
3955- </p>
3956+ Alternatively, you can move a page by first selecting it and then choosing
3957+ <gui><em>Move Left</em></gui> or <gui><em>Move Right</em></gui> from the "Page" menu.
3958+ </p>
3959+
3960 </page>
3961
3962=== modified file 'help/de/rotate.page'
3963--- help/de/rotate.page 2013-01-16 00:03:37 +0000
3964+++ help/de/rotate.page 2013-05-20 03:31:28 +0000
3965@@ -5,10 +5,52 @@
3966 <link type="guide" xref="index#modify"/>
3967 </info>
3968
3969- <title>Seiten drehen</title>
3970+ <title>Rotating a Page</title>
3971
3972 <p>
3973- To rotate a page use the rotation buttons in the toolbar or the <key>[</key> and <key>]</key> keys.
3974- Each new page that is scanned will use the previous rotation.
3975+ In <app>Simple Scan</app>, you can change the rotation of a page either before or after scanning the page.
3976+ Currently, there are four ways to rotate a page:
3977 </p>
3978+
3979+ <steps>
3980+ <title>Use Toolbar Buttons</title>
3981+ <item><p>Select the page you want to rotate by clicking on it once.</p></item>
3982+ <item><p>Press one of the arrows on the toolbar to rotate the page in the desired direction.</p></item>
3983+ </steps>
3984+ <steps>
3985+ <title>Use Right Click</title>
3986+ <item><p>Right click on the page you want to rotate.</p></item>
3987+ <item><p>From the context menu choose "Rotate Left" or "Rotate Right".</p></item>
3988+ </steps>
3989+
3990+ <steps>
3991+ <title>Use a Menu</title>
3992+ <item><p>Select the page you want to rotate by clicking on it once.</p></item>
3993+ <item><p>Click the "Page" menu and select "Rotate Left" or "Rotate Right".</p></item>
3994+ </steps>
3995+
3996+ <steps>
3997+ <title>Use Shortcuts</title>
3998+ <item><p>Select the page you want to rotate by clicking on it once.</p></item>
3999+ <item><p>Press one of the following shortcut keys:</p>
4000+ <table frame="bottom left right" rules="rows cols" shade="rows">
4001+ <tr>
4002+ <td><p><em>Command</em></p></td>
4003+ <td><p><em>Shortcut Key</em></p></td>
4004+ </tr>
4005+ <tr>
4006+ <td><p>Rotate Left</p></td>
4007+ <td><p><key>[</key> (left bracket)</p></td>
4008+ </tr>
4009+ <tr>
4010+ <td><p>Rotate Right</p></td>
4011+ <td><p><key>]</key> (right bracket)</p></td>
4012+ </tr>
4013+ </table>
4014+ </item>
4015+ </steps>
4016+
4017+ <note><p>
4018+ Each new scanned page will use the previous rotation.
4019+ </p></note>
4020 </page>
4021
4022=== modified file 'help/de/save.page'
4023--- help/de/save.page 2013-01-16 00:03:37 +0000
4024+++ help/de/save.page 2013-05-20 03:31:28 +0000
4025@@ -7,25 +7,61 @@
4026
4027 <title>Speichern in einer Datei</title>
4028
4029- <p>
4030- To save the current document to a file use the <guiseq><gui>Document</gui><gui>Save</gui></guiseq> menu (<keyseq><key>Ctrl</key><key>S</key></keyseq>).
4031- When you save, there is a choice of three file types.
4032- </p>
4033- <terms>
4034- <item>
4035- <title>Portable Document Format (PDF)</title>
4036- <p>Ein PDF kann mehrere Seiten enthalten (wie ein Buch) und lässt sich auf einfache Art und Weise an Andere weitergeben. Die meisten Benutzer verfügen nicht über Software zum Bearbeiten von PDF-Dokumenten, so dass sich dieses Format bestens zur Archivierung eignet.</p>
4037- <p>Verwenden Sie diesen Typ, wenn Sie mehrere Textseiten eingescannt haben.</p>
4038- </item>
4039- <item>
4040- <title>JPEG</title>
4041- <p>JPEG ist das von Digitalkameras verwendete Dateiformat. Es ist recht klein und bestens für die Weitergabe geeignet. Die meisten Benutzer verfügen über Software zum Bearbeiten von JPEG-Fotos, außerdem lässt es sich einfach auf Webseiten sozialer Netzwerke hochladen. Falls Sie mehrere Seiten eingescannt haben, wird für jede Seite eine JPEG-Datei erzeugt.</p>
4042- <p>Verwenden Sie diesen Typ, wenn Sie die eingescannten Bilder bearbeiten oder hochladen wollen.</p>
4043- </item>
4044- <item>
4045- <title>PNG</title>
4046- <p>PNG-Dateien enthalten die Rohdaten aus dem Scanner. Dadurch sind sie wesentlich größer als JPEG-Dateien und für die Weitergabe ungeeignet. Wenn Sie mehrere Seiten einscannen, wird für jede Seite eine PNG-Datei erzeugt.</p>
4047- <p>Verwenden Sie diesen Typ, wenn sie hochauflösende Dateien zur Weiterverarbeitung benötigen.</p>
4048- </item>
4049- </terms>
4050+ <steps>
4051+ <item>
4052+ <p>Navigate to the <guiseq><gui>Document</gui><gui>Save As</gui></guiseq> menu
4053+ (or press <keyseq><key>Shift</key><key>Ctrl</key><key>S</key></keyseq>).
4054+ </p>
4055+ </item>
4056+ <item>
4057+ <p>From the "Save As" dialog box, choose one of the supported file
4058+ types, or simply change the extension in the "Name" field.
4059+ </p>
4060+ </item>
4061+ <item>
4062+ <p>Press the "Save" button.</p>
4063+ </item>
4064+ </steps>
4065+
4066+
4067+<table frame="bottom left right top" rules="rows cols" shade="rows">
4068+ <title>Supported File Types</title>
4069+ <tr>
4070+ <td><p><em>Type</em></p></td>
4071+ <td><p><em>Brief Description</em></p></td>
4072+ </tr>
4073+ <tr>
4074+ <td><p>PDF</p></td>
4075+ <td><p>A PDF can contain multiple pages, like a book, and is easy to distribute. Only a small number
4076+ of linux programs can modify PDF documents, so this format is recommended primarily for archiving.
4077+ See the <link href="http://en.wikipedia.org/wiki/pdf">PDF Wiki page</link> for more information.
4078+ </p></td>
4079+ </tr>
4080+ <tr>
4081+ <td><p>JPEG</p></td>
4082+ <td><p>JPEG is the file format used by digital cameras to save pictures. A JPEG file is relatively
4083+ small, very easy to distribute, and suitable for uploading to social networking sites. Most operating
4084+ systems come with a JPEG editor by default. If you have scanned multiple pages, a JPEG file will be
4085+ created for each page. Use this file type if you want to modify or upload the scanned images.
4086+ See the <link href="http://en.wikipedia.org/wiki/jpeg">JPEG Wiki page</link> for more information.
4087+ </p></td>
4088+ </tr>
4089+ <tr>
4090+ <td><p>PNG</p></td>
4091+ <td><p>PNG files contain the raw data from the scanner. This makes them very large and not suitable
4092+ for distributing. If you have scanned multiple pages, a PNG file will be created for each page.
4093+ See the <link href="http://en.wikipedia.org/wiki/Portable_Network_Graphics">PNG Wiki page</link>
4094+ for more information.
4095+ </p></td>
4096+ </tr>
4097+ <tr>
4098+ <td><p>TIFF</p></td>
4099+ <td><p>TIFF files contain the raw data from the scanner. This makes them very large and not suitable
4100+ for distributing. If you have scanned multipe pages, a TIFF file will be created for each page.
4101+ See the <link href="http://en.wikipedia.org/wiki/Tagged_Image_File_Format">TIFF Wiki page</link>
4102+ for more information.
4103+ </p></td>
4104+ </tr>
4105+
4106+</table>
4107 </page>
4108
4109=== modified file 'help/de/scanner.page'
4110--- help/de/scanner.page 2013-01-16 00:03:37 +0000
4111+++ help/de/scanner.page 2013-05-20 03:31:28 +0000
4112@@ -8,11 +8,12 @@
4113 <title>Einen Scanner auswählen</title>
4114
4115 <p>
4116- If you have multiple scanners you can change which scanner is selected from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
4117+ If you have multiple scanning devices you can change the selected device from the <guiseq><gui>Document</gui><gui>Preferences</gui></guiseq> menu.
4118 </p>
4119-
4120+ <media type="image" src="figures/preferences.png"/>
4121 <p>
4122- Your local scanners are automatically detected each time you start <app>Simple Scan</app> and each time you plug in USB scanner.
4123- If you have a network scanner you will need to restart <app>Simple Scan</app> for it to be detected.
4124+ Your local scanners are automatically detected each time you start <app>Simple Scan</app>
4125+ and each time you plug in a USB scanner. If you connect a network scanner while <app>Simple Scan</app>
4126+ is running, you will need to restart <app>Simple Scan</app> for the scanner to be detected.
4127 </p>
4128 </page>
4129
4130=== modified file 'help/de/scanning.page'
4131--- help/de/scanning.page 2013-01-16 00:03:37 +0000
4132+++ help/de/scanning.page 2013-05-20 03:31:28 +0000
4133@@ -10,34 +10,23 @@
4134
4135 <p>So scannen Sie ein Dokument mit ihrem Scanner ein:</p>
4136 <steps>
4137- <item>
4138- <p>Schließen Sie den Scanner an Ihren Rechner an.</p>
4139- </item>
4140- <item>
4141- <p>
4142- Open <app>Simple Scan</app>.
4143- </p>
4144- </item>
4145- <item>
4146- <p>
4147- Press the scan button in the toolbar (or <keyseq><key>Ctrl</key><key>1</key></keyseq>).
4148- </p>
4149- </item>
4150+ <item><p>Connect the scanner to your computer and power it on.</p></item>
4151+ <item><p>Open <app>Simple Scan</app>.</p></item>
4152+ <item><p>Click the arrow to the right of the "Scan" button and choose the type
4153+ of document you are scanning: <em>Photo</em> or <em>Text</em>.</p>
4154+ <media type="image" src="figures/scan_toolbar.png"/></item>
4155+ <item><p>Click the "Scan" button on the toolbar (or press <keyseq><key>Ctrl</key><key>1</key></keyseq>).</p></item>
4156 </steps>
4157
4158- <p>Jede Seite wird so angezeigt, wie sie gescannt wurde.</p>
4159-
4160- <p>
4161- Each page you scan is added to the end of your document. To start a new document select <guiseq><gui>Document</gui><gui>New</gui></guiseq>.
4162- Individual pages can be deleted by right clicking a page or pressing the <key>Delete</key> key.
4163- </p>
4164-
4165- <p>
4166- The type of scan can be changed from the <guiseq><gui>Document</gui><gui>Scan</gui></guiseq> menu.
4167- Choose <gui>Text</gui> if you want the document to be quickly scanned in black and white or <gui>Photo</gui> for a high resolution color scan.
4168- </p>
4169-
4170- <p>
4171- To stop the scan at any time press <key>Escape</key>.
4172+ <note><p>
4173+ The page will be shown as it is scanned. To stop the scan at any time press the <key>Esc</key>
4174+ key on the keyboard. Each page you scan is placed at the end of the document.
4175+ </p></note>
4176+
4177+ <p>
4178+ The document type can be also be changed from the <guiseq><gui>Document</gui>
4179+ <gui>Scan</gui></guiseq> menu. Choose <gui><em>Text</em></gui> if you want the document
4180+ to be quickly scanned in black and white; choose <gui><em>Photo</em></gui> for a high
4181+ resolution color scan. See <link xref="dpi"/> for more details and more options.
4182 </p>
4183 </page>
4184
4185=== modified file 'src/Makefile.am'
4186--- src/Makefile.am 2012-05-21 14:48:40 +0000
4187+++ src/Makefile.am 2013-05-20 03:31:28 +0000
4188@@ -11,13 +11,16 @@
4189 sane.vapi \
4190 simple-scan.vala \
4191 scanner.vala \
4192- ui.vala
4193+ ui.vala \
4194+ autosave-manager.vala
4195
4196 simple_scan_VALAFLAGS = \
4197 --pkg=zlib \
4198 --pkg=gudev-1.0 \
4199 --pkg=gio-2.0 \
4200- --pkg=gtk+-3.0
4201+ --pkg=gtk+-3.0 \
4202+ --pkg=sqlite3 \
4203+ --target-glib 2.32
4204
4205 if HAVE_COLORD
4206 simple_scan_VALAFLAGS += -D HAVE_COLORD
4207@@ -40,7 +43,6 @@
4208 $(COLORD_LIBS) \
4209 -lsane \
4210 -ljpeg \
4211- -lz \
4212 -lm
4213
4214 CLEANFILES = \
4215
4216=== modified file 'src/Makefile.in'
4217--- src/Makefile.in 2012-09-25 16:17:39 +0000
4218+++ src/Makefile.in 2013-05-20 03:31:28 +0000
4219@@ -52,15 +52,14 @@
4220 bin_PROGRAMS = simple-scan$(EXEEXT)
4221 @HAVE_COLORD_TRUE@am__append_1 = -D HAVE_COLORD
4222 subdir = src
4223-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in book-view.c \
4224- book.c page-view.c page.c scanner.c simple-scan.c \
4225- simple_scan_vala.stamp ui.c
4226+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
4227+ autosave-manager.c book-view.c book.c page-view.c page.c \
4228+ scanner.c simple-scan.c simple_scan_vala.stamp ui.c
4229 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
4230 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
4231 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
4232 $(ACLOCAL_M4)
4233 mkinstalldirs = $(install_sh) -d
4234-CONFIG_HEADER = $(top_builddir)/config.h
4235 CONFIG_CLEAN_FILES =
4236 CONFIG_CLEAN_VPATH_FILES =
4237 am__installdirs = "$(DESTDIR)$(bindir)"
4238@@ -69,13 +68,14 @@
4239 simple_scan-book-view.$(OBJEXT) simple_scan-page.$(OBJEXT) \
4240 simple_scan-page-view.$(OBJEXT) \
4241 simple_scan-simple-scan.$(OBJEXT) \
4242- simple_scan-scanner.$(OBJEXT) simple_scan-ui.$(OBJEXT)
4243+ simple_scan-scanner.$(OBJEXT) simple_scan-ui.$(OBJEXT) \
4244+ simple_scan-autosave-manager.$(OBJEXT)
4245 simple_scan_OBJECTS = $(am_simple_scan_OBJECTS)
4246 am__DEPENDENCIES_1 =
4247 simple_scan_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
4248 simple_scan_LINK = $(CCLD) $(simple_scan_CFLAGS) $(CFLAGS) \
4249 $(AM_LDFLAGS) $(LDFLAGS) -o $@
4250-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
4251+DEFAULT_INCLUDES = -I.@am__isrc@
4252 depcomp = $(SHELL) $(top_srcdir)/depcomp
4253 am__depfiles_maybe = depfiles
4254 am__mv = mv -f
4255@@ -245,10 +245,12 @@
4256 sane.vapi \
4257 simple-scan.vala \
4258 scanner.vala \
4259- ui.vala
4260+ ui.vala \
4261+ autosave-manager.vala
4262
4263 simple_scan_VALAFLAGS = --pkg=zlib --pkg=gudev-1.0 --pkg=gio-2.0 \
4264- --pkg=gtk+-3.0 $(am__append_1)
4265+ --pkg=gtk+-3.0 --pkg=sqlite3 --target-glib 2.32 \
4266+ $(am__append_1)
4267 simple_scan_CFLAGS = \
4268 $(SIMPLE_SCAN_CFLAGS) \
4269 $(COLORD_CFLAGS) \
4270@@ -288,9 +290,9 @@
4271 exit 1;; \
4272 esac; \
4273 done; \
4274- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
4275+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
4276 $(am__cd) $(top_srcdir) && \
4277- $(AUTOMAKE) --gnu src/Makefile
4278+ $(AUTOMAKE) --foreign src/Makefile
4279 .PRECIOUS: Makefile
4280 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
4281 @case '$?' in \
4282@@ -359,6 +361,7 @@
4283 distclean-compile:
4284 -rm -f *.tab.c
4285
4286+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_scan-autosave-manager.Po@am__quote@
4287 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_scan-book-view.Po@am__quote@
4288 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_scan-book.Po@am__quote@
4289 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_scan-page-view.Po@am__quote@
4290@@ -478,6 +481,20 @@
4291 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ui.c' object='simple_scan-ui.obj' libtool=no @AMDEPBACKSLASH@
4292 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
4293 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_scan_CFLAGS) $(CFLAGS) -c -o simple_scan-ui.obj `if test -f 'ui.c'; then $(CYGPATH_W) 'ui.c'; else $(CYGPATH_W) '$(srcdir)/ui.c'; fi`
4294+
4295+simple_scan-autosave-manager.o: autosave-manager.c
4296+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_scan_CFLAGS) $(CFLAGS) -MT simple_scan-autosave-manager.o -MD -MP -MF $(DEPDIR)/simple_scan-autosave-manager.Tpo -c -o simple_scan-autosave-manager.o `test -f 'autosave-manager.c' || echo '$(srcdir)/'`autosave-manager.c
4297+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/simple_scan-autosave-manager.Tpo $(DEPDIR)/simple_scan-autosave-manager.Po
4298+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='autosave-manager.c' object='simple_scan-autosave-manager.o' libtool=no @AMDEPBACKSLASH@
4299+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
4300+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_scan_CFLAGS) $(CFLAGS) -c -o simple_scan-autosave-manager.o `test -f 'autosave-manager.c' || echo '$(srcdir)/'`autosave-manager.c
4301+
4302+simple_scan-autosave-manager.obj: autosave-manager.c
4303+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_scan_CFLAGS) $(CFLAGS) -MT simple_scan-autosave-manager.obj -MD -MP -MF $(DEPDIR)/simple_scan-autosave-manager.Tpo -c -o simple_scan-autosave-manager.obj `if test -f 'autosave-manager.c'; then $(CYGPATH_W) 'autosave-manager.c'; else $(CYGPATH_W) '$(srcdir)/autosave-manager.c'; fi`
4304+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/simple_scan-autosave-manager.Tpo $(DEPDIR)/simple_scan-autosave-manager.Po
4305+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='autosave-manager.c' object='simple_scan-autosave-manager.obj' libtool=no @AMDEPBACKSLASH@
4306+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
4307+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_scan_CFLAGS) $(CFLAGS) -c -o simple_scan-autosave-manager.obj `if test -f 'autosave-manager.c'; then $(CYGPATH_W) 'autosave-manager.c'; else $(CYGPATH_W) '$(srcdir)/autosave-manager.c'; fi`
4308 $(srcdir)/book.c: $(srcdir)/simple_scan_vala.stamp
4309 @if test -f $@; then :; else rm -f $(srcdir)/simple_scan_vala.stamp; fi
4310 @if test -f $@; then :; else \
4311@@ -513,9 +530,14 @@
4312 @if test -f $@; then :; else \
4313 $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/simple_scan_vala.stamp; \
4314 fi
4315-$(srcdir)/simple_scan_vala.stamp: config.vapi book.vala book-view.vala colord.vapi jpeglib.vapi page.vala page-view.vala sane.vapi simple-scan.vala scanner.vala ui.vala
4316+$(srcdir)/autosave-manager.c: $(srcdir)/simple_scan_vala.stamp
4317+ @if test -f $@; then :; else rm -f $(srcdir)/simple_scan_vala.stamp; fi
4318+ @if test -f $@; then :; else \
4319+ $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/simple_scan_vala.stamp; \
4320+ fi
4321+$(srcdir)/simple_scan_vala.stamp: config.vapi book.vala book-view.vala colord.vapi jpeglib.vapi page.vala page-view.vala sane.vapi simple-scan.vala scanner.vala ui.vala autosave-manager.vala
4322 $(AM_V_at)rm -f $@ && echo stamp > $@-t
4323- $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(simple_scan_VALAFLAGS) $(VALAFLAGS) -C config.vapi book.vala book-view.vala colord.vapi jpeglib.vapi page.vala page-view.vala sane.vapi simple-scan.vala scanner.vala ui.vala
4324+ $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(simple_scan_VALAFLAGS) $(VALAFLAGS) -C config.vapi book.vala book-view.vala colord.vapi jpeglib.vapi page.vala page-view.vala sane.vapi simple-scan.vala scanner.vala ui.vala autosave-manager.vala
4325 $(AM_V_at)mv -f $@-t $@
4326
4327 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
4328@@ -639,6 +661,7 @@
4329 maintainer-clean-generic:
4330 @echo "This command is intended for maintainers to use"
4331 @echo "it deletes files that may require special tools to rebuild."
4332+ -rm -f autosave-manager.c
4333 -rm -f book-view.c
4334 -rm -f book.c
4335 -rm -f page-view.c
4336
4337=== added file 'src/autosave-manager.c'
4338--- src/autosave-manager.c 1970-01-01 00:00:00 +0000
4339+++ src/autosave-manager.c 2013-05-20 03:31:28 +0000
4340@@ -0,0 +1,2156 @@
4341+/* autosave-manager.c generated by valac 0.18.1, the Vala compiler
4342+ * generated from autosave-manager.vala, do not modify */
4343+
4344+/*
4345+ * Copyright (C) 2011 Timo Kluck
4346+ * Author: Timo Kluck <tkluck@infty.nl>
4347+ *
4348+ * This program is free software: you can redistribute it and/or modify it under
4349+ * the terms of the GNU General Public License as published by the Free Software
4350+ * Foundation, either version 3 of the License, or (at your option) any later
4351+ * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
4352+ * license.
4353+ */
4354+/*
4355+ * We store autosaves in a database named
4356+ * ~/.cache/simple-scan/autosaves/autosaves.db
4357+ * It contains a single table of pages, each containing the process id (pid) of
4358+ * the simple-scan instance that saved it, and a hash of the Book and Page
4359+ * objects corresponding to it. The pixels are saved as a BLOB.
4360+ * Additionally, the autosaves directory contains a number of tiff files that
4361+ * the user can use for manual recovery.
4362+ *
4363+ * At startup, we check whether autosaves.db contains any records
4364+ * with a pid that does not match a current pid for simple-scan. If so, we take
4365+ * ownership by an UPDATE statement changing to our own pid. Then, we
4366+ * recover the book. We're trying our best to avoid the possible race
4367+ * condition if several instances of simple-scan are started simultaneously.
4368+ *
4369+ * At application exit, we delete the records corresponding to our own pid.
4370+ *
4371+ * Important notes:
4372+ * - We enforce that there is only one AutosaveManager instance in a given
4373+ * process by using a create function.
4374+ * - It should be possible to change the book object at runtime, although this
4375+ * is not used in the current implementation so it has not been tested.
4376+ */
4377+
4378+#include <glib.h>
4379+#include <glib-object.h>
4380+#include <sqlite3.h>
4381+#include <stdlib.h>
4382+#include <string.h>
4383+#include <unistd.h>
4384+#include <gio/gio.h>
4385+#include <float.h>
4386+#include <math.h>
4387+#include <gobject/gvaluecollector.h>
4388+
4389+
4390+#define TYPE_AUTOSAVE_MANAGER (autosave_manager_get_type ())
4391+#define AUTOSAVE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AUTOSAVE_MANAGER, AutosaveManager))
4392+#define AUTOSAVE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AUTOSAVE_MANAGER, AutosaveManagerClass))
4393+#define IS_AUTOSAVE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AUTOSAVE_MANAGER))
4394+#define IS_AUTOSAVE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AUTOSAVE_MANAGER))
4395+#define AUTOSAVE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AUTOSAVE_MANAGER, AutosaveManagerClass))
4396+
4397+typedef struct _AutosaveManager AutosaveManager;
4398+typedef struct _AutosaveManagerClass AutosaveManagerClass;
4399+typedef struct _AutosaveManagerPrivate AutosaveManagerPrivate;
4400+
4401+#define TYPE_BOOK (book_get_type ())
4402+#define BOOK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BOOK, Book))
4403+#define BOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BOOK, BookClass))
4404+#define IS_BOOK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BOOK))
4405+#define IS_BOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BOOK))
4406+#define BOOK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BOOK, BookClass))
4407+
4408+typedef struct _Book Book;
4409+typedef struct _BookClass BookClass;
4410+#define _sqlite3_close0(var) ((var == NULL) ? NULL : (var = (sqlite3_close (var), NULL)))
4411+#define _book_unref0(var) ((var == NULL) ? NULL : (var = (book_unref (var), NULL)))
4412+#define _autosave_manager_unref0(var) ((var == NULL) ? NULL : (var = (autosave_manager_unref (var), NULL)))
4413+#define _g_free0(var) (var = (g_free (var), NULL))
4414+#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL)))
4415+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
4416+
4417+#define TYPE_PAGE (page_get_type ())
4418+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
4419+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
4420+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
4421+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
4422+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
4423+
4424+typedef struct _Page Page;
4425+typedef struct _PageClass PageClass;
4426+#define _page_unref0(var) ((var == NULL) ? NULL : (var = (page_unref (var), NULL)))
4427+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
4428+
4429+#define TYPE_SCAN_DIRECTION (scan_direction_get_type ())
4430+
4431+#define TYPE_SCAN_PAGE_INFO (scan_page_info_get_type ())
4432+#define SCAN_PAGE_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCAN_PAGE_INFO, ScanPageInfo))
4433+#define SCAN_PAGE_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCAN_PAGE_INFO, ScanPageInfoClass))
4434+#define IS_SCAN_PAGE_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCAN_PAGE_INFO))
4435+#define IS_SCAN_PAGE_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCAN_PAGE_INFO))
4436+#define SCAN_PAGE_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCAN_PAGE_INFO, ScanPageInfoClass))
4437+
4438+typedef struct _ScanPageInfo ScanPageInfo;
4439+typedef struct _ScanPageInfoClass ScanPageInfoClass;
4440+typedef struct _ScanPageInfoPrivate ScanPageInfoPrivate;
4441+#define _scan_page_info_unref0(var) ((var == NULL) ? NULL : (var = (scan_page_info_unref (var), NULL)))
4442+typedef struct _ParamSpecAutosaveManager ParamSpecAutosaveManager;
4443+
4444+struct _AutosaveManager {
4445+ GTypeInstance parent_instance;
4446+ volatile int ref_count;
4447+ AutosaveManagerPrivate * priv;
4448+};
4449+
4450+struct _AutosaveManagerClass {
4451+ GTypeClass parent_class;
4452+ void (*finalize) (AutosaveManager *self);
4453+};
4454+
4455+struct _AutosaveManagerPrivate {
4456+ sqlite3* database_connection;
4457+ Book* _book;
4458+ gint cur_book_revision;
4459+};
4460+
4461+typedef enum {
4462+ SCAN_DIRECTION_TOP_TO_BOTTOM,
4463+ SCAN_DIRECTION_LEFT_TO_RIGHT,
4464+ SCAN_DIRECTION_BOTTOM_TO_TOP,
4465+ SCAN_DIRECTION_RIGHT_TO_LEFT
4466+} ScanDirection;
4467+
4468+struct _ScanPageInfo {
4469+ GTypeInstance parent_instance;
4470+ volatile int ref_count;
4471+ ScanPageInfoPrivate * priv;
4472+ gint width;
4473+ gint height;
4474+ gint depth;
4475+ gint n_channels;
4476+ gdouble dpi;
4477+ gchar* device;
4478+};
4479+
4480+struct _ScanPageInfoClass {
4481+ GTypeClass parent_class;
4482+ void (*finalize) (ScanPageInfo *self);
4483+};
4484+
4485+struct _ParamSpecAutosaveManager {
4486+ GParamSpec parent_instance;
4487+};
4488+
4489+
4490+static gpointer autosave_manager_parent_class = NULL;
4491+static gchar* autosave_manager_AUTOSAVE_DIR;
4492+static gchar* autosave_manager_AUTOSAVE_DIR = NULL;
4493+static gchar* autosave_manager_AUTOSAVE_NAME;
4494+static gchar* autosave_manager_AUTOSAVE_NAME = NULL;
4495+static gchar* autosave_manager_AUTOSAVE_EXT;
4496+static gchar* autosave_manager_AUTOSAVE_EXT = NULL;
4497+static gchar* autosave_manager_AUTOSAVE_FILENAME;
4498+static gchar* autosave_manager_AUTOSAVE_FILENAME = NULL;
4499+static gchar* autosave_manager_PID;
4500+static gchar* autosave_manager_PID = NULL;
4501+static gint autosave_manager_number_of_instances;
4502+static gint autosave_manager_number_of_instances = 0;
4503+
4504+gpointer autosave_manager_ref (gpointer instance);
4505+void autosave_manager_unref (gpointer instance);
4506+GParamSpec* param_spec_autosave_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
4507+void value_set_autosave_manager (GValue* value, gpointer v_object);
4508+void value_take_autosave_manager (GValue* value, gpointer v_object);
4509+gpointer value_get_autosave_manager (const GValue* value);
4510+GType autosave_manager_get_type (void) G_GNUC_CONST;
4511+gpointer book_ref (gpointer instance);
4512+void book_unref (gpointer instance);
4513+GParamSpec* param_spec_book (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
4514+void value_set_book (GValue* value, gpointer v_object);
4515+void value_take_book (GValue* value, gpointer v_object);
4516+gpointer value_get_book (const GValue* value);
4517+GType book_get_type (void) G_GNUC_CONST;
4518+#define AUTOSAVE_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_AUTOSAVE_MANAGER, AutosaveManagerPrivate))
4519+enum {
4520+ AUTOSAVE_MANAGER_DUMMY_PROPERTY
4521+};
4522+AutosaveManager* autosave_manager_create (Book** book);
4523+static AutosaveManager* autosave_manager_new (void);
4524+static AutosaveManager* autosave_manager_construct (GType object_type);
4525+static sqlite3* autosave_manager_open_database_connection (GError** error);
4526+static void autosave_manager_recover_book (AutosaveManager* self, Book** book);
4527+void autosave_manager_set_book (AutosaveManager* self, Book* value);
4528+guint book_get_n_pages (Book* self);
4529+gpointer page_ref (gpointer instance);
4530+void page_unref (gpointer instance);
4531+GParamSpec* param_spec_page (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
4532+void value_set_page (GValue* value, gpointer v_object);
4533+void value_take_page (GValue* value, gpointer v_object);
4534+gpointer value_get_page (const GValue* value);
4535+GType page_get_type (void) G_GNUC_CONST;
4536+Page* book_get_page (Book* self, gint page_number);
4537+static void autosave_manager_on_page_added (AutosaveManager* self, Page* page);
4538+void autosave_manager_cleanup (AutosaveManager* self);
4539+static void autosave_manager_insert_page (AutosaveManager* self, Page* page);
4540+void autosave_manager_on_page_changed (AutosaveManager* self, Page* page);
4541+static void _autosave_manager_on_page_changed_page_size_changed (Page* _sender, gpointer self);
4542+static void _autosave_manager_on_page_changed_page_scan_direction_changed (Page* _sender, gpointer self);
4543+static void _autosave_manager_on_page_changed_page_crop_changed (Page* _sender, gpointer self);
4544+static void _autosave_manager_on_page_changed_page_scan_finished (Page* _sender, gpointer self);
4545+void autosave_manager_on_page_removed (AutosaveManager* self, Page* page);
4546+static void _autosave_manager_on_page_changed_page_pixels_changed (Page* _sender, gpointer self);
4547+Book* autosave_manager_get_book (AutosaveManager* self);
4548+void autosave_manager_on_reordered (AutosaveManager* self);
4549+static void autosave_manager_update_page (AutosaveManager* self, Page* page);
4550+void autosave_manager_on_needs_saving_changed (AutosaveManager* self, Book* book);
4551+void autosave_manager_on_cleared (AutosaveManager* self);
4552+void page_get_crop (Page* self, gint* x, gint* y, gint* width, gint* height);
4553+guint book_get_page_index (Book* self, Page* page);
4554+gint page_get_dpi (Page* self);
4555+gint page_get_width (Page* self);
4556+gint page_get_height (Page* self);
4557+gint page_get_depth (Page* self);
4558+gint page_get_n_channels (Page* self);
4559+gint page_get_rowstride (Page* self);
4560+GType scan_direction_get_type (void) G_GNUC_CONST;
4561+ScanDirection page_get_scan_direction (Page* self);
4562+gchar* page_get_color_profile (Page* self);
4563+guchar* page_get_pixels (Page* self, int* result_length1);
4564+void book_clear (Book* self);
4565+Page* book_append_page (Book* self, gint width, gint height, gint dpi, ScanDirection scan_direction);
4566+ScanPageInfo* scan_page_info_new (void);
4567+ScanPageInfo* scan_page_info_construct (GType object_type);
4568+gpointer scan_page_info_ref (gpointer instance);
4569+void scan_page_info_unref (gpointer instance);
4570+GParamSpec* param_spec_scan_page_info (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
4571+void value_set_scan_page_info (GValue* value, gpointer v_object);
4572+void value_take_scan_page_info (GValue* value, gpointer v_object);
4573+gpointer value_get_scan_page_info (const GValue* value);
4574+GType scan_page_info_get_type (void) G_GNUC_CONST;
4575+void page_set_page_info (Page* self, ScanPageInfo* info);
4576+void page_set_color_profile (Page* self, const gchar* color_profile);
4577+void page_set_custom_crop (Page* self, gint width, gint height);
4578+void page_move_crop (Page* self, gint x, gint y);
4579+void page_set_pixels (Page* self, guchar* new_pixels, int new_pixels_length1);
4580+static void _autosave_manager_on_page_added_book_page_added (Book* _sender, Page* page, gpointer self);
4581+static void _autosave_manager_on_page_removed_book_page_removed (Book* _sender, Page* page, gpointer self);
4582+static void _autosave_manager_on_reordered_book_reordered (Book* _sender, gpointer self);
4583+static void _autosave_manager_on_cleared_book_cleared (Book* _sender, gpointer self);
4584+static void autosave_manager_finalize (AutosaveManager* obj);
4585+
4586+
4587+static gchar* string_strip (const gchar* self) {
4588+ gchar* result = NULL;
4589+ gchar* _tmp0_ = NULL;
4590+ gchar* _result_;
4591+ const gchar* _tmp1_;
4592+ g_return_val_if_fail (self != NULL, NULL);
4593+ _tmp0_ = g_strdup (self);
4594+ _result_ = _tmp0_;
4595+ _tmp1_ = _result_;
4596+ g_strstrip (_tmp1_);
4597+ result = _result_;
4598+ return result;
4599+}
4600+
4601+
4602+static const gchar* string_to_string (const gchar* self) {
4603+ const gchar* result = NULL;
4604+ g_return_val_if_fail (self != NULL, NULL);
4605+ result = self;
4606+ return result;
4607+}
4608+
4609+
4610+AutosaveManager* autosave_manager_create (Book** book) {
4611+ AutosaveManager* result = NULL;
4612+ gint _tmp0_;
4613+ AutosaveManager* _tmp1_;
4614+ AutosaveManager* man;
4615+ gint _tmp2_;
4616+ gboolean any_pages_recovered;
4617+ AutosaveManager* _tmp51_;
4618+ Book* _tmp52_;
4619+ gboolean _tmp53_;
4620+ GError * _inner_error_ = NULL;
4621+ g_return_val_if_fail (*book != NULL, NULL);
4622+ _tmp0_ = autosave_manager_number_of_instances;
4623+ if (_tmp0_ > 0) {
4624+ g_assert_not_reached ();
4625+ }
4626+ _tmp1_ = autosave_manager_new ();
4627+ man = _tmp1_;
4628+ _tmp2_ = autosave_manager_number_of_instances;
4629+ autosave_manager_number_of_instances = _tmp2_ + 1;
4630+ {
4631+ sqlite3* _tmp3_ = NULL;
4632+ sqlite3* _tmp4_;
4633+ AutosaveManager* _tmp5_;
4634+ _tmp3_ = autosave_manager_open_database_connection (&_inner_error_);
4635+ _tmp4_ = _tmp3_;
4636+ if (_inner_error_ != NULL) {
4637+ goto __catch22_g_error;
4638+ }
4639+ _tmp5_ = man;
4640+ _sqlite3_close0 (_tmp5_->priv->database_connection);
4641+ _tmp5_->priv->database_connection = _tmp4_;
4642+ }
4643+ goto __finally22;
4644+ __catch22_g_error:
4645+ {
4646+ g_clear_error (&_inner_error_);
4647+ _inner_error_ = NULL;
4648+ g_warning ("autosave-manager.vala:96: Could not connect to the autosave database; " \
4649+"no autosaves will be kept.");
4650+ result = NULL;
4651+ _autosave_manager_unref0 (man);
4652+ return result;
4653+ }
4654+ __finally22:
4655+ if (_inner_error_ != NULL) {
4656+ _autosave_manager_unref0 (man);
4657+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4658+ g_clear_error (&_inner_error_);
4659+ return NULL;
4660+ }
4661+ any_pages_recovered = FALSE;
4662+ {
4663+ gchar* current_pids = NULL;
4664+ gchar* _tmp6_ = NULL;
4665+ const gchar* _tmp7_;
4666+ gchar* _tmp8_ = NULL;
4667+ sqlite3_stmt* stmt = NULL;
4668+ const gchar* _tmp9_;
4669+ const gchar* _tmp10_ = NULL;
4670+ gchar* _tmp11_ = NULL;
4671+ gchar* query;
4672+ AutosaveManager* _tmp12_;
4673+ sqlite3* _tmp13_;
4674+ const gchar* _tmp14_;
4675+ sqlite3_stmt* _tmp15_ = NULL;
4676+ gint _tmp16_ = 0;
4677+ gint _result_;
4678+ gint _tmp17_;
4679+ g_spawn_command_line_sync ("pidof simple-scan | sed \"s/ /,/g\"", &_tmp6_, NULL, NULL, &_inner_error_);
4680+ _g_free0 (current_pids);
4681+ current_pids = _tmp6_;
4682+ if (_inner_error_ != NULL) {
4683+ _g_free0 (current_pids);
4684+ if (_inner_error_->domain == G_SPAWN_ERROR) {
4685+ goto __catch23_g_spawn_error;
4686+ }
4687+ _g_free0 (current_pids);
4688+ _autosave_manager_unref0 (man);
4689+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4690+ g_clear_error (&_inner_error_);
4691+ return NULL;
4692+ }
4693+ _tmp7_ = current_pids;
4694+ _tmp8_ = string_strip (_tmp7_);
4695+ _g_free0 (current_pids);
4696+ current_pids = _tmp8_;
4697+ _tmp9_ = current_pids;
4698+ _tmp10_ = string_to_string (_tmp9_);
4699+ _tmp11_ = g_strconcat ("\n" \
4700+" SELECT process_id, book_hash, book_revision FROM pa" \
4701+"ges\n" \
4702+" WHERE NOT process_id IN (", _tmp10_, ")\n LIMIT 1\n ", NULL);
4703+ query = _tmp11_;
4704+ _tmp12_ = man;
4705+ _tmp13_ = _tmp12_->priv->database_connection;
4706+ _tmp14_ = query;
4707+ _tmp16_ = sqlite3_prepare_v2 (_tmp13_, _tmp14_, -1, &_tmp15_, NULL);
4708+ _sqlite3_finalize0 (stmt);
4709+ stmt = _tmp15_;
4710+ _result_ = _tmp16_;
4711+ _tmp17_ = _result_;
4712+ if (_tmp17_ == SQLITE_OK) {
4713+ while (TRUE) {
4714+ sqlite3_stmt* _tmp18_;
4715+ gint _tmp19_ = 0;
4716+ sqlite3_stmt* _tmp20_;
4717+ gint _tmp21_ = 0;
4718+ gint unowned_pid;
4719+ sqlite3_stmt* _tmp22_;
4720+ gint _tmp23_ = 0;
4721+ gint book_hash;
4722+ sqlite3_stmt* _tmp24_;
4723+ gint _tmp25_ = 0;
4724+ gint book_revision;
4725+ const gchar* _tmp26_;
4726+ const gchar* _tmp27_ = NULL;
4727+ gchar* _tmp28_ = NULL;
4728+ sqlite3_stmt* stmt2 = NULL;
4729+ AutosaveManager* _tmp29_;
4730+ sqlite3* _tmp30_;
4731+ const gchar* _tmp31_;
4732+ sqlite3_stmt* _tmp32_ = NULL;
4733+ gint _tmp33_ = 0;
4734+ gint _tmp34_;
4735+ sqlite3_stmt* _tmp39_;
4736+ gint _tmp40_;
4737+ sqlite3_stmt* _tmp41_;
4738+ gint _tmp42_;
4739+ sqlite3_stmt* _tmp43_;
4740+ gint _tmp44_;
4741+ sqlite3_stmt* _tmp45_;
4742+ gint _tmp46_ = 0;
4743+ gint _tmp47_;
4744+ _tmp18_ = stmt;
4745+ _tmp19_ = sqlite3_step (_tmp18_);
4746+ if (!(_tmp19_ == SQLITE_ROW)) {
4747+ break;
4748+ }
4749+ g_debug ("autosave-manager.vala:119: Found at least one autosave page, taking ow" \
4750+"nership");
4751+ _tmp20_ = stmt;
4752+ _tmp21_ = sqlite3_column_int (_tmp20_, 0);
4753+ unowned_pid = _tmp21_;
4754+ _tmp22_ = stmt;
4755+ _tmp23_ = sqlite3_column_int (_tmp22_, 1);
4756+ book_hash = _tmp23_;
4757+ _tmp24_ = stmt;
4758+ _tmp25_ = sqlite3_column_int (_tmp24_, 2);
4759+ book_revision = _tmp25_;
4760+ _tmp26_ = autosave_manager_PID;
4761+ _tmp27_ = string_to_string (_tmp26_);
4762+ _tmp28_ = g_strconcat ("\n" \
4763+" UPDATE pages\n" \
4764+" SET process_id = ", _tmp27_, "\n" \
4765+" WHERE process_id = ?2\n" \
4766+" AND book_hash = ?3\n" \
4767+" AND book_revision = ?4", NULL);
4768+ _g_free0 (query);
4769+ query = _tmp28_;
4770+ _tmp29_ = man;
4771+ _tmp30_ = _tmp29_->priv->database_connection;
4772+ _tmp31_ = query;
4773+ _tmp33_ = sqlite3_prepare_v2 (_tmp30_, _tmp31_, -1, &_tmp32_, NULL);
4774+ _sqlite3_finalize0 (stmt2);
4775+ stmt2 = _tmp32_;
4776+ _result_ = _tmp33_;
4777+ _tmp34_ = _result_;
4778+ if (_tmp34_ != SQLITE_OK) {
4779+ const gchar* _tmp35_;
4780+ const gchar* _tmp36_ = NULL;
4781+ gchar* _tmp37_ = NULL;
4782+ gchar* _tmp38_;
4783+ _tmp35_ = query;
4784+ _tmp36_ = string_to_string (_tmp35_);
4785+ _tmp37_ = g_strconcat ("Error preparing statement: ", _tmp36_, NULL);
4786+ _tmp38_ = _tmp37_;
4787+ g_warning ("autosave-manager.vala:138: %s", _tmp38_);
4788+ _g_free0 (_tmp38_);
4789+ }
4790+ _tmp39_ = stmt2;
4791+ _tmp40_ = unowned_pid;
4792+ sqlite3_bind_int64 (_tmp39_, 2, (gint64) _tmp40_);
4793+ _tmp41_ = stmt2;
4794+ _tmp42_ = book_hash;
4795+ sqlite3_bind_int64 (_tmp41_, 3, (gint64) _tmp42_);
4796+ _tmp43_ = stmt2;
4797+ _tmp44_ = book_revision;
4798+ sqlite3_bind_int64 (_tmp43_, 4, (gint64) _tmp44_);
4799+ _tmp45_ = stmt2;
4800+ _tmp46_ = sqlite3_step (_tmp45_);
4801+ _result_ = _tmp46_;
4802+ _tmp47_ = _result_;
4803+ if (_tmp47_ == SQLITE_DONE) {
4804+ AutosaveManager* _tmp48_;
4805+ any_pages_recovered = TRUE;
4806+ _tmp48_ = man;
4807+ autosave_manager_recover_book (_tmp48_, book);
4808+ } else {
4809+ gint _tmp49_;
4810+ _tmp49_ = _result_;
4811+ g_warning ("autosave-manager.vala:150: Error %d while executing query", _tmp49_);
4812+ }
4813+ _sqlite3_finalize0 (stmt2);
4814+ }
4815+ } else {
4816+ gint _tmp50_;
4817+ _tmp50_ = _result_;
4818+ g_warning ("autosave-manager.vala:154: Error %d while preparing statement", _tmp50_);
4819+ }
4820+ _g_free0 (query);
4821+ _sqlite3_finalize0 (stmt);
4822+ _g_free0 (current_pids);
4823+ }
4824+ goto __finally23;
4825+ __catch23_g_spawn_error:
4826+ {
4827+ GError* e = NULL;
4828+ e = _inner_error_;
4829+ _inner_error_ = NULL;
4830+ g_warning ("autosave-manager.vala:158: Could not obtain current process ids; not r" \
4831+"estoring any autosaves");
4832+ _g_error_free0 (e);
4833+ }
4834+ __finally23:
4835+ if (_inner_error_ != NULL) {
4836+ _autosave_manager_unref0 (man);
4837+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4838+ g_clear_error (&_inner_error_);
4839+ return NULL;
4840+ }
4841+ _tmp51_ = man;
4842+ _tmp52_ = *book;
4843+ autosave_manager_set_book (_tmp51_, _tmp52_);
4844+ _tmp53_ = any_pages_recovered;
4845+ if (!_tmp53_) {
4846+ {
4847+ gint i;
4848+ i = 0;
4849+ {
4850+ gboolean _tmp54_;
4851+ _tmp54_ = TRUE;
4852+ while (TRUE) {
4853+ gboolean _tmp55_;
4854+ gint _tmp57_;
4855+ Book* _tmp58_;
4856+ guint _tmp59_ = 0U;
4857+ Book* _tmp60_;
4858+ gint _tmp61_;
4859+ Page* _tmp62_ = NULL;
4860+ Page* page;
4861+ AutosaveManager* _tmp63_;
4862+ Page* _tmp64_;
4863+ _tmp55_ = _tmp54_;
4864+ if (!_tmp55_) {
4865+ gint _tmp56_;
4866+ _tmp56_ = i;
4867+ i = _tmp56_ + 1;
4868+ }
4869+ _tmp54_ = FALSE;
4870+ _tmp57_ = i;
4871+ _tmp58_ = *book;
4872+ _tmp59_ = book_get_n_pages (_tmp58_);
4873+ if (!(((guint) _tmp57_) < _tmp59_)) {
4874+ break;
4875+ }
4876+ _tmp60_ = *book;
4877+ _tmp61_ = i;
4878+ _tmp62_ = book_get_page (_tmp60_, _tmp61_);
4879+ page = _tmp62_;
4880+ _tmp63_ = man;
4881+ _tmp64_ = page;
4882+ autosave_manager_on_page_added (_tmp63_, _tmp64_);
4883+ _page_unref0 (page);
4884+ }
4885+ }
4886+ }
4887+ }
4888+ result = man;
4889+ return result;
4890+}
4891+
4892+
4893+static AutosaveManager* autosave_manager_construct (GType object_type) {
4894+ AutosaveManager* self = NULL;
4895+ self = (AutosaveManager*) g_type_create_instance (object_type);
4896+ return self;
4897+}
4898+
4899+
4900+static AutosaveManager* autosave_manager_new (void) {
4901+ return autosave_manager_construct (TYPE_AUTOSAVE_MANAGER);
4902+}
4903+
4904+
4905+static gint _sqlite3_exec (sqlite3* self, const gchar* sql, sqlite3_callback callback, void* callback_target, gchar** errmsg) {
4906+ gchar* _vala_errmsg = NULL;
4907+ gint result = 0;
4908+ const gchar* sqlite_errmsg = NULL;
4909+ const gchar* _tmp0_;
4910+ sqlite3_callback _tmp1_;
4911+ void* _tmp1__target;
4912+ const gchar* _tmp2_ = NULL;
4913+ gint _tmp3_ = 0;
4914+ gint ec;
4915+ const gchar* _tmp6_;
4916+ g_return_val_if_fail (self != NULL, 0);
4917+ g_return_val_if_fail (sql != NULL, 0);
4918+ _tmp0_ = sql;
4919+ _tmp1_ = callback;
4920+ _tmp1__target = callback_target;
4921+ _tmp3_ = sqlite3_exec (self, _tmp0_, _tmp1_, _tmp1__target, (char**) (&_tmp2_));
4922+ sqlite_errmsg = _tmp2_;
4923+ ec = _tmp3_;
4924+ if ((&_vala_errmsg) != NULL) {
4925+ const gchar* _tmp4_;
4926+ gchar* _tmp5_;
4927+ _tmp4_ = sqlite_errmsg;
4928+ _tmp5_ = g_strdup (_tmp4_);
4929+ _g_free0 (_vala_errmsg);
4930+ _vala_errmsg = _tmp5_;
4931+ }
4932+ _tmp6_ = sqlite_errmsg;
4933+ sqlite3_free ((void*) _tmp6_);
4934+ result = ec;
4935+ if (errmsg) {
4936+ *errmsg = _vala_errmsg;
4937+ } else {
4938+ _g_free0 (_vala_errmsg);
4939+ }
4940+ return result;
4941+}
4942+
4943+
4944+void autosave_manager_cleanup (AutosaveManager* self) {
4945+ sqlite3* _tmp0_;
4946+ const gchar* _tmp1_;
4947+ const gchar* _tmp2_ = NULL;
4948+ gchar* _tmp3_ = NULL;
4949+ gchar* _tmp4_;
4950+ gint _tmp5_ = 0;
4951+ g_return_if_fail (self != NULL);
4952+ g_debug ("autosave-manager.vala:180: Clean exit; deleting autosave records");
4953+ _tmp0_ = self->priv->database_connection;
4954+ _tmp1_ = autosave_manager_PID;
4955+ _tmp2_ = string_to_string (_tmp1_);
4956+ _tmp3_ = g_strconcat ("\n DELETE FROM pages\n WHERE process_id = ", _tmp2_, "\n ", NULL);
4957+ _tmp4_ = _tmp3_;
4958+ _tmp5_ = _sqlite3_exec (_tmp0_, _tmp4_, NULL, NULL, NULL);
4959+ g_warn_if_fail (_tmp5_ == SQLITE_OK);
4960+ _g_free0 (_tmp4_);
4961+}
4962+
4963+
4964+static sqlite3* autosave_manager_open_database_connection (GError** error) {
4965+ sqlite3* result = NULL;
4966+ const gchar* _tmp0_;
4967+ GFile* _tmp1_ = NULL;
4968+ GFile* autosaves_dir;
4969+ sqlite3* connection = NULL;
4970+ const gchar* _tmp3_;
4971+ sqlite3* _tmp4_ = NULL;
4972+ gint _tmp5_ = 0;
4973+ gchar* _tmp7_;
4974+ gchar* query;
4975+ sqlite3* _tmp8_;
4976+ const gchar* _tmp9_;
4977+ gint _tmp10_ = 0;
4978+ gint _result_;
4979+ gint _tmp11_;
4980+ GError * _inner_error_ = NULL;
4981+ _tmp0_ = autosave_manager_AUTOSAVE_DIR;
4982+ _tmp1_ = g_file_new_for_path (_tmp0_);
4983+ autosaves_dir = _tmp1_;
4984+ {
4985+ GFile* _tmp2_;
4986+ _tmp2_ = autosaves_dir;
4987+ g_file_make_directory_with_parents (_tmp2_, NULL, &_inner_error_);
4988+ if (_inner_error_ != NULL) {
4989+ goto __catch24_g_error;
4990+ }
4991+ }
4992+ goto __finally24;
4993+ __catch24_g_error:
4994+ {
4995+ g_clear_error (&_inner_error_);
4996+ _inner_error_ = NULL;
4997+ }
4998+ __finally24:
4999+ if (_inner_error_ != NULL) {
5000+ g_propagate_error (error, _inner_error_);
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: