[Pkg-privacy-commits] [libgsecuredelete] 141/168: Imported Upstream version 0.2

Ulrike Uhlig u-guest at moszumanska.debian.org
Thu Jul 7 20:06:48 UTC 2016


This is an automated email from the git hooks/post-receive script.

u-guest pushed a commit to branch master
in repository libgsecuredelete.

commit 076b9c6f45b9776d503d696e5d9c169fb23a9409
Author: intrigeri <intrigeri at boum.org>
Date:   Thu Jun 14 00:25:53 2012 +0200

    Imported Upstream version 0.2
---
 Makefile.in                                  | 230 +++++---
 aclocal.m4                                   | 116 ++--
 build/aux/config.guess                       | 258 +++++----
 build/aux/config.sub                         | 209 ++++---
 build/aux/depcomp                            | 190 +++++--
 build/aux/install-sh                         |  29 +-
 build/aux/ltmain.sh                          |  95 ++--
 build/aux/missing                            |  53 +-
 build/m4/libtool.m4                          | 264 +++++++--
 build/m4/ltoptions.m4                        |  19 +-
 build/m4/ltversion.m4                        |  10 +-
 config.h.in                                  |  12 -
 configure                                    | 550 ++++++++++--------
 docs/Makefile.in                             |  53 +-
 gsecuredelete/Makefile.in                    | 178 ++++--
 gsecuredelete/gsd-async-operation.c          | 795 +++++++++++++++++----------
 gsecuredelete/gsd-delete-operation.c         | 305 ++++++----
 gsecuredelete/gsd-fill-operation.c           | 106 ++--
 gsecuredelete/gsd-mem-operation.c            |   4 +-
 gsecuredelete/gsd-secure-delete-operation.c  | 108 ++--
 gsecuredelete/gsd-swap-operation.c           | 289 +++++++---
 gsecuredelete/gsd-utils.c                    | 414 +++++++++-----
 gsecuredelete/gsd-zeroable-operation.c       |  34 +-
 gsecuredelete/gsecuredelete.h                |   2 +-
 gsecuredelete/gsecuredelete.vapi             |  12 +-
 gsecuredelete/libgsecuredelete_la_vala.stamp |   1 +
 gsecuredelete/main.c                         | 205 +++++--
 gsecuredelete/test_vala.stamp                |   1 +
 test/TESTING                                 | 100 ----
 test/fill_test.sh                            |  20 -
 test/hexdump_full.sh                         |  13 -
 test/hexdump_light.sh                        |  16 -
 32 files changed, 2922 insertions(+), 1769 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index fe3d42c..6b33eaa 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,25 @@
 
 @SET_MAKE@
 
+
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -58,21 +76,6 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES = gsecuredelete.pc
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-	html-recursive info-recursive install-data-recursive \
-	install-dvi-recursive install-exec-recursive \
-	install-html-recursive install-info-recursive \
-	install-pdf-recursive install-ps-recursive install-recursive \
-	installcheck-recursive installdirs-recursive pdf-recursive \
-	ps-recursive uninstall-recursive
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -94,7 +97,35 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkglibexecdir)" \
+	"$(DESTDIR)$(pkgconfigdir)"
+SCRIPTS = $(pkglibexec_SCRIPTS)
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 DATA = $(pkgconfig_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
@@ -108,9 +139,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
 am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
+  if test -d "$(distdir)"; then \
+    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+      && rm -rf "$(distdir)" \
+      || { sleep 5 && rm -rf "$(distdir)"; }; \
+  else :; fi
 am__relativize = \
   dir0=`pwd`; \
   sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -139,6 +172,8 @@ am__relativize = \
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
 distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -208,10 +243,14 @@ RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SFILL = @SFILL@
+SFILL_PATH = @SFILL_PATH@
 SHELL = @SHELL@
 SMEM = @SMEM@
+SMEM_PATH = @SMEM_PATH@
 SRM = @SRM@
+SRM_PATH = @SRM_PATH@
 SSWAP = @SSWAP@
+SSWAP_PATH = @SSWAP_PATH@
 STRIP = @STRIP@
 VALAC = @VALAC@
 VALADOC = @VALADOC@
@@ -271,21 +310,20 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 SUBDIRS = gsecuredelete docs
 ACLOCAL_AMFLAGS = -I build/m4 -I build
-EXTRA_DIST = AUTHORS \
-             COPYING \
-             HACKING \
-             INSTALL \
-             NEWS \
-             README \
-             TODO
-
+EXTRA_DIST = AUTHORS COPYING HACKING INSTALL NEWS README TODO \
+	gsd-sfill-helper.in
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = gsecuredelete.pc
+pkglibexec_SCRIPTS = gsd-sfill-helper
+CLEANFILES = $(pkglibexec_SCRIPTS)
+compile_script = sed -e 's%[@]SRM_PATH[@]%$(SRM_PATH)%g' \
+                     -e 's%[@]SFILL_PATH[@]%$(SFILL_PATH)%g'
+
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-am--refresh:
+am--refresh: Makefile
 	@:
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
@@ -321,10 +359,8 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-	@if test ! -f $@; then \
-	  rm -f stamp-h1; \
-	  $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-	else :; fi
+	@if test ! -f $@; then rm -f stamp-h1; else :; fi
+	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -338,6 +374,41 @@ distclean-hdr:
 	-rm -f config.h stamp-h1
 gsecuredelete.pc: $(top_builddir)/config.status $(srcdir)/gsecuredelete.pc.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
+install-pkglibexecSCRIPTS: $(pkglibexec_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	@list='$(pkglibexec_SCRIPTS)'; test -n "$(pkglibexecdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkglibexecdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkglibexecdir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n' \
+	    -e 'h;s|.*|.|' \
+	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+	      if (++n[d] == $(am__install_max)) { \
+		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+	    else { print "f", d "/" $$4, $$1 } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	     test -z "$$files" || { \
+	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(pkglibexecdir)$$dir'"; \
+	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(pkglibexecdir)$$dir" || exit $$?; \
+	     } \
+	; done
+
+uninstall-pkglibexecSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkglibexec_SCRIPTS)'; test -n "$(pkglibexecdir)" || exit 0; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	       sed -e 's,.*/,,;$(transform)'`; \
+	dir='$(DESTDIR)$(pkglibexecdir)'; $(am__uninstall_files_from_dir)
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -349,8 +420,11 @@ distclean-libtool:
 	-rm -f libtool config.lt
 install-pkgconfigDATA: $(pkgconfig_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
 	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+	fi; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  echo "$$d$$p"; \
@@ -364,9 +438,7 @@ uninstall-pkgconfigDATA:
 	@$(NORMAL_UNINSTALL)
 	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+	dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -537,13 +609,10 @@ distdir: $(DISTFILES)
 	done
 	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
-	    test -d "$(distdir)/$$subdir" \
-	    || $(MKDIR_P) "$(distdir)/$$subdir" \
-	    || exit 1; \
-	  fi; \
-	done
-	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
 	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
 	    $(am__relativize); \
 	    new_distdir=$$reldir; \
@@ -575,7 +644,11 @@ dist-gzip: distdir
 	$(am__remove_distdir)
 
 dist-bzip2: distdir
-	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-lzip: distdir
+	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
 	$(am__remove_distdir)
 
 dist-lzma: distdir
@@ -583,7 +656,7 @@ dist-lzma: distdir
 	$(am__remove_distdir)
 
 dist-xz: distdir
-	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
 	$(am__remove_distdir)
 
 dist-tarZ: distdir
@@ -614,6 +687,8 @@ distcheck: dist
 	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
 	*.tar.lzma*) \
 	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.lz*) \
+	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
 	*.tar.xz*) \
 	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
 	*.tar.Z*) \
@@ -633,6 +708,7 @@ distcheck: dist
 	  && am__cwd=`pwd` \
 	  && $(am__cd) $(distdir)/_build \
 	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
@@ -661,8 +737,16 @@ distcheck: dist
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 distuninstallcheck:
-	@$(am__cd) '$(distuninstallcheck_dir)' \
-	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	@test -n '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: trying to run $@ with an empty' \
+	       '$$(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	$(am__cd) '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
 	   || { echo "ERROR: files left after uninstall:" ; \
 	        if test -n "$(DESTDIR)"; then \
 	          echo "  (check DESTDIR support)"; \
@@ -680,10 +764,10 @@ distcleancheck: distclean
 	       exit 1; } >&2
 check-am: all-am
 check: check-recursive
-all-am: Makefile $(DATA) config.h
+all-am: Makefile $(SCRIPTS) $(DATA) config.h
 installdirs: installdirs-recursive
 installdirs-am:
-	for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
+	for dir in "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(pkgconfigdir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-recursive
@@ -696,13 +780,19 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -739,7 +829,7 @@ install-dvi: install-dvi-recursive
 
 install-dvi-am:
 
-install-exec-am:
+install-exec-am: install-pkglibexecSCRIPTS
 
 install-html: install-html-recursive
 
@@ -779,7 +869,7 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-pkgconfigDATA
+uninstall-am: uninstall-pkgconfigDATA uninstall-pkglibexecSCRIPTS
 
 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
 	ctags-recursive install-am install-strip tags-recursive
@@ -787,20 +877,26 @@ uninstall-am: uninstall-pkgconfigDATA
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am am--refresh check check-am clean clean-generic \
 	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-	dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
-	distcheck distclean distclean-generic distclean-hdr \
+	dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \
+	dist-zip distcheck distclean distclean-generic distclean-hdr \
 	distclean-libtool distclean-tags distcleancheck distdir \
 	distuninstallcheck dvi dvi-am html html-am info info-am \
 	install install-am install-data install-data-am install-dvi \
 	install-dvi-am install-exec install-exec-am install-html \
 	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgconfigDATA install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-	uninstall uninstall-am uninstall-pkgconfigDATA
-
+	install-pdf install-pdf-am install-pkgconfigDATA \
+	install-pkglibexecSCRIPTS install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-recursive uninstall uninstall-am \
+	uninstall-pkgconfigDATA uninstall-pkglibexecSCRIPTS
+
+
+gsd-sfill-helper: gsd-sfill-helper.in Makefile
+	$(AM_V_GEN) \
+	$(compile_script) < $(srcdir)/$< > $@ && \
+	chmod +x $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/aclocal.m4 b/aclocal.m4
index b81c13a..96c65c2 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,8 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.5 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -13,8 +14,8 @@
 
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically `autoreconf'.])])
@@ -47,7 +48,8 @@ To do so, use the procedure documented by the package, typically `autoreconf'.])
 # ----------------------------------
 AC_DEFUN([PKG_PROG_PKG_CONFIG],
 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
 AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
 AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
 AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
@@ -93,7 +95,8 @@ m4_define([_PKG_CONFIG],
     pkg_cv_[]$1="$$1"
  elif test -n "$PKG_CONFIG"; then
     PKG_CHECK_EXISTS([$3],
-                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes ],
 		     [pkg_failed=yes])
  else
     pkg_failed=untried
@@ -141,9 +144,9 @@ if test $pkg_failed = yes; then
    	AC_MSG_RESULT([no])
         _PKG_SHORT_ERRORS_SUPPORTED
         if test $_pkg_short_errors_supported = yes; then
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
         else 
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
@@ -177,12 +180,15 @@ else
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
@@ -192,7 +198,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
+m4_if([$1], [1.11.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -208,19 +214,21 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
+[AM_AUTOMAKE_VERSION([1.11.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -302,14 +310,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 10
+# serial 12
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -349,6 +357,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -413,7 +422,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -478,10 +487,13 @@ AC_DEFUN([AM_DEP_TRACK],
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
 AC_SUBST([AMDEPBACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
 ])
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
@@ -703,12 +715,15 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
@@ -840,12 +855,15 @@ else
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_MKDIR_P
 # ---------------
 # Check for `mkdir -p'.
@@ -868,13 +886,14 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -882,13 +901,13 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
 
 # _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
 [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
 
 # _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@@ -964,13 +983,13 @@ Check your system clock])
 fi
 AC_MSG_RESULT(yes)])
 
-# Copyright (C) 2009  Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # AM_SILENT_RULES([DEFAULT])
 # --------------------------
@@ -985,18 +1004,50 @@ yes) AM_DEFAULT_VERBOSITY=0;;
 no)  AM_DEFAULT_VERBOSITY=1;;
 *)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
 esac
+dnl
+dnl A few `make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using `$V' instead of `$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
 AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
 AM_BACKSLASH='\'
 AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_STRIP
 # ---------------------
 # One issue with vendor `install' (even GNU) is that you can't
@@ -1019,13 +1070,13 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
@@ -1034,13 +1085,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1062,10 +1113,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
 AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
 m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
      [m4_case([$1], [ustar],, [pax],,
               [m4_fatal([Unknown tar format])])
 AC_MSG_CHECKING([how to create a $1 tar archive])
diff --git a/build/aux/config.guess b/build/aux/config.guess
index c2246a4..d622a44 100755
--- a/build/aux/config.guess
+++ b/build/aux/config.guess
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-#   Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2009-12-30'
+timestamp='2012-02-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@ timestamp='2009-12-30'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -57,8 +55,8 @@ GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
-Software Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -145,7 +143,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:NetBSD:*:*)
 	# NetBSD (nbsd) targets should (where applicable) match one or
-	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
 	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
 	# switched to ELF, *-*-netbsd* would select the old
 	# object file format.  This provides both forward
@@ -181,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		fi
 		;;
 	    *)
-	        os=netbsd
+		os=netbsd
 		;;
 	esac
 	# The OS release
@@ -224,7 +222,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
 		;;
 	*5.*)
-	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
 		;;
 	esac
 	# According to Compaq, /usr/sbin/psrinfo has been available on
@@ -270,7 +268,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
 	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit ;;
+	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+	exitcode=$?
+	trap '' 0
+	exit $exitcode ;;
     Alpha\ *:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# Should we change UNAME_MACHINE based on the output of uname instead
@@ -296,7 +297,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	echo s390-ibm-zvmoe
 	exit ;;
     *:OS400:*:*)
-        echo powerpc-ibm-os400
+	echo powerpc-ibm-os400
 	exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
 	echo arm-acorn-riscix${UNAME_RELEASE}
@@ -395,23 +396,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint${UNAME_RELEASE}
 	exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
 	echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
+	exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint${UNAME_RELEASE}
 	exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-milan-mint${UNAME_RELEASE}
+	exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-hades-mint${UNAME_RELEASE}
+	exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-unknown-mint${UNAME_RELEASE}
+	exit ;;
     m68k:machten:*:*)
 	echo m68k-apple-machten${UNAME_RELEASE}
 	exit ;;
@@ -481,8 +482,8 @@ EOF
 	echo m88k-motorola-sysv3
 	exit ;;
     AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	# DG/UX returns AViiON for all architectures
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
 	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
 	then
 	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -495,7 +496,7 @@ EOF
 	else
 	    echo i586-dg-dgux${UNAME_RELEASE}
 	fi
- 	exit ;;
+	exit ;;
     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
 	echo m88k-dolphin-sysv3
 	exit ;;
@@ -552,7 +553,7 @@ EOF
 		echo rs6000-ibm-aix3.2
 	fi
 	exit ;;
-    *:AIX:*:[456])
+    *:AIX:*:[4567])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
@@ -595,52 +596,52 @@ EOF
 	    9000/[678][0-9][0-9])
 		if [ -x /usr/bin/getconf ]; then
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
+		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+		    case "${sc_cpu_version}" in
+		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      532)                      # CPU_PA_RISC2_0
+			case "${sc_kernel_bits}" in
+			  32) HP_ARCH="hppa2.0n" ;;
+			  64) HP_ARCH="hppa2.0w" ;;
 			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
+			esac ;;
+		    esac
 		fi
 		if [ "${HP_ARCH}" = "" ]; then
 		    eval $set_cc_for_build
-		    sed 's/^              //' << EOF >$dummy.c
+		    sed 's/^		//' << EOF >$dummy.c
 
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
+		#define _HPUX_SOURCE
+		#include <stdlib.h>
+		#include <unistd.h>
 
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
+		int main ()
+		{
+		#if defined(_SC_KERNEL_BITS)
+		    long bits = sysconf(_SC_KERNEL_BITS);
+		#endif
+		    long cpu  = sysconf (_SC_CPU_VERSION);
 
-                  switch (cpu)
-              	{
-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-              	case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-              	    switch (bits)
-              		{
-              		case 64: puts ("hppa2.0w"); break;
-              		case 32: puts ("hppa2.0n"); break;
-              		default: puts ("hppa2.0"); break;
-              		} break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-              	    puts ("hppa2.0"); break;
-              #endif
-              	default: puts ("hppa1.0"); break;
-              	}
-                  exit (0);
-              }
+		    switch (cpu)
+			{
+			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+			case CPU_PA_RISC2_0:
+		#if defined(_SC_KERNEL_BITS)
+			    switch (bits)
+				{
+				case 64: puts ("hppa2.0w"); break;
+				case 32: puts ("hppa2.0n"); break;
+				default: puts ("hppa2.0"); break;
+				} break;
+		#else  /* !defined(_SC_KERNEL_BITS) */
+			    puts ("hppa2.0"); break;
+		#endif
+			default: puts ("hppa1.0"); break;
+			}
+		    exit (0);
+		}
 EOF
 		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
@@ -731,22 +732,22 @@ EOF
 	exit ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
 	echo c1-convex-bsd
-        exit ;;
+	exit ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
 	else echo c2-convex-bsd
 	fi
-        exit ;;
+	exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
 	echo c34-convex-bsd
-        exit ;;
+	exit ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
 	echo c38-convex-bsd
-        exit ;;
+	exit ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
 	echo c4-convex-bsd
-        exit ;;
+	exit ;;
     CRAY*Y-MP:*:*:*)
 	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
@@ -770,14 +771,14 @@ EOF
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit ;;
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
     5000:UNIX_System_V:4.*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@@ -789,13 +790,12 @@ EOF
 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
 	exit ;;
     *:FreeBSD:*:*)
-	case ${UNAME_MACHINE} in
-	    pc98)
-		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	case ${UNAME_PROCESSOR} in
 	    amd64)
 		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 	    *)
-		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 	esac
 	exit ;;
     i*:CYGWIN*:*)
@@ -804,15 +804,18 @@ EOF
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
+    i*:MSYS*:*)
+	echo ${UNAME_MACHINE}-pc-msys
+	exit ;;
     i*:windows32*:*)
-    	# uname -m includes "-pc" on this system.
-    	echo ${UNAME_MACHINE}-mingw32
+	# uname -m includes "-pc" on this system.
+	echo ${UNAME_MACHINE}-mingw32
 	exit ;;
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit ;;
     *:Interix*:*)
-    	case ${UNAME_MACHINE} in
+	case ${UNAME_MACHINE} in
 	    x86)
 		echo i586-pc-interix${UNAME_RELEASE}
 		exit ;;
@@ -858,6 +861,13 @@ EOF
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
+    aarch64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    aarch64_be:Linux:*:*)
+	UNAME_MACHINE=aarch64_be
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
 	  EV5)   UNAME_MACHINE=alphaev5 ;;
@@ -867,7 +877,7 @@ EOF
 	  EV6)   UNAME_MACHINE=alphaev6 ;;
 	  EV67)  UNAME_MACHINE=alphaev67 ;;
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
+	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
 	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
@@ -879,20 +889,29 @@ EOF
 	then
 	    echo ${UNAME_MACHINE}-unknown-linux-gnu
 	else
-	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+		| grep -q __ARM_PCS_VFP
+	    then
+		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	    else
+		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     cris:Linux:*:*)
-	echo cris-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-gnu
 	exit ;;
     crisv32:Linux:*:*)
-	echo crisv32-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-gnu
 	exit ;;
     frv:Linux:*:*)
-    	echo frv-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    hexagon:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     i*86:Linux:*:*)
 	LIBC=gnu
@@ -934,7 +953,7 @@ EOF
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 	;;
     or32:Linux:*:*)
-	echo or32-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     padre:Linux:*:*)
 	echo sparc-unknown-linux-gnu
@@ -960,7 +979,7 @@ EOF
 	echo ${UNAME_MACHINE}-ibm-linux
 	exit ;;
     sh64*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     sh*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -968,14 +987,17 @@ EOF
     sparc:Linux:*:* | sparc64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
+    tile*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
     vax:Linux:*:*)
 	echo ${UNAME_MACHINE}-dec-linux-gnu
 	exit ;;
     x86_64:Linux:*:*)
-	echo x86_64-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     xtensa*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -984,11 +1006,11 @@ EOF
 	echo i386-sequent-sysv4
 	exit ;;
     i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
+	# Unixware is an offshoot of SVR4, but it has its own version
+	# number series starting with 2...
+	# I am not positive that other SVR4 systems won't match this,
 	# I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
+	# Use sysv4.2uw... so that sysv4* matches it.
 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
 	exit ;;
     i*86:OS/2:*:*)
@@ -1020,7 +1042,7 @@ EOF
 	fi
 	exit ;;
     i*86:*:5:[678]*)
-    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	# UnixWare 7.x, OpenUNIX and OpenServer 6.
 	case `/bin/uname -X | grep "^Machine"` in
 	    *486*)	     UNAME_MACHINE=i486 ;;
 	    *Pentium)	     UNAME_MACHINE=i586 ;;
@@ -1048,13 +1070,13 @@ EOF
 	exit ;;
     pc:*:*:*)
 	# Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i586.
+	# uname -m prints for DJGPP always 'pc', but it prints nothing about
+	# the processor, so we play safe by assuming i586.
 	# Note: whatever this is, it MUST be the same as what config.sub
 	# prints for the "djgpp" host, or else GDB configury will decide that
 	# this is a cross-build.
 	echo i586-pc-msdosdjgpp
-        exit ;;
+	exit ;;
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
 	exit ;;
@@ -1089,8 +1111,8 @@ EOF
 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
 	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && { echo i486-ncr-sysv4; exit; } ;;
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4; exit; } ;;
     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
 	OS_REL='.3'
 	test -r /etc/.relid \
@@ -1133,10 +1155,10 @@ EOF
 		echo ns32k-sni-sysv
 	fi
 	exit ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel at ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit ;;
+    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+			# says <Richard.M.Bartel at ccMail.Census.GOV>
+	echo i586-unisys-sysv4
+	exit ;;
     *:UNIX_System_V:4*:FTX*)
 	# From Gerald Hewes <hewes at openmarket.com>.
 	# How about differentiating between stratus architectures? -djm
@@ -1162,11 +1184,11 @@ EOF
 	exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
 	if [ -d /usr/nec ]; then
-	        echo mips-nec-sysv${UNAME_RELEASE}
+		echo mips-nec-sysv${UNAME_RELEASE}
 	else
-	        echo mips-unknown-sysv${UNAME_RELEASE}
+		echo mips-unknown-sysv${UNAME_RELEASE}
 	fi
-        exit ;;
+	exit ;;
     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
 	echo powerpc-be-beos
 	exit ;;
@@ -1231,6 +1253,9 @@ EOF
     *:QNX:*:4*)
 	echo i386-pc-qnx
 	exit ;;
+    NEO-?:NONSTOP_KERNEL:*:*)
+	echo neo-tandem-nsk${UNAME_RELEASE}
+	exit ;;
     NSE-?:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
@@ -1276,13 +1301,13 @@ EOF
 	echo pdp10-unknown-its
 	exit ;;
     SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
+	echo mips-sei-seiux${UNAME_RELEASE}
 	exit ;;
     *:DragonFly:*:*)
 	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
 	exit ;;
     *:*VMS:*:*)
-    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	UNAME_MACHINE=`(uname -p) 2>/dev/null`
 	case "${UNAME_MACHINE}" in
 	    A*) echo alpha-dec-vms ; exit ;;
 	    I*) echo ia64-dec-vms ; exit ;;
@@ -1300,6 +1325,9 @@ EOF
     i*86:AROS:*:*)
 	echo ${UNAME_MACHINE}-pc-aros
 	exit ;;
+    x86_64:VMkernel:*:*)
+	echo ${UNAME_MACHINE}-unknown-esx
+	exit ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1322,11 +1350,11 @@ main ()
 #include <sys/param.h>
   printf ("m68k-sony-newsos%s\n",
 #ifdef NEWSOS4
-          "4"
+	"4"
 #else
-	  ""
+	""
 #endif
-         ); exit (0);
+	); exit (0);
 #endif
 #endif
 
diff --git a/build/aux/config.sub b/build/aux/config.sub
index c2d1257..c894da4 100755
--- a/build/aux/config.sub
+++ b/build/aux/config.sub
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-#   Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2010-01-22'
+timestamp='2012-02-10'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -21,9 +21,7 @@ timestamp='2010-01-22'
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -76,8 +74,8 @@ version="\
 GNU config.sub ($timestamp)
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
-Software Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -124,13 +122,18 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
+  android-linux)
+    os=-linux-android
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+    ;;
   *)
     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
     if [ $basic_machine != $1 ]
@@ -157,8 +160,8 @@ case $os in
 		os=
 		basic_machine=$1
 		;;
-        -bluegene*)
-	        os=-cnk
+	-bluegene*)
+		os=-cnk
 		;;
 	-sim | -cisco | -oki | -wec | -winbond)
 		os=
@@ -174,10 +177,10 @@ case $os in
 		os=-chorusos
 		basic_machine=$1
 		;;
- 	-chorusrdb)
- 		os=-chorusrdb
+	-chorusrdb)
+		os=-chorusrdb
 		basic_machine=$1
- 		;;
+		;;
 	-hiux*)
 		os=-hiuxwe2
 		;;
@@ -246,17 +249,22 @@ case $basic_machine in
 	# Some are omitted here because they have special meanings below.
 	1750a | 580 \
 	| a29k \
+	| aarch64 | aarch64_be \
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
 	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+        | be32 | be64 \
 	| bfin \
 	| c4x | clipper \
 	| d10v | d30v | dlx | dsp16xx \
+	| epiphany \
 	| fido | fr30 | frv \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| hexagon \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
+	| le32 | le64 \
 	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
 	| maxq | mb | microblaze | mcore | mep | metag \
@@ -282,29 +290,39 @@ case $basic_machine in
 	| moxie \
 	| mt \
 	| msp430 \
+	| nds32 | nds32le | nds32be \
 	| nios | nios2 \
 	| ns16k | ns32k \
+	| open8 \
 	| or32 \
 	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
-	| rx \
+	| rl78 | rx \
 	| score \
 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-	| spu | strongarm \
-	| tahoe | thumb | tic4x | tic80 | tron \
+	| spu \
+	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
-	| v850 | v850e \
+	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
 	| we32k \
-	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
 		basic_machine=$basic_machine-unknown
 		;;
-	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
-		# Motorola 68HC11/12.
+	c54x)
+		basic_machine=tic54x-unknown
+		;;
+	c55x)
+		basic_machine=tic55x-unknown
+		;;
+	c6x)
+		basic_machine=tic6x-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
 		;;
@@ -314,6 +332,21 @@ case $basic_machine in
 		basic_machine=mt-unknown
 		;;
 
+	strongarm | thumb | xscale)
+		basic_machine=arm-unknown
+		;;
+	xgate)
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	xscaleeb)
+		basic_machine=armeb-unknown
+		;;
+
+	xscaleel)
+		basic_machine=armel-unknown
+		;;
+
 	# We use `pc' rather than `unknown'
 	# because (1) that's what they normally are, and
 	# (2) the word "unknown" tends to confuse beginning users.
@@ -328,21 +361,25 @@ case $basic_machine in
 	# Recognize the basic CPU types with company name.
 	580-* \
 	| a29k-* \
+	| aarch64-* | aarch64_be-* \
 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
+	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* \
 	| clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| hexagon-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
+	| le32-* | le64-* \
 	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
@@ -368,26 +405,29 @@ case $basic_machine in
 	| mmix-* \
 	| mt-* \
 	| msp430-* \
+	| nds32-* | nds32le-* | nds32be-* \
 	| nios-* | nios2-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
+	| open8-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
 	| pyramid-* \
-	| romp-* | rs6000-* | rx-* \
+	| rl78-* | romp-* | rs6000-* | rx-* \
 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
-	| tahoe-* | thumb-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+	| tahoe-* \
 	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-	| tile-* | tilegx-* \
+	| tile*-* \
 	| tron-* \
 	| ubicom32-* \
-	| v850-* | v850e-* | vax-* \
+	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+	| vax-* \
 	| we32k-* \
-	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
 	| ymp-* \
 	| z8k-* | z80-*)
@@ -412,7 +452,7 @@ case $basic_machine in
 		basic_machine=a29k-amd
 		os=-udi
 		;;
-    	abacus)
+	abacus)
 		basic_machine=abacus-unknown
 		;;
 	adobe68k)
@@ -482,11 +522,20 @@ case $basic_machine in
 		basic_machine=powerpc-ibm
 		os=-cnk
 		;;
+	c54x-*)
+		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c55x-*)
+		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c6x-*)
+		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	c90)
 		basic_machine=c90-cray
 		os=-unicos
 		;;
-        cegcc)
+	cegcc)
 		basic_machine=arm-unknown
 		os=-cegcc
 		;;
@@ -518,7 +567,7 @@ case $basic_machine in
 		basic_machine=craynv-cray
 		os=-unicosmp
 		;;
-	cr16)
+	cr16 | cr16-*)
 		basic_machine=cr16-unknown
 		os=-elf
 		;;
@@ -676,7 +725,6 @@ case $basic_machine in
 	i370-ibm* | ibm*)
 		basic_machine=i370-ibm
 		;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
 	i*86v32)
 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
 		os=-sysv32
@@ -734,7 +782,7 @@ case $basic_machine in
 		basic_machine=ns32k-utek
 		os=-sysv
 		;;
-        microblaze)
+	microblaze)
 		basic_machine=microblaze-xilinx
 		;;
 	mingw32)
@@ -773,10 +821,18 @@ case $basic_machine in
 	ms1-*)
 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
 		;;
+	msys)
+		basic_machine=i386-pc
+		os=-msys
+		;;
 	mvs)
 		basic_machine=i370-ibm
 		os=-mvs
 		;;
+	nacl)
+		basic_machine=le32-unknown
+		os=-nacl
+		;;
 	ncr3000)
 		basic_machine=i486-ncr
 		os=-sysv4
@@ -841,6 +897,12 @@ case $basic_machine in
 	np1)
 		basic_machine=np1-gould
 		;;
+	neo-tandem)
+		basic_machine=neo-tandem
+		;;
+	nse-tandem)
+		basic_machine=nse-tandem
+		;;
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
@@ -923,9 +985,10 @@ case $basic_machine in
 		;;
 	power)	basic_machine=power-ibm
 		;;
-	ppc)	basic_machine=powerpc-unknown
+	ppc | ppcbe)	basic_machine=powerpc-unknown
 		;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+	ppc-* | ppcbe-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
 	ppcle | powerpclittle | ppc-le | powerpc-little)
 		basic_machine=powerpcle-unknown
@@ -1019,6 +1082,9 @@ case $basic_machine in
 		basic_machine=i860-stratus
 		os=-sysv4
 		;;
+	strongarm-* | thumb-*)
+		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	sun2)
 		basic_machine=m68000-sun
 		;;
@@ -1075,25 +1141,8 @@ case $basic_machine in
 		basic_machine=t90-cray
 		os=-unicos
 		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
-		os=-coff
-		;;
-	tic55x | c55x*)
-		basic_machine=tic55x-unknown
-		os=-coff
-		;;
-	tic6x | c6x*)
-		basic_machine=tic6x-unknown
-		os=-coff
-		;;
-        # This must be matched before tile*.
-        tilegx*)
-		basic_machine=tilegx-unknown
-		os=-linux-gnu
-		;;
 	tile*)
-		basic_machine=tile-unknown
+		basic_machine=$basic_machine-unknown
 		os=-linux-gnu
 		;;
 	tx39)
@@ -1163,6 +1212,9 @@ case $basic_machine in
 	xps | xps100)
 		basic_machine=xps100-honeywell
 		;;
+	xscale-* | xscalee[bl]-*)
+		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+		;;
 	ymp)
 		basic_machine=ymp-cray
 		os=-unicos
@@ -1260,11 +1312,11 @@ esac
 if [ x"$os" != x"" ]
 then
 case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
+	# First match some system type aliases
+	# that might get confused with valid system types.
 	# -solaris* is a basic system type, with this one exception.
-        -auroraux)
-	        os=-auroraux
+	-auroraux)
+		os=-auroraux
 		;;
 	-solaris1 | -solaris1.*)
 		os=`echo $os | sed -e 's|solaris1|sunos4|'`
@@ -1300,8 +1352,9 @@ case $os in
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* | -cegcc* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-android* \
+	      | -linux-newlib* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1348,7 +1401,7 @@ case $os in
 	-opened*)
 		os=-openedition
 		;;
-        -os400*)
+	-os400*)
 		os=-os400
 		;;
 	-wince*)
@@ -1397,7 +1450,7 @@ case $os in
 	-sinix*)
 		os=-sysv4
 		;;
-        -tpf*)
+	-tpf*)
 		os=-tpf
 		;;
 	-triton*)
@@ -1442,8 +1495,8 @@ case $os in
 	-dicos*)
 		os=-dicos
 		;;
-        -nacl*)
-	        ;;
+	-nacl*)
+		;;
 	-none)
 		;;
 	*)
@@ -1466,10 +1519,10 @@ else
 # system, and we'll never get to this point.
 
 case $basic_machine in
-        score-*)
+	score-*)
 		os=-elf
 		;;
-        spu-*)
+	spu-*)
 		os=-elf
 		;;
 	*-acorn)
@@ -1481,8 +1534,17 @@ case $basic_machine in
 	arm*-semi)
 		os=-aout
 		;;
-        c4x-* | tic4x-*)
-        	os=-coff
+	c4x-* | tic4x-*)
+		os=-coff
+		;;
+	tic54x-*)
+		os=-coff
+		;;
+	tic55x-*)
+		os=-coff
+		;;
+	tic6x-*)
+		os=-coff
 		;;
 	# This must come before the *-dec entry.
 	pdp10-*)
@@ -1502,14 +1564,11 @@ case $basic_machine in
 		;;
 	m68000-sun)
 		os=-sunos3
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
 		;;
 	m68*-cisco)
 		os=-aout
 		;;
-        mep-*)
+	mep-*)
 		os=-elf
 		;;
 	mips*-cisco)
@@ -1536,7 +1595,7 @@ case $basic_machine in
 	*-ibm)
 		os=-aix
 		;;
-    	*-knuth)
+	*-knuth)
 		os=-mmixware
 		;;
 	*-wec)
diff --git a/build/aux/depcomp b/build/aux/depcomp
index df8eea7..25a39e6 100755
--- a/build/aux/depcomp
+++ b/build/aux/depcomp
@@ -1,10 +1,10 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-03-27.16; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
+# 2011, 2012 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@ scriptversion=2009-04-28.21; # UTC
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
@@ -40,11 +40,11 @@ as side-effects.
 
 Environment variables:
   depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
+  tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <bug-automake at gnu.org>.
@@ -57,6 +57,12 @@ EOF
     ;;
 esac
 
+# A tabulation character.
+tab='	'
+# A newline character.
+nl='
+'
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
@@ -90,10 +96,24 @@ if test "$depmode" = msvcmsys; then
    # This is just like msvisualcpp but w/o cygpath translation.
    # Just convert the backslash-escaped backslashes to single forward
    # slashes to satisfy depend.m4
-   cygpath_u="sed s,\\\\\\\\,/,g"
+   cygpath_u='sed s,\\\\,/,g'
    depmode=msvisualcpp
 fi
 
+if test "$depmode" = msvc7msys; then
+   # This is just like msvc7 but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u='sed s,\\\\,/,g'
+   depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
+   gccflag=-qmakedep=gcc,-MF
+   depmode=gcc
+fi
+
 case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
@@ -148,20 +168,21 @@ gcc)
 ## The second -e expression handles DOS-style file names with drive letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
 ## The problem is that when a header file which appears in a .P file
 ## is deleted, the dependency causes make to die (because there is
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
+  tr ' ' "$nl" < "$tmpdepfile" |
+## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
-## well.
+## well.  hp depmode also adds that space, but also prefixes the VPATH
+## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+      | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -193,18 +214,15 @@ sgi)
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
+    # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
+    tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
 
     # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
    >> "$depfile"
   else
@@ -216,10 +234,17 @@ sgi)
   rm -f "$tmpdepfile"
   ;;
 
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
@@ -249,12 +274,11 @@ aix)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
+    # Each line is of the form 'foo.o: dependent.h'.
     # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
+    # '$object: dependent.h' and one to simply 'dependent.h:'.
     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   else
     # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile
@@ -265,23 +289,26 @@ aix)
   ;;
 
 icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
+  # However on
+  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
   # ICC 7.0 will fill foo.d with something like
   #    foo.o: sub/foo.c
   #    foo.o: sub/foo.h
-  # which is wrong.  We want:
+  # which is wrong.  We want
   #    sub/foo.o: sub/foo.c
   #    sub/foo.o: sub/foo.h
   #    sub/foo.c:
   #    sub/foo.h:
   # ICC 7.1 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
+  # and will wrap long lines using '\':
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
-
+  # tcc 0.9.26 (FIXME still under development at the moment of writing)
+  # will emit a similar output, but also prepend the continuation lines
+  # with horizontal tabulation characters.
   "$@" -MD -MF "$tmpdepfile"
   stat=$?
   if test $stat -eq 0; then :
@@ -290,15 +317,21 @@ icc)
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Each line is of the form 'foo.o: dependent.h',
+  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
   # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  # '$object: dependent.h' and one to simply 'dependent.h:'.
+  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
+    < "$tmpdepfile" > "$depfile"
+  sed '
+    s/[ '"$tab"'][ '"$tab"']*/ /g
+    s/^ *//
+    s/ *\\*$//
+    s/^[^:]*: *//
+    /^$/d
+    /:$/d
+    s/$/ :/
+  ' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -334,7 +367,7 @@ hp2)
   done
   if test -f "$tmpdepfile"; then
     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
+    # Add 'dependent.h:' lines.
     sed -ne '2,${
 	       s/^ *//
 	       s/ \\*$//
@@ -349,9 +382,9 @@ hp2)
 
 tru64)
    # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
+   # dependencies in 'foo.d' instead, so we check for that too.
    # Subdirectories are respected.
    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
    test "x$dir" = "x$object" && dir=
@@ -397,14 +430,59 @@ tru64)
    done
    if test -f "$tmpdepfile"; then
       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
    else
       echo "#dummy" > "$depfile"
    fi
    rm -f "$tmpdepfile"
    ;;
 
+msvc7)
+  if test "$libtool" = yes; then
+    showIncludes=-Wc,-showIncludes
+  else
+    showIncludes=-showIncludes
+  fi
+  "$@" $showIncludes > "$tmpdepfile"
+  stat=$?
+  grep -v '^Note: including file: ' "$tmpdepfile"
+  if test "$stat" = 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The first sed program below extracts the file names and escapes
+  # backslashes for cygpath.  The second sed program outputs the file
+  # name when reading, but also accumulates all include files in the
+  # hold buffer in order to output them again at the end.  This only
+  # works with sed implementations that can handle large buffers.
+  sed < "$tmpdepfile" -n '
+/^Note: including file:  *\(.*\)/ {
+  s//\1/
+  s/\\/\\\\/g
+  p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+  s/.*/'"$tab"'/
+  G
+  p
+}' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvc7msys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 #nosideeffect)
   # This comment above is used by automake to tell side-effect
   # dependency tracking mechanisms from slower ones.
@@ -422,7 +500,7 @@ dashmstdout)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -442,15 +520,14 @@ dashmstdout)
   done
 
   test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
+  # Require at least two characters before searching for ':'
   # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
+  tr ' ' "$nl" < "$tmpdepfile" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -503,9 +580,10 @@ makedepend)
   touch "$tmpdepfile"
   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
+  # makedepend may prepend the VPATH from the source file name to the object.
+  # No need to regex-escape $object, excess matching of '.' is harmless.
+  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -525,7 +603,7 @@ cpp)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -594,8 +672,8 @@ msvisualcpp)
   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
-  echo "	" >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
diff --git a/build/aux/install-sh b/build/aux/install-sh
index 6781b98..a9244eb 100755
--- a/build/aux/install-sh
+++ b/build/aux/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2011-01-19.21; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -156,6 +156,10 @@ while test $# -ne 0; do
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
+	# Protect names problematic for `test' and other utilities.
+	case $dst_arg in
+	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
+	esac
 	shift;;
 
     -T) no_target_directory=true;;
@@ -186,6 +190,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
+    # Protect names problematic for `test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
   done
 fi
 
@@ -200,7 +208,11 @@ if test $# -eq 0; then
 fi
 
 if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
 
   # Set umask so as not to create temps with too-generous modes.
   # However, 'strip' requires both read and write access to temps.
@@ -228,9 +240,9 @@ fi
 
 for src
 do
-  # Protect names starting with `-'.
+  # Protect names problematic for `test' and other utilities.
   case $src in
-    -*) src=./$src;;
+    -* | [=\(\)!]) src=./$src;;
   esac
 
   if test -n "$dir_arg"; then
@@ -252,12 +264,7 @@ do
       echo "$0: no destination specified." >&2
       exit 1
     fi
-
     dst=$dst_arg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst;;
-    esac
 
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
@@ -385,7 +392,7 @@ do
 
       case $dstdir in
 	/*) prefix='/';;
-	-*) prefix='./';;
+	[-=\(\)!]*) prefix='./';;
 	*)  prefix='';;
       esac
 
@@ -403,7 +410,7 @@ do
 
       for d
       do
-	test -z "$d" && continue
+	test X"$d" = X && continue
 
 	prefix=$prefix$d
 	if test -d "$prefix"; then
diff --git a/build/aux/ltmain.sh b/build/aux/ltmain.sh
old mode 100755
new mode 100644
index 6f650ae..c7d06c3
--- a/build/aux/ltmain.sh
+++ b/build/aux/ltmain.sh
@@ -1,9 +1,9 @@
 
-# libtool (GNU libtool) 2.4
+# libtool (GNU libtool) 2.4.2
 # Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
@@ -41,6 +41,7 @@
 #       --quiet, --silent    don't print informational messages
 #       --no-quiet, --no-silent
 #                            print informational messages (default)
+#       --no-warn            don't display warning messages
 #       --tag=TAG            use configuration variables from tag TAG
 #   -v, --verbose            print more informational messages than default
 #       --no-verbose         don't print the extra informational messages
@@ -69,7 +70,7 @@
 #         compiler:		$LTCC
 #         compiler flags:		$LTCFLAGS
 #         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4 Debian-2.4-2
+#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1
 #         automake:	$automake_version
 #         autoconf:	$autoconf_version
 #
@@ -79,9 +80,9 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4 Debian-2.4-2"
+VERSION="2.4.2 Debian-2.4.2-1"
 TIMESTAMP=""
-package_revision=1.3293
+package_revision=1.3337
 
 # Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -136,15 +137,10 @@ progpath="$0"
 
 : ${CP="cp -f"}
 test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${EGREP="/bin/grep -E"}
-: ${FGREP="/bin/grep -F"}
-: ${GREP="/bin/grep"}
-: ${LN_S="ln -s"}
 : ${MAKE="make"}
 : ${MKDIR="mkdir"}
 : ${MV="mv -f"}
 : ${RM="rm -f"}
-: ${SED="/bin/sed"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
 : ${Xsed="$SED -e 1s/^X//"}
 
@@ -387,7 +383,7 @@ case $progpath in
      ;;
   *)
      save_IFS="$IFS"
-     IFS=:
+     IFS=${PATH_SEPARATOR-:}
      for progdir in $PATH; do
        IFS="$save_IFS"
        test -x "$progdir/$progname" && break
@@ -771,8 +767,8 @@ func_help ()
 	s*\$LTCFLAGS*'"$LTCFLAGS"'*
 	s*\$LD*'"$LD"'*
 	s/\$with_gnu_ld/'"$with_gnu_ld"'/
-	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
-	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+	s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+	s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
 	p
 	d
      }
@@ -1052,6 +1048,7 @@ opt_finish=false
 opt_help=false
 opt_help_all=false
 opt_silent=:
+opt_warning=:
 opt_verbose=:
 opt_silent=false
 opt_verbose=false
@@ -1120,6 +1117,10 @@ esac
 			opt_silent=false
 func_append preserve_args " $opt"
 			;;
+      --no-warning|--no-warn)
+			opt_warning=false
+func_append preserve_args " $opt"
+			;;
       --no-verbose)
 			opt_verbose=false
 func_append preserve_args " $opt"
@@ -2059,7 +2060,7 @@ func_mode_compile ()
     *.[cCFSifmso] | \
     *.ada | *.adb | *.ads | *.asm | \
     *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
+    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
       func_xform "$libobj"
       libobj=$func_xform_result
       ;;
@@ -3201,11 +3202,13 @@ func_mode_install ()
 
       # Set up the ranlib parameters.
       oldlib="$destdir/$name"
+      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+      tool_oldlib=$func_to_tool_file_result
 
       func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
 
       if test -n "$stripme" && test -n "$old_striplib"; then
-	func_show_eval "$old_striplib $oldlib" 'exit $?'
+	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
       fi
 
       # Do each command in the postinstall commands.
@@ -3470,7 +3473,7 @@ static const void *lt_preloaded_setup() {
 	  # linked before any other PIC object.  But we must not use
 	  # pic_flag when linking with -static.  The problem exists in
 	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
 	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
 	  *-*-hpux*)
 	    pic_flag_for_symtable=" $pic_flag"  ;;
@@ -3982,14 +3985,17 @@ func_exec_program_core ()
 # launches target application with the remaining arguments.
 func_exec_program ()
 {
-  for lt_wr_arg
-  do
-    case \$lt_wr_arg in
-    --lt-*) ;;
-    *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-    esac
-    shift
-  done
+  case \" \$* \" in
+  *\\ --lt-*)
+    for lt_wr_arg
+    do
+      case \$lt_wr_arg in
+      --lt-*) ;;
+      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+      esac
+      shift
+    done ;;
+  esac
   func_exec_program_core \${1+\"\$@\"}
 }
 
@@ -5057,9 +5063,15 @@ void lt_dump_script (FILE* f)
 {
 EOF
 	    func_emit_wrapper yes |
-              $SED -e 's/\([\\"]\)/\\\1/g' \
-	           -e 's/^/  fputs ("/' -e 's/$/\\n", f);/'
-
+	      $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/  fputs ("\1", f);/p
+g
+D'
             cat <<"EOF"
 }
 EOF
@@ -5643,7 +5655,8 @@ func_mode_link ()
 	continue
 	;;
 
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
 	func_append compiler_flags " $arg"
 	func_append compile_command " $arg"
 	func_append finalize_command " $arg"
@@ -6150,7 +6163,8 @@ func_mode_link ()
 	lib=
 	found=no
 	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
 	  if test "$linkmode,$pass" = "prog,link"; then
 	    compile_deplibs="$deplib $compile_deplibs"
 	    finalize_deplibs="$deplib $finalize_deplibs"
@@ -6834,7 +6848,7 @@ func_mode_link ()
 	         test "$hardcode_direct_absolute" = no; then
 		add="$dir/$linklib"
 	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$dir"
+		add_dir="-L$absdir"
 		# Try looking first in the location we're being installed to.
 		if test -n "$inst_prefix_dir"; then
 		  case $libdir in
@@ -7319,6 +7333,7 @@ func_mode_link ()
 	  # which has an extra 1 added just for fun
 	  #
 	  case $version_type in
+	  # correct linux to gnu/linux during the next big refactor
 	  darwin|linux|osf|windows|none)
 	    func_arith $number_major + $number_minor
 	    current=$func_arith_result
@@ -7438,7 +7453,7 @@ func_mode_link ()
 	  versuffix="$major.$revision"
 	  ;;
 
-	linux)
+	linux) # correct to gnu/linux during the next big refactor
 	  func_arith $current - $age
 	  major=.$func_arith_result
 	  versuffix="$major.$age.$revision"
@@ -8026,6 +8041,11 @@ EOF
 
       # Test again, we may have decided not to build it any more
       if test "$build_libtool_libs" = yes; then
+	# Remove ${wl} instances when linking with ld.
+	# FIXME: should test the right _cmds variable.
+	case $archive_cmds in
+	  *\$LD\ *) wl= ;;
+        esac
 	if test "$hardcode_into_libs" = yes; then
 	  # Hardcode the library paths
 	  hardcode_libdirs=
@@ -8056,7 +8076,7 @@ EOF
 	    elif test -n "$runpath_var"; then
 	      case "$perm_rpath " in
 	      *" $libdir "*) ;;
-	      *) func_apped perm_rpath " $libdir" ;;
+	      *) func_append perm_rpath " $libdir" ;;
 	      esac
 	    fi
 	  done
@@ -8064,11 +8084,7 @@ EOF
 	  if test -n "$hardcode_libdir_separator" &&
 	     test -n "$hardcode_libdirs"; then
 	    libdir="$hardcode_libdirs"
-	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
-	    else
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-	    fi
+	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
 	  fi
 	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
 	    # We should set the runpath_var.
@@ -9158,6 +9174,8 @@ EOF
 	    esac
 	  done
 	fi
+	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+	tool_oldlib=$func_to_tool_file_result
 	eval cmds=\"$old_archive_cmds\"
 
 	func_len " $cmds"
@@ -9267,7 +9285,8 @@ EOF
 	      *.la)
 		func_basename "$deplib"
 		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		func_resolve_sysroot "$deplib"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
 		test -z "$libdir" && \
 		  func_fatal_error "\`$deplib' is not a valid libtool archive"
 		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
diff --git a/build/aux/missing b/build/aux/missing
index 28055d2..86a8fc3 100755
--- a/build/aux/missing
+++ b/build/aux/missing
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-01-06.13; # UTC
 
 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -84,7 +84,6 @@ Supported PROGRAM values:
   help2man     touch the output file
   lex          create \`lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 
 Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
@@ -122,15 +121,6 @@ case $1 in
     # Not GNU programs, they don't have --version.
     ;;
 
-  tar*)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
-
   *)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
        # We have it, but it failed.
@@ -226,7 +216,7 @@ WARNING: \`$1' $msg.  You should only need it if
          \`Bison' from any GNU archive site."
     rm -f y.tab.c y.tab.h
     if test $# -ne 1; then
-        eval LASTARG="\${$#}"
+        eval LASTARG=\${$#}
 	case $LASTARG in
 	*.y)
 	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
@@ -256,7 +246,7 @@ WARNING: \`$1' is $msg.  You should only need it if
          \`Flex' from any GNU archive site."
     rm -f lex.yy.c
     if test $# -ne 1; then
-        eval LASTARG="\${$#}"
+        eval LASTARG=\${$#}
 	case $LASTARG in
 	*.l)
 	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
@@ -318,41 +308,6 @@ WARNING: \`$1' is $msg.  You should only need it if
     touch $file
     ;;
 
-  tar*)
-    shift
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-	case $firstarg in
-	*o*)
-	    firstarg=`echo "$firstarg" | sed s/o//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-	case $firstarg in
-	*h*)
-	    firstarg=`echo "$firstarg" | sed s/h//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
   *)
     echo 1>&2 "\
 WARNING: \`$1' is needed, and is $msg.
diff --git a/build/m4/libtool.m4 b/build/m4/libtool.m4
index 8ff3c76..828104c 100644
--- a/build/m4/libtool.m4
+++ b/build/m4/libtool.m4
@@ -1,8 +1,8 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
@@ -11,8 +11,8 @@
 
 m4_define([_LT_COPYING], [dnl
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -146,6 +146,8 @@ AC_REQUIRE([AC_CANONICAL_BUILD])dnl
 AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
 
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
 _LT_DECL([], [host_alias], [0], [The host system])dnl
 _LT_DECL([], [host], [0])dnl
 _LT_DECL([], [host_os], [0])dnl
@@ -637,7 +639,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
 configured by $[0], generated by m4_PACKAGE_STRING.
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2011 Free Software Foundation, Inc.
 This config.lt script is free software; the Free Software Foundation
 gives unlimited permision to copy, distribute and modify it."
 
@@ -801,6 +803,7 @@ AC_DEFUN([LT_LANG],
 m4_case([$1],
   [C],			[_LT_LANG(C)],
   [C++],		[_LT_LANG(CXX)],
+  [Go],			[_LT_LANG(GO)],
   [Java],		[_LT_LANG(GCJ)],
   [Fortran 77],		[_LT_LANG(F77)],
   [Fortran],		[_LT_LANG(FC)],
@@ -822,6 +825,31 @@ m4_defun([_LT_LANG],
 ])# _LT_LANG
 
 
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC],     [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+  fi
+fi
+if test -z "$GOC"; then
+  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
 # _LT_LANG_DEFAULT_CONFIG
 # -----------------------
 m4_defun([_LT_LANG_DEFAULT_CONFIG],
@@ -852,6 +880,10 @@ AC_PROVIDE_IFELSE([AC_PROG_GCJ],
        m4_ifdef([LT_PROG_GCJ],
 	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
 
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+  [LT_LANG(GO)],
+  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
 AC_PROVIDE_IFELSE([LT_PROG_RC],
   [LT_LANG(RC)],
   [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
@@ -954,7 +986,13 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
 	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
 	  lt_cv_apple_cc_single_mod=yes
 	else
 	  cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -962,6 +1000,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	rm -rf libconftest.dylib*
 	rm -f conftest.*
       fi])
+
     AC_CACHE_CHECK([for -exported_symbols_list linker flag],
       [lt_cv_ld_exported_symbols_list],
       [lt_cv_ld_exported_symbols_list=no
@@ -973,6 +1012,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	[lt_cv_ld_exported_symbols_list=no])
 	LDFLAGS="$save_LDFLAGS"
     ])
+
     AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
       [lt_cv_ld_force_load=no
       cat > conftest.c << _LT_EOF
@@ -990,7 +1030,9 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
 	lt_cv_ld_force_load=yes
       else
 	cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1035,8 +1077,8 @@ _LT_EOF
 ])
 
 
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
 # Checks for linker and compiler features on darwin
 m4_defun([_LT_DARWIN_LINKER_FEATURES],
 [
@@ -1047,6 +1089,8 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
   if test "$lt_cv_ld_force_load" = "yes"; then
     _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
   else
     _LT_TAGVAR(whole_archive_flag_spec, $1)=''
   fi
@@ -1330,14 +1374,27 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-sparc*-*solaris*)
+*-*solaris*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
       *)
 	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
 	  LD="${LD-ld} -64"
@@ -1414,13 +1471,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
 fi
 
 case $host_os in
@@ -1600,6 +1657,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     lt_cv_sys_max_cmd_len=196608
     ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -1639,7 +1701,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
 	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
 	      test $i != 17 # 1/2 MB should be enough
       do
@@ -2185,7 +2247,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -2194,7 +2256,7 @@ aix3*)
   ;;
 
 aix[[4-9]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -2259,7 +2321,7 @@ beos*)
   ;;
 
 bsdi[[45]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -2398,7 +2460,7 @@ m4_if([$1], [],[
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -2406,10 +2468,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -2417,7 +2475,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
+    freebsd[[23]].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -2435,7 +2493,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[[01]]* | freebsdelf3.[[01]]*)
@@ -2455,7 +2513,7 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
@@ -2466,7 +2524,7 @@ gnu*)
   ;;
 
 haiku*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -2527,7 +2585,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[[3-9]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -2543,7 +2601,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -2580,9 +2638,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2657,7 +2715,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -2726,7 +2784,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2751,7 +2809,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -2775,7 +2833,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -2806,7 +2864,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2816,7 +2874,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -3238,7 +3296,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3658,6 +3716,7 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK ['"\
 "     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -4242,7 +4301,9 @@ m4_if([$1], [CXX], [
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+      fi
       ;;
     esac
   else
@@ -4334,18 +4395,33 @@ m4_if([$1], [CXX], [
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ F* | *Sun*Fortran*)
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
 	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
 	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
 	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	  ;;
 	*Sun\ C*)
 	  # Sun C 5.9
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
 	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	  ;;
+        *Intel*\ [[CF]]*Compiler*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	  ;;
+	*Portland\ Group*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  ;;
 	esac
 	;;
       esac
@@ -4505,7 +4581,9 @@ m4_if([$1], [CXX], [
     ;;
   cygwin* | mingw* | cegcc*)
     case $cc_basename in
-    cl*) ;;
+    cl*)
+      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
     *)
       _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
       _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
@@ -4533,7 +4611,6 @@ m4_if([$1], [CXX], [
   _LT_TAGVAR(hardcode_direct, $1)=no
   _LT_TAGVAR(hardcode_direct_absolute, $1)=no
   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
   _LT_TAGVAR(hardcode_libdir_separator, $1)=
   _LT_TAGVAR(hardcode_minus_L, $1)=no
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -4787,8 +4864,7 @@ _LT_EOF
 	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
@@ -5084,6 +5160,7 @@ _LT_EOF
 	# The linker will not automatically build a static lib if we build a DLL.
 	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
 	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
 	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
 	# Don't use ranlib
 	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
@@ -5130,10 +5207,6 @@ _LT_EOF
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
-    freebsd1*)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     # support.  Future versions do this automatically, but an explicit c++rt0.o
     # does not break anything, and helps significantly (at the cost of a little
@@ -5146,7 +5219,7 @@ _LT_EOF
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
+    freebsd2.*)
       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       _LT_TAGVAR(hardcode_direct, $1)=yes
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5185,7 +5258,6 @@ _LT_EOF
       fi
       if test "$with_gnu_ld" = no; then
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
 	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
 	_LT_TAGVAR(hardcode_direct, $1)=yes
 	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
@@ -5627,9 +5699,6 @@ _LT_TAGDECL([], [no_undefined_flag], [1],
 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
     [Flag to hardcode $libdir into a binary during linking.
     This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
-    [[If ld is used when linking, flag to hardcode $libdir into a binary
-    during linking.  This must work even if $libdir does not exist]])
 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
     [Whether we need a single "-rpath" flag with a separated argument])
 _LT_TAGDECL([], [hardcode_direct], [0],
@@ -5787,7 +5856,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -6157,7 +6225,7 @@ if test "$_lt_caught_CXX_error" != yes; then
         esac
         ;;
 
-      freebsd[[12]]*)
+      freebsd2.*)
         # C++ shared libraries reported to be fairly broken before
 	# switch to ELF
         _LT_TAGVAR(ld_shlibs, $1)=no
@@ -6918,12 +6986,18 @@ public class foo {
   }
 };
 _LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
 ])
 
 _lt_libdeps_save_CFLAGS=$CFLAGS
 case "$CC $CFLAGS " in #(
 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
 esac
 
 dnl Parse the compiler output and extract the necessary
@@ -7120,7 +7194,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_automatic, $1)=no
@@ -7253,7 +7326,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_automatic, $1)=no
@@ -7440,6 +7512,77 @@ CFLAGS=$lt_save_CFLAGS
 ])# _LT_LANG_GCJ_CONFIG
 
 
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
 # _LT_LANG_RC_CONFIG([TAG])
 # -------------------------
 # Ensure that the configuration variables for the Windows resource compiler
@@ -7509,6 +7652,13 @@ dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
 
 
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
 # LT_PROG_RC
 # ----------
 AC_DEFUN([LT_PROG_RC],
diff --git a/build/m4/ltoptions.m4 b/build/m4/ltoptions.m4
index 17cfd51..5d9acd8 100644
--- a/build/m4/ltoptions.m4
+++ b/build/m4/ltoptions.m4
@@ -326,9 +326,24 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
 # MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
 m4_define([_LT_WITH_PIC],
 [AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic],
+    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
 	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
+    [lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+	IFS="$lt_save_ifs"
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
     [pic_mode=default])
 
 test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
diff --git a/build/m4/ltversion.m4 b/build/m4/ltversion.m4
index 9c7b5d4..07a8602 100644
--- a/build/m4/ltversion.m4
+++ b/build/m4/ltversion.m4
@@ -9,15 +9,15 @@
 
 # @configure_input@
 
-# serial 3293 ltversion.m4
+# serial 3337 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.4])
-m4_define([LT_PACKAGE_REVISION], [1.3293])
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4'
-macro_revision='1.3293'
+[macro_version='2.4.2'
+macro_revision='1.3337'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
diff --git a/config.h.in b/config.h.in
index fb49cf8..423fcf8 100644
--- a/config.h.in
+++ b/config.h.in
@@ -55,18 +55,6 @@
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
-/* Path to the sfill binary */
-#undef SFILL_PATH
-
-/* Path to the smem binary */
-#undef SMEM_PATH
-
-/* Path to the srm binary */
-#undef SRM_PATH
-
-/* Path to the sswap binary */
-#undef SSWAP_PATH
-
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
diff --git a/configure b/configure
index 7393ec1..4b4f07a 100755
--- a/configure
+++ b/configure
@@ -1,13 +1,11 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libgsecuredelete 0.1.
+# Generated by GNU Autoconf 2.69 for libgsecuredelete 0.2.
 #
 # Report bugs to <ban at herbesfolles.org>.
 #
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -136,6 +134,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -169,7 +192,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -222,21 +246,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	# Preserve -v and -x to the replacement shell.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	case $- in # ((((
-	  *v*x* | *x*v* ) as_opts=-vx ;;
-	  *v* ) as_opts=-v ;;
-	  *x* ) as_opts=-x ;;
-	  * ) as_opts= ;;
-	esac
-	exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -339,6 +367,14 @@ $as_echo X"$as_dir" |
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -460,6 +496,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -494,16 +534,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -515,28 +555,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -630,8 +650,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='libgsecuredelete'
 PACKAGE_TARNAME='libgsecuredelete'
-PACKAGE_VERSION='0.1'
-PACKAGE_STRING='libgsecuredelete 0.1'
+PACKAGE_VERSION='0.2'
+PACKAGE_STRING='libgsecuredelete 0.2'
 PACKAGE_BUGREPORT='ban at herbesfolles.org'
 PACKAGE_URL=''
 
@@ -684,6 +704,10 @@ PKG_CONFIG_LIBDIR
 PKG_CONFIG_PATH
 PKG_CONFIG
 VALA_PACKAGES
+SSWAP_PATH
+SMEM_PATH
+SFILL_PATH
+SRM_PATH
 SSWAP
 SMEM
 SFILL
@@ -716,6 +740,7 @@ SED
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
+am__nodep
 AMDEPBACKSLASH
 AMDEP_FALSE
 AMDEP_TRUE
@@ -741,6 +766,8 @@ LIBTOOL
 GSD_LTVERSION
 AM_BACKSLASH
 AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
 am__untar
 am__tar
 AMTAR
@@ -1291,8 +1318,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1378,7 +1403,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libgsecuredelete 0.1 to adapt to many kinds of systems.
+\`configure' configures libgsecuredelete 0.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1449,7 +1474,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libgsecuredelete 0.1:";;
+     short | recursive ) echo "Configuration of libgsecuredelete 0.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1471,7 +1496,7 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
+  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-sysroot=DIR Search for dependent libraries within DIR
@@ -1568,10 +1593,10 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libgsecuredelete configure 0.1
-generated by GNU Autoconf 2.68
+libgsecuredelete configure 0.2
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1647,7 +1672,7 @@ $as_echo "$ac_try_echo"; } >&5
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1846,8 +1871,8 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libgsecuredelete $as_me 0.1, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+It was created by libgsecuredelete $as_me 0.2, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2264,7 +2289,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -2433,7 +2458,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2473,7 +2498,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2524,7 +2549,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_prog in mkdir gmkdir; do
 	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
 	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
 	     'mkdir (GNU coreutils) '* | \
 	     'mkdir (coreutils) '* | \
@@ -2577,7 +2602,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2663,7 +2688,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='libgsecuredelete'
- VERSION='0.1'
+ VERSION='0.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2693,11 +2718,11 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
 
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
@@ -2716,6 +2741,33 @@ yes) AM_DEFAULT_VERBOSITY=0;;
 no)  AM_DEFAULT_VERBOSITY=1;;
 *)   AM_DEFAULT_VERBOSITY=0;;
 esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
 AM_BACKSLASH='\'
 
 
@@ -2742,8 +2794,8 @@ esac
 
 
 
-macro_version='2.4'
-macro_revision='1.3293'
+macro_version='2.4.2'
+macro_revision='1.3337'
 
 
 
@@ -2951,6 +3003,7 @@ fi
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
  if test "x$enable_dependency_tracking" != xno; then
   AMDEP_TRUE=
@@ -2983,7 +3036,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3023,7 +3076,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3076,7 +3129,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3117,7 +3170,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -3175,7 +3228,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3219,7 +3272,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3665,8 +3718,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3764,6 +3816,7 @@ else
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -3823,7 +3876,7 @@ else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -3900,7 +3953,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -3976,7 +4029,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -4042,7 +4095,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -4109,7 +4162,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -4365,7 +4418,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4409,7 +4462,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4567,6 +4620,11 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -4606,7 +4664,7 @@ else
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
 	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
 	      test $i != 17 # 1/2 MB should be enough
       do
@@ -4828,7 +4886,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4868,7 +4926,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5035,7 +5093,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -5174,7 +5232,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5214,7 +5272,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DLLTOOL="dlltool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5318,7 +5376,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5362,7 +5420,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5487,7 +5545,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5527,7 +5585,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5586,7 +5644,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5626,7 +5684,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5676,13 +5734,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
 fi
 
 case $host_os in
@@ -5829,6 +5887,7 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -6217,7 +6276,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-sparc*-*solaris*)
+*-*solaris*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
@@ -6228,7 +6287,20 @@ sparc*-*solaris*)
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
       *)
 	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
 	  LD="${LD-ld} -64"
@@ -6261,7 +6333,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6301,7 +6373,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6381,7 +6453,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6421,7 +6493,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6473,7 +6545,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6513,7 +6585,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6565,7 +6637,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6605,7 +6677,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6657,7 +6729,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6697,7 +6769,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6749,7 +6821,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6789,7 +6861,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6868,7 +6940,13 @@ else
 	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
 	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&5
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
 	  lt_cv_apple_cc_single_mod=yes
 	else
 	  cat conftest.err >&5
@@ -6879,6 +6957,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
 if ${lt_cv_ld_exported_symbols_list+:} false; then :
@@ -6911,6 +6990,7 @@ rm -f core conftest.err conftest.$ac_objext \
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
 if ${lt_cv_ld_force_load+:} false; then :
@@ -6932,7 +7012,9 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&5
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
 	lt_cv_ld_force_load=yes
       else
 	cat conftest.err >&5
@@ -7337,7 +7419,22 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
+  withval=$with_pic; lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+	IFS="$lt_save_ifs"
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
 else
   pic_mode=default
 fi
@@ -7415,6 +7512,10 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
+
+
+
+
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -7874,7 +7975,9 @@ lt_prog_compiler_static=
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
+      if test -n "$lt_prog_compiler_pic"; then
+        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+      fi
       ;;
     esac
   else
@@ -7965,18 +8068,33 @@ lt_prog_compiler_static=
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ F* | *Sun*Fortran*)
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
 	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
 	  lt_prog_compiler_pic='-KPIC'
 	  lt_prog_compiler_static='-Bstatic'
 	  lt_prog_compiler_wl=''
 	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Qoption ld '
+	  ;;
 	*Sun\ C*)
 	  # Sun C 5.9
 	  lt_prog_compiler_pic='-KPIC'
 	  lt_prog_compiler_static='-Bstatic'
 	  lt_prog_compiler_wl='-Wl,'
 	  ;;
+        *Intel*\ [CF]*Compiler*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fPIC'
+	  lt_prog_compiler_static='-static'
+	  ;;
+	*Portland\ Group*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fpic'
+	  lt_prog_compiler_static='-Bstatic'
+	  ;;
 	esac
 	;;
       esac
@@ -8338,7 +8456,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   hardcode_direct=no
   hardcode_direct_absolute=no
   hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
   hardcode_libdir_separator=
   hardcode_minus_L=no
   hardcode_shlibpath_var=unsupported
@@ -8591,8 +8708,7 @@ _LT_EOF
 	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-	  hardcode_libdir_flag_spec=
-	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
+	  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
 	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
@@ -8972,6 +9088,7 @@ fi
 	# The linker will not automatically build a static lib if we build a DLL.
 	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
 	enable_shared_with_static_runtimes=yes
+	exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
 	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 	# Don't use ranlib
 	old_postinstall_cmds='chmod 644 $oldlib'
@@ -9017,6 +9134,7 @@ fi
   hardcode_shlibpath_var=unsupported
   if test "$lt_cv_ld_force_load" = "yes"; then
     whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
   else
     whole_archive_flag_spec=''
   fi
@@ -9045,10 +9163,6 @@ fi
       hardcode_shlibpath_var=no
       ;;
 
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     # support.  Future versions do this automatically, but an explicit c++rt0.o
     # does not break anything, and helps significantly (at the cost of a little
@@ -9061,7 +9175,7 @@ fi
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
+    freebsd2.*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -9100,7 +9214,6 @@ fi
       fi
       if test "$with_gnu_ld" = no; then
 	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-	hardcode_libdir_flag_spec_ld='+b $libdir'
 	hardcode_libdir_separator=:
 	hardcode_direct=yes
 	hardcode_direct_absolute=yes
@@ -9724,11 +9837,6 @@ esac
 
 
 
-
-
-
-
-
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -9818,7 +9926,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -9827,7 +9935,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -9892,7 +10000,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -10031,7 +10139,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -10039,10 +10147,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -10050,7 +10154,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[123]*) objformat=aout ;;
+    freebsd[23].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -10068,7 +10172,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10088,7 +10192,7 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
@@ -10099,7 +10203,7 @@ gnu*)
   ;;
 
 haiku*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -10160,7 +10264,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -10176,7 +10280,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -10213,9 +10317,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -10309,7 +10413,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -10378,7 +10482,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -10403,7 +10507,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -10427,7 +10531,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -10458,7 +10562,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -10468,7 +10572,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -11250,6 +11354,8 @@ CC="$lt_save_CC"
 
 
 
+
+
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -11276,7 +11382,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_VALAC="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11302,11 +11408,11 @@ fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No Vala compiler found.  You will not be able to compile .vala source files." >&5
 $as_echo "$as_me: WARNING: No Vala compiler found.  You will not be able to compile .vala source files." >&2;}
 else
-  if test -n "0.11.1"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking $VALAC is at least version 0.11.1" >&5
-$as_echo_n "checking $VALAC is at least version 0.11.1... " >&6; }
+  if test -n "0.14.2"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking $VALAC is at least version 0.14.2" >&5
+$as_echo_n "checking $VALAC is at least version 0.14.2... " >&6; }
        am__vala_version=`$VALAC --version | sed 's/Vala  *//'`
-       as_arg_v1=0.11.1
+       as_arg_v1=0.14.2
 as_arg_v2="$am__vala_version"
 awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
 case $? in #(
@@ -11319,7 +11425,7 @@ $as_echo "yes" >&6; } ;; #(
   2) :
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-          as_fn_error $? "Vala 0.11.1 not found." "$LINENO" 5 ;; #(
+          as_fn_error $? "Vala 0.14.2 not found." "$LINENO" 5 ;; #(
   *) :
      ;;
 esac
@@ -11356,7 +11462,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_VALADOC="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11380,10 +11486,10 @@ fi
 
 
          if test "x$VALADOC" != xNONE; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $VALADOC is at least version 0.2.1" >&5
-$as_echo_n "checking whether $VALADOC is at least version 0.2.1... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $VALADOC is at least version 0.3.2" >&5
+$as_echo_n "checking whether $VALADOC is at least version 0.3.2... " >&6; }
                 gsd__valadoc_version=`$VALADOC --version | sed 's/Valadoc  *//'`
-                as_arg_v1=0.2.1
+                as_arg_v1=0.3.2
 as_arg_v2="$gsd__valadoc_version"
 awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
 case $? in #(
@@ -11452,7 +11558,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_SRM="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11519,7 +11625,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_SFILL="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11586,7 +11692,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_SMEM="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11653,7 +11759,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_SSWAP="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11691,25 +11797,13 @@ $as_echo "$SSWAP" >&6; } ;;
 esac
 
 
+SRM_PATH="$SRM"
 
-cat >>confdefs.h <<_ACEOF
-#define SRM_PATH "$SRM"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SFILL_PATH "$SFILL"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SMEM_PATH "$SMEM"
-_ACEOF
+SFILL_PATH="$SFILL"
 
+SMEM_PATH="$SMEM"
 
-cat >>confdefs.h <<_ACEOF
-#define SSWAP_PATH "$SSWAP"
-_ACEOF
+SSWAP_PATH="$SSWAP"
 
 
 
@@ -11723,6 +11817,7 @@ VALA_PACKAGES="glib-2.0 posix"
 
 
 
+
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
 	if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@@ -11743,7 +11838,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11786,7 +11881,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11851,6 +11946,7 @@ if test -n "$GLIB_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -11867,6 +11963,7 @@ if test -n "$GLIB_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -11886,9 +11983,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0" 2>&1`
+	        GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0" 2>&1`
         else
-	        GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0" 2>&1`
+	        GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GLIB_PKG_ERRORS" >&5
@@ -11940,6 +12037,7 @@ if test -n "$GOBJECT_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_GOBJECT_CFLAGS=`$PKG_CONFIG --cflags "gobject-2.0" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -11956,6 +12054,7 @@ if test -n "$GOBJECT_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_GOBJECT_LIBS=`$PKG_CONFIG --libs "gobject-2.0" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -11975,9 +12074,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GOBJECT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gobject-2.0" 2>&1`
+	        GOBJECT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gobject-2.0" 2>&1`
         else
-	        GOBJECT_PKG_ERRORS=`$PKG_CONFIG --print-errors "gobject-2.0" 2>&1`
+	        GOBJECT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gobject-2.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GOBJECT_PKG_ERRORS" >&5
@@ -12450,16 +12549,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -12519,28 +12618,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -12561,8 +12648,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libgsecuredelete $as_me 0.1, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+This file was extended by libgsecuredelete $as_me 0.2, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -12627,11 +12714,11 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libgsecuredelete config.status 0.1
-configured by $0, generated by GNU Autoconf 2.68,
+libgsecuredelete config.status 0.2
+configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -12722,7 +12809,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -12764,6 +12851,7 @@ pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
@@ -12846,7 +12934,6 @@ with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
 allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
 no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
 hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
 hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
 hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
 hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
@@ -12902,6 +12989,7 @@ _LTECHO_EOF'
 # Quote evaled strings.
 for var in SHELL \
 ECHO \
+PATH_SEPARATOR \
 SED \
 GREP \
 EGREP \
@@ -12952,7 +13040,6 @@ with_gnu_ld \
 allow_undefined_flag \
 no_undefined_flag \
 hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
 hardcode_libdir_separator \
 exclude_expsyms \
 include_expsyms \
@@ -13751,8 +13838,8 @@ $as_echo X"$file" |
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -13806,6 +13893,9 @@ SHELL=$lt_SHELL
 # An echo program that protects backslashes.
 ECHO=$lt_ECHO
 
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -14107,10 +14197,6 @@ no_undefined_flag=$lt_no_undefined_flag
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 04c38db..b6d015a 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,6 +15,23 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -50,14 +67,19 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -127,10 +149,14 @@ RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SFILL = @SFILL@
+SFILL_PATH = @SFILL_PATH@
 SHELL = @SHELL@
 SMEM = @SMEM@
+SMEM_PATH = @SMEM_PATH@
 SRM = @SRM@
+SRM_PATH = @SRM_PATH@
 SSWAP = @SSWAP@
+SSWAP_PATH = @SSWAP_PATH@
 STRIP = @STRIP@
 VALAC = @VALAC@
 VALADOC = @VALADOC@
@@ -296,10 +322,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/gsecuredelete/Makefile.in b/gsecuredelete/Makefile.in
index 4859eeb..5efe191 100644
--- a/gsecuredelete/Makefile.in
+++ b/gsecuredelete/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -18,6 +18,23 @@
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -81,6 +98,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(libdir)" \
 	"$(DESTDIR)$(libgsecuredelete_la_includedir)"
 LTLIBRARIES = $(lib_LTLIBRARIES)
@@ -90,8 +113,8 @@ am_libgsecuredelete_la_OBJECTS = gsd-async-operation.lo \
 	gsd-mem-operation.lo gsd-secure-delete-operation.lo \
 	gsd-swap-operation.lo gsd-utils.lo gsd-zeroable-operation.lo
 libgsecuredelete_la_OBJECTS = $(am_libgsecuredelete_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 libgsecuredelete_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
@@ -111,31 +134,36 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
 VALACOMPILE = $(VALAC) $(AM_VALAFLAGS) $(VALAFLAGS)
 LTVALACOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(VALAC) $(AM_VALAFLAGS) \
 	$(VALAFLAGS)
-AM_V_VALAC = $(am__v_VALAC_$(V))
-am__v_VALAC_ = $(am__v_VALAC_$(AM_DEFAULT_VERBOSITY))
+AM_V_VALAC = $(am__v_VALAC_ at AM_V@)
+am__v_VALAC_ = $(am__v_VALAC_ at AM_DEFAULT_V@)
 am__v_VALAC_0 = @echo "  VALAC " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libgsecuredelete_la_SOURCES) $(test_SOURCES)
 DIST_SOURCES = $(libgsecuredelete_la_SOURCES) $(test_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(libgsecuredelete_la_include_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -208,10 +236,14 @@ RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SFILL = @SFILL@
+SFILL_PATH = @SFILL_PATH@
 SHELL = @SHELL@
 SMEM = @SMEM@
+SMEM_PATH = @SMEM_PATH@
 SRM = @SRM@
+SRM_PATH = @SRM_PATH@
 SSWAP = @SSWAP@
+SSWAP_PATH = @SSWAP_PATH@
 STRIP = @STRIP@
 VALAC = @VALAC@
 VALADOC = @VALADOC@
@@ -271,6 +303,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 lib_LTLIBRARIES = libgsecuredelete.la
 EXTRA_DIST = config.vapi
+DISTCLEANFILES = gsd-config.h
 AM_VALAFLAGS = $(VALA_PACKAGES:%=--pkg=%)
 AM_CFLAGS = $(GLIB_CFLAGS) $(GOBJECT_CFLAGS) -DG_LOG_DOMAIN=\"$(PACKAGE)\"
 AM_LDFLAGS = $(GLIB_LIBS) $(GOBJECT_LIBS)
@@ -333,7 +366,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
-	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
 	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
 	list2=; for p in $$list; do \
 	  if test -f $$p; then \
@@ -341,6 +373,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 	  else :; fi; \
 	done; \
 	test -z "$$list2" || { \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
 	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
 	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
 	}
@@ -362,7 +396,7 @@ clean-libLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libgsecuredelete.la: $(libgsecuredelete_la_OBJECTS) $(libgsecuredelete_la_DEPENDENCIES) 
+libgsecuredelete.la: $(libgsecuredelete_la_OBJECTS) $(libgsecuredelete_la_DEPENDENCIES) $(EXTRA_libgsecuredelete_la_DEPENDENCIES) 
 	$(AM_V_CCLD)$(libgsecuredelete_la_LINK) -rpath $(libdir) $(libgsecuredelete_la_OBJECTS) $(libgsecuredelete_la_LIBADD) $(LIBS)
 
 clean-noinstPROGRAMS:
@@ -373,7 +407,7 @@ clean-noinstPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) 
+test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES) 
 	@rm -f test$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
 
@@ -396,82 +430,81 @@ distclean-compile:
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
 $(srcdir)/main.c: $(srcdir)/test_vala.stamp
+	@if test -f $@; then :; else rm -f $(srcdir)/test_vala.stamp; fi
 	@if test -f $@; then :; else \
-	  rm -f $(srcdir)/test_vala.stamp; \
-	  $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) test_vala.stamp; \
+	  $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/test_vala.stamp; \
 	fi
-test_vala.stamp: $(test_SOURCES)
-	$(AM_V_VALAC)$(VALAC) $(test_VALAFLAGS) $(VALAFLAGS) -C $(test_SOURCES)
-	$(AM_V_at)touch $@
+$(srcdir)/test_vala.stamp: main.vala
+	$(AM_V_at)rm -f $@ && echo stamp > $@-t
+	$(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(test_VALAFLAGS) $(VALAFLAGS) -C main.vala
+	$(AM_V_at)mv -f $@-t $@
 $(srcdir)/gsd-async-operation.c: $(srcdir)/libgsecuredelete_la_vala.stamp
+	@if test -f $@; then :; else rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; fi
 	@if test -f $@; then :; else \
-	  rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; \
-	  $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) libgsecuredelete_la_vala.stamp; \
+	  $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/libgsecuredelete_la_vala.stamp; \
 	fi
 $(srcdir)/gsd-delete-operation.c: $(srcdir)/libgsecuredelete_la_vala.stamp
+	@if test -f $@; then :; else rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; fi
 	@if test -f $@; then :; else \
-	  rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; \
-	  $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) libgsecuredelete_la_vala.stamp; \
+	  $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/libgsecuredelete_la_vala.stamp; \
 	fi
 $(srcdir)/gsd-fill-operation.c: $(srcdir)/libgsecuredelete_la_vala.stamp
+	@if test -f $@; then :; else rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; fi
 	@if test -f $@; then :; else \
-	  rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; \
-	  $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) libgsecuredelete_la_vala.stamp; \
+	  $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/libgsecuredelete_la_vala.stamp; \
 	fi
 $(srcdir)/gsd-mem-operation.c: $(srcdir)/libgsecuredelete_la_vala.stamp
+	@if test -f $@; then :; else rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; fi
 	@if test -f $@; then :; else \
-	  rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; \
-	  $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) libgsecuredelete_la_vala.stamp; \
+	  $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/libgsecuredelete_la_vala.stamp; \
 	fi
 $(srcdir)/gsd-secure-delete-operation.c: $(srcdir)/libgsecuredelete_la_vala.stamp
+	@if test -f $@; then :; else rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; fi
 	@if test -f $@; then :; else \
-	  rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; \
-	  $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) libgsecuredelete_la_vala.stamp; \
+	  $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/libgsecuredelete_la_vala.stamp; \
 	fi
 $(srcdir)/gsd-swap-operation.c: $(srcdir)/libgsecuredelete_la_vala.stamp
+	@if test -f $@; then :; else rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; fi
 	@if test -f $@; then :; else \
-	  rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; \
-	  $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) libgsecuredelete_la_vala.stamp; \
+	  $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/libgsecuredelete_la_vala.stamp; \
 	fi
 $(srcdir)/gsd-utils.c: $(srcdir)/libgsecuredelete_la_vala.stamp
+	@if test -f $@; then :; else rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; fi
 	@if test -f $@; then :; else \
-	  rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; \
-	  $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) libgsecuredelete_la_vala.stamp; \
+	  $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/libgsecuredelete_la_vala.stamp; \
 	fi
 $(srcdir)/gsd-zeroable-operation.c: $(srcdir)/libgsecuredelete_la_vala.stamp
+	@if test -f $@; then :; else rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; fi
 	@if test -f $@; then :; else \
-	  rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; \
-	  $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) libgsecuredelete_la_vala.stamp; \
+	  $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/libgsecuredelete_la_vala.stamp; \
 	fi
 $(srcdir)/gsecuredelete.h: $(srcdir)/libgsecuredelete_la_vala.stamp
+	@if test -f $@; then :; else rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; fi
 	@if test -f $@; then :; else \
-	  rm -f $(srcdir)/libgsecuredelete_la_vala.stamp; \
-	  $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) libgsecuredelete_la_vala.stamp; \
+	  $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/libgsecuredelete_la_vala.stamp; \
 	fi
-libgsecuredelete_la_vala.stamp: $(libgsecuredelete_la_SOURCES)
-	$(AM_V_VALAC)$(VALAC) $(libgsecuredelete_la_VALAFLAGS) $(VALAFLAGS) -C $(libgsecuredelete_la_SOURCES)
-	$(AM_V_at)touch $@
+$(srcdir)/libgsecuredelete_la_vala.stamp: gsd-async-operation.vala gsd-delete-operation.vala gsd-fill-operation.vala gsd-mem-operation.vala gsd-secure-delete-operation.vala gsd-swap-operation.vala gsd-utils.vala gsd-zeroable-operation.vala
+	$(AM_V_at)rm -f $@ && echo stamp > $@-t
+	$(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(libgsecuredelete_la_VALAFLAGS) $(VALAFLAGS) -C gsd-async-operation.vala gsd-delete-operation.vala gsd-fill-operation.vala gsd-mem-operation.vala gsd-secure-delete-operation.vala gsd-swap-operation.vala gsd-utils.vala gsd-zeroable-operation.vala
+	$(AM_V_at)mv -f $@-t $@
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -480,8 +513,11 @@ clean-libtool:
 	-rm -rf .libs _libs
 install-libgsecuredelete_la_includeHEADERS: $(libgsecuredelete_la_include_HEADERS)
 	@$(NORMAL_INSTALL)
-	test -z "$(libgsecuredelete_la_includedir)" || $(MKDIR_P) "$(DESTDIR)$(libgsecuredelete_la_includedir)"
 	@list='$(libgsecuredelete_la_include_HEADERS)'; test -n "$(libgsecuredelete_la_includedir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(libgsecuredelete_la_includedir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(libgsecuredelete_la_includedir)" || exit 1; \
+	fi; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  echo "$$d$$p"; \
@@ -495,9 +531,7 @@ uninstall-libgsecuredelete_la_includeHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(libgsecuredelete_la_include_HEADERS)'; test -n "$(libgsecuredelete_la_includedir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(libgsecuredelete_la_includedir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(libgsecuredelete_la_includedir)" && rm -f $$files
+	dir='$(DESTDIR)$(libgsecuredelete_la_includedir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -598,10 +632,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
@@ -609,6 +648,7 @@ clean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -720,6 +760,22 @@ uninstall-am: uninstall-libLTLIBRARIES \
 gsecuredelete.vapi: libgsecuredelete_la_vala.stamp
 test_vala.stamp: gsecuredelete.vapi
 
+$(libgsecuredelete_la_SOURCES): gsd-config.h
+
+gsd-config.h: Makefile
+	$(AM_V_GEN) \
+	echo '#ifndef GSD_CONFIG_H'                                    > $@; \
+	echo '#define GSD_CONFIG_H'                                   >> $@; \
+	echo ''                                                       >> $@; \
+	echo '#define PACKAGE "$(PACKAGE)"'                           >> $@; \
+	echo '#define VERSION "$(VERSION)"'                           >> $@; \
+	echo '#define SRM_PATH "$(SRM_PATH)"'                         >> $@; \
+	echo '#define SFILL_PATH "$(pkglibexecdir)/gsd-sfill-helper"' >> $@; \
+	echo '#define SMEM_PATH "$(SMEM_PATH)"'                       >> $@; \
+	echo '#define SSWAP_PATH "$(SSWAP_PATH)"'                     >> $@; \
+	echo ''                                                       >> $@; \
+	echo '#endif /* guard */'                                     >> $@
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/gsecuredelete/gsd-async-operation.c b/gsecuredelete/gsd-async-operation.c
index d8919c4..0a6bd4a 100644
--- a/gsecuredelete/gsd-async-operation.c
+++ b/gsecuredelete/gsd-async-operation.c
@@ -1,4 +1,4 @@
-/* gsd-async-operation.c generated by valac 0.12.0, the Vala compiler
+/* gsd-async-operation.c generated by valac 0.16.0.1-eb36, the Vala compiler
  * generated from gsd-async-operation.vala, do not modify */
 
 /* 
@@ -143,13 +143,13 @@ GQuark gsd_async_operation_error_quark (void) {
 
 
 static GList* gsd_async_operation_real_build_args (GsdAsyncOperation* self, GError** error) {
-	g_return_val_if_fail (self != NULL, NULL);
 	g_critical ("Type `%s' does not implement abstract method `gsd_async_operation_build_args'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
 	return NULL;
 }
 
 
 GList* gsd_async_operation_build_args (GsdAsyncOperation* self, GError** error) {
+	g_return_val_if_fail (self != NULL, NULL);
 	return GSD_ASYNC_OPERATION_GET_CLASS (self)->build_args (self, error);
 }
 
@@ -174,14 +174,23 @@ static gchar** gsd_async_operation_do_build_args (GsdAsyncOperation* self, int*
 	gsize i = 0UL;
 	GList* _tmp0_ = NULL;
 	GList* _tmp1_;
-	guint _tmp2_;
-	gchar** _tmp3_ = NULL;
-	gsize _tmp4_;
-	const gchar* _tmp5_ = NULL;
-	gchar* _tmp6_;
-	gchar* _tmp7_;
-	gchar* _tmp11_;
-	gchar** _tmp12_;
+	GList* _tmp2_;
+	guint _tmp3_ = 0U;
+	gchar** _tmp4_ = NULL;
+	gchar** _tmp5_;
+	gint _tmp5__length1;
+	gsize _tmp6_;
+	const gchar* _tmp7_;
+	const gchar* _tmp8_;
+	gchar* _tmp9_;
+	gchar* _tmp10_;
+	GList* _tmp11_;
+	gchar** _tmp17_;
+	gint _tmp17__length1;
+	gsize _tmp18_;
+	gchar* _tmp19_;
+	gchar** _tmp20_;
+	gint _tmp20__length1;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, NULL);
 	_tmp0_ = gsd_async_operation_build_args (self, &_inner_error_);
@@ -202,46 +211,63 @@ static gchar** gsd_async_operation_do_build_args (GsdAsyncOperation* self, int*
 	}
 	__g_list_free__g_free0_0 (args);
 	args = _tmp1_;
-	_tmp2_ = g_list_length (args);
-	_tmp3_ = g_new0 (gchar*, (_tmp2_ + 2) + 1);
+	_tmp2_ = args;
+	_tmp3_ = g_list_length (_tmp2_);
+	_tmp4_ = g_new0 (gchar*, (_tmp3_ + 2) + 1);
 	array_args = (_vala_array_free (array_args, array_args_length1, (GDestroyNotify) g_free), NULL);
-	array_args = _tmp3_;
-	array_args_length1 = _tmp2_ + 2;
-	_array_args_size_ = _tmp2_ + 2;
+	array_args = _tmp4_;
+	array_args_length1 = _tmp3_ + 2;
+	_array_args_size_ = array_args_length1;
 	i = (gsize) 0;
-	_tmp4_ = i;
-	i = _tmp4_ + 1;
-	_tmp5_ = gsd_async_operation_get_path (self);
-	_tmp6_ = g_strdup (_tmp5_);
-	_tmp7_ = _tmp6_;
-	_g_free0 (array_args[_tmp4_]);
-	array_args[_tmp4_] = _tmp7_;
+	_tmp5_ = array_args;
+	_tmp5__length1 = array_args_length1;
+	_tmp6_ = i;
+	i = _tmp6_ + 1;
+	_tmp7_ = gsd_async_operation_get_path (self);
+	_tmp8_ = _tmp7_;
+	_tmp9_ = g_strdup (_tmp8_);
+	_g_free0 (_tmp5_[_tmp6_]);
+	_tmp5_[_tmp6_] = _tmp9_;
+	_tmp10_ = _tmp5_[_tmp6_];
+	_tmp11_ = args;
 	{
-		GList* arg_collection;
-		GList* arg_it;
-		arg_collection = args;
+		GList* arg_collection = NULL;
+		GList* arg_it = NULL;
+		arg_collection = _tmp11_;
 		for (arg_it = arg_collection; arg_it != NULL; arg_it = arg_it->next) {
-			const gchar* arg;
+			const gchar* arg = NULL;
 			arg = (const gchar*) arg_it->data;
 			{
-				gsize _tmp8_;
-				gchar* _tmp9_;
-				gchar* _tmp10_;
-				_tmp8_ = i;
-				i = _tmp8_ + 1;
-				_tmp9_ = g_strdup (arg);
-				_tmp10_ = _tmp9_;
-				_g_free0 (array_args[_tmp8_]);
-				array_args[_tmp8_] = _tmp10_;
+				gchar** _tmp12_;
+				gint _tmp12__length1;
+				gsize _tmp13_;
+				const gchar* _tmp14_;
+				gchar* _tmp15_;
+				gchar* _tmp16_;
+				_tmp12_ = array_args;
+				_tmp12__length1 = array_args_length1;
+				_tmp13_ = i;
+				i = _tmp13_ + 1;
+				_tmp14_ = arg;
+				_tmp15_ = g_strdup (_tmp14_);
+				_g_free0 (_tmp12_[_tmp13_]);
+				_tmp12_[_tmp13_] = _tmp15_;
+				_tmp16_ = _tmp12_[_tmp13_];
 			}
 		}
 	}
-	_tmp11_ = NULL;
-	_g_free0 (array_args[i]);
-	array_args[i] = _tmp11_;
-	_tmp12_ = array_args;
-	*result_length1 = array_args_length1;
-	result = _tmp12_;
+	_tmp17_ = array_args;
+	_tmp17__length1 = array_args_length1;
+	_tmp18_ = i;
+	_g_free0 (_tmp17_[_tmp18_]);
+	_tmp17_[_tmp18_] = NULL;
+	_tmp19_ = _tmp17_[_tmp18_];
+	_tmp20_ = array_args;
+	_tmp20__length1 = array_args_length1;
+	if (result_length1) {
+		*result_length1 = _tmp20__length1;
+	}
+	result = _tmp20_;
 	__g_list_free__g_free0_0 (args);
 	return result;
 }
@@ -249,97 +275,118 @@ static gchar** gsd_async_operation_do_build_args (GsdAsyncOperation* self, int*
 
 static gchar** gsd_async_operation_real_build_env (GsdAsyncOperation* self, int* result_length1) {
 	gchar** result = NULL;
-	gpointer _tmp0_;
-	g_return_val_if_fail (self != NULL, NULL);
+	gchar** _tmp0_;
+	gint _tmp0__length1;
 	_tmp0_ = NULL;
-	*result_length1 = 0;
+	_tmp0__length1 = 0;
+	if (result_length1) {
+		*result_length1 = _tmp0__length1;
+	}
 	result = _tmp0_;
 	return result;
 }
 
 
 gchar** gsd_async_operation_build_env (GsdAsyncOperation* self, int* result_length1) {
+	g_return_val_if_fail (self != NULL, NULL);
 	return GSD_ASYNC_OPERATION_GET_CLASS (self)->build_env (self, result_length1);
 }
 
 
 static void gsd_async_operation_real_cleanup (GsdAsyncOperation* self) {
-	g_return_if_fail (self != NULL);
 }
 
 
 void gsd_async_operation_cleanup (GsdAsyncOperation* self) {
+	g_return_if_fail (self != NULL);
 	GSD_ASYNC_OPERATION_GET_CLASS (self)->cleanup (self);
 }
 
 
 static guint gsd_async_operation_real_get_max_progress (GsdAsyncOperation* self) {
 	guint result = 0U;
-	g_return_val_if_fail (self != NULL, 0U);
 	result = (guint) 0;
 	return result;
 }
 
 
 guint gsd_async_operation_get_max_progress (GsdAsyncOperation* self) {
+	g_return_val_if_fail (self != NULL, 0U);
 	return GSD_ASYNC_OPERATION_GET_CLASS (self)->get_max_progress (self);
 }
 
 
 static guint gsd_async_operation_real_get_progress (GsdAsyncOperation* self) {
 	guint result = 0U;
-	g_return_val_if_fail (self != NULL, 0U);
 	result = (guint) 0;
 	return result;
 }
 
 
 guint gsd_async_operation_get_progress (GsdAsyncOperation* self) {
+	g_return_val_if_fail (self != NULL, 0U);
 	return GSD_ASYNC_OPERATION_GET_CLASS (self)->get_progress (self);
 }
 
 
 static void gsd_async_operation_update_progress (GsdAsyncOperation* self) {
-	guint _tmp0_;
+	guint _tmp0_ = 0U;
 	guint progress;
+	guint _tmp1_;
 	g_return_if_fail (self != NULL);
 	_tmp0_ = gsd_async_operation_get_progress (self);
 	progress = _tmp0_;
-	if (progress > 0) {
-		self->passes = self->passes + progress;
-		g_signal_emit_by_name (self, "progress", self->passes / (self->n_passes * 1.0));
+	_tmp1_ = progress;
+	if (_tmp1_ > ((guint) 0)) {
+		guint _tmp2_;
+		guint _tmp3_;
+		guint _tmp4_;
+		guint _tmp5_;
+		_tmp2_ = self->passes;
+		_tmp3_ = progress;
+		self->passes = _tmp2_ + _tmp3_;
+		_tmp4_ = self->passes;
+		_tmp5_ = self->n_passes;
+		g_signal_emit_by_name (self, "progress", _tmp4_ / (_tmp5_ * 1.0));
 	}
 }
 
 
 static gchar* gsd_async_operation_real_get_subprocess_error_msg (GsdAsyncOperation* self) {
 	gchar* result = NULL;
-	gchar* _tmp0_ = NULL;
-	gchar* _tmp1_;
 	GError * _inner_error_ = NULL;
-	g_return_val_if_fail (self != NULL, NULL);
-	_tmp0_ = gsd_fd_read_string (self->fd_err, (gssize) (-1), &_inner_error_);
-	_tmp1_ = _tmp0_;
-	if (_inner_error_ != NULL) {
-		if (_inner_error_->domain == GSD_FD_ERROR) {
-			goto __catch0_gsd_fd_error;
+	{
+		gint _tmp0_;
+		gchar* _tmp1_ = NULL;
+		gchar* _tmp2_;
+		_tmp0_ = self->fd_err;
+		_tmp1_ = gsd_fd_read_string (_tmp0_, (gssize) (-1), &_inner_error_);
+		_tmp2_ = _tmp1_;
+		if (_inner_error_ != NULL) {
+			if (_inner_error_->domain == GSD_FD_ERROR) {
+				goto __catch0_gsd_fd_error;
+			}
+			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);
+			g_clear_error (&_inner_error_);
+			return NULL;
 		}
-		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);
-		g_clear_error (&_inner_error_);
-		return NULL;
+		result = _tmp2_;
+		return result;
 	}
-	result = _tmp1_;
-	return result;
 	goto __finally0;
 	__catch0_gsd_fd_error:
 	{
-		GError * e;
-		gchar* _tmp2_;
+		GError* e = NULL;
+		GError* _tmp3_;
+		const gchar* _tmp4_;
+		gchar* _tmp5_;
 		e = _inner_error_;
 		_inner_error_ = NULL;
-		g_warning ("gsd-async-operation.vala:264: Subprocess error output read failed: %s", e->message);
-		_tmp2_ = g_strdup ("???");
-		result = _tmp2_;
+		_tmp3_ = e;
+		_tmp4_ = _tmp3_->message;
+		g_warning ("gsd-async-operation.vala:264: Subprocess error output read failed: %s", _tmp4_);
+		_tmp5_ = g_strdup ("???");
+		result = _tmp5_;
 		_g_error_free0 (e);
 		return result;
 	}
@@ -351,6 +398,7 @@ static gchar* gsd_async_operation_real_get_subprocess_error_msg (GsdAsyncOperati
 
 
 gchar* gsd_async_operation_get_subprocess_error_msg (GsdAsyncOperation* self) {
+	g_return_val_if_fail (self != NULL, NULL);
 	return GSD_ASYNC_OPERATION_GET_CLASS (self)->get_subprocess_error_msg (self);
 }
 
@@ -362,75 +410,114 @@ static gboolean gsd_async_operation_do_wait_child (GsdAsyncOperation* self) {
 	gint exit_status = 0;
 	pid_t wait_rv = 0;
 	gchar* message;
-	gint _tmp0_;
-	pid_t _tmp1_;
+	GPid _tmp0_;
+	gint _tmp1_ = 0;
+	pid_t _tmp2_ = 0;
+	pid_t _tmp3_;
+	gboolean _tmp21_;
+	gboolean _tmp30_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, FALSE);
 	finished = TRUE;
 	success = FALSE;
 	message = NULL;
-	_tmp1_ = waitpid ((pid_t) self->pid, &_tmp0_, WNOHANG);
-	exit_status = _tmp0_;
-	wait_rv = _tmp1_;
-	if (((gint) wait_rv) < 0) {
-		const gchar* _tmp2_ = NULL;
-		gint _tmp3_;
-		_tmp2_ = g_strerror (errno);
-		g_critical ("gsd-async-operation.vala:284: waitpid() failed: %s", _tmp2_);
-		_tmp3_ = kill ((pid_t) self->pid, (gint) SIGTERM);
-		if (_tmp3_ < 0) {
-			const gchar* _tmp4_ = NULL;
-			_tmp4_ = g_strerror (errno);
-			g_critical ("gsd-async-operation.vala:287: kill() failed: %s", _tmp4_);
+	_tmp0_ = self->pid;
+	_tmp2_ = waitpid ((pid_t) _tmp0_, &_tmp1_, WNOHANG);
+	exit_status = _tmp1_;
+	wait_rv = _tmp2_;
+	_tmp3_ = wait_rv;
+	if (((gint) _tmp3_) < 0) {
+		gint _tmp4_;
+		const gchar* _tmp5_ = NULL;
+		GPid _tmp6_;
+		gint _tmp7_ = 0;
+		_tmp4_ = errno;
+		_tmp5_ = g_strerror (_tmp4_);
+		g_critical ("gsd-async-operation.vala:284: waitpid() failed: %s", _tmp5_);
+		_tmp6_ = self->pid;
+		_tmp7_ = kill ((pid_t) _tmp6_, (gint) SIGTERM);
+		if (_tmp7_ < 0) {
+			gint _tmp8_;
+			const gchar* _tmp9_ = NULL;
+			_tmp8_ = errno;
+			_tmp9_ = g_strerror (_tmp8_);
+			g_critical ("gsd-async-operation.vala:287: kill() failed: %s", _tmp9_);
 		}
 	} else {
-		if (((gint) wait_rv) == 0) {
+		pid_t _tmp10_;
+		_tmp10_ = wait_rv;
+		if (((gint) _tmp10_) == 0) {
 			gsd_async_operation_update_progress (self);
 			finished = FALSE;
 		} else {
-			gboolean _tmp5_;
-			_tmp5_ = WIFEXITED (exit_status);
-			if (!_tmp5_) {
-				gchar* _tmp6_ = NULL;
-				gchar* _tmp7_;
-				gchar* _tmp8_;
-				_tmp6_ = gsd_async_operation_get_subprocess_error_msg (self);
-				_tmp7_ = _tmp6_;
-				_tmp8_ = g_strconcat ("Subprocess crashed.\n", _tmp7_, NULL);
+			gint _tmp11_;
+			gboolean _tmp12_ = FALSE;
+			_tmp11_ = exit_status;
+			_tmp12_ = WIFEXITED (_tmp11_);
+			if (!_tmp12_) {
+				gchar* _tmp13_ = NULL;
+				gchar* _tmp14_;
+				gchar* _tmp15_;
+				_tmp13_ = gsd_async_operation_get_subprocess_error_msg (self);
+				_tmp14_ = _tmp13_;
+				_tmp15_ = g_strconcat ("Subprocess crashed.\n", _tmp14_, NULL);
 				_g_free0 (message);
-				message = _tmp8_;
-				_g_free0 (_tmp7_);
+				message = _tmp15_;
+				_g_free0 (_tmp14_);
 			} else {
-				gint _tmp9_;
-				_tmp9_ = WEXITSTATUS (exit_status);
-				if (_tmp9_ != 0) {
-					gchar* _tmp10_ = NULL;
-					gchar* _tmp11_;
-					gchar* _tmp12_;
-					_tmp10_ = gsd_async_operation_get_subprocess_error_msg (self);
-					_tmp11_ = _tmp10_;
-					_tmp12_ = g_strconcat ("Subprocess failed.\n", _tmp11_, NULL);
+				gint _tmp16_;
+				gint _tmp17_ = 0;
+				_tmp16_ = exit_status;
+				_tmp17_ = WEXITSTATUS (_tmp16_);
+				if (_tmp17_ != 0) {
+					gchar* _tmp18_ = NULL;
+					gchar* _tmp19_;
+					gchar* _tmp20_;
+					_tmp18_ = gsd_async_operation_get_subprocess_error_msg (self);
+					_tmp19_ = _tmp18_;
+					_tmp20_ = g_strconcat ("Subprocess failed.\n", _tmp19_, NULL);
 					_g_free0 (message);
-					message = _tmp12_;
-					_g_free0 (_tmp11_);
+					message = _tmp20_;
+					_g_free0 (_tmp19_);
 				} else {
 					success = TRUE;
 				}
 			}
 		}
 	}
-	if (finished) {
-		g_signal_emit_by_name (self, "finished", success, message);
+	_tmp21_ = finished;
+	if (_tmp21_) {
+		gboolean _tmp22_;
+		const gchar* _tmp23_;
+		GPid _tmp24_;
+		gint _tmp25_;
+		gint _tmp26_;
+		gint _tmp27_;
+		_tmp22_ = success;
+		_tmp23_ = message;
+		g_signal_emit_by_name (self, "finished", _tmp22_, _tmp23_);
 		gsd_async_operation_cleanup (self);
-		g_spawn_close_pid (self->pid);
-		close (self->fd_err);
-		close (self->fd_out);
-		close (self->fd_in);
+		_tmp24_ = self->pid;
+		g_spawn_close_pid (_tmp24_);
+		_tmp25_ = self->fd_err;
+		close (_tmp25_);
+		_tmp26_ = self->fd_out;
+		close (_tmp26_);
+		_tmp27_ = self->fd_in;
+		close (_tmp27_);
 		{
+			gboolean _tmp28_;
+			_tmp28_ = self->priv->_busy;
 			g_static_rec_mutex_lock (&self->priv->__lock__busy);
-			self->priv->_busy = FALSE;
+			{
+				self->priv->_busy = FALSE;
+			}
 			__finally1:
-			g_static_rec_mutex_unlock (&self->priv->__lock__busy);
+			{
+				gboolean _tmp29_;
+				_tmp29_ = self->priv->_busy;
+				g_static_rec_mutex_unlock (&self->priv->__lock__busy);
+			}
 			if (_inner_error_ != NULL) {
 				_g_free0 (message);
 				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);
@@ -439,7 +526,8 @@ static gboolean gsd_async_operation_do_wait_child (GsdAsyncOperation* self) {
 			}
 		}
 	}
-	result = !finished;
+	_tmp30_ = finished;
+	result = !_tmp30_;
 	_g_free0 (message);
 	return result;
 }
@@ -453,19 +541,29 @@ static gboolean gsd_async_operation_do_wait_child (GsdAsyncOperation* self) {
 gboolean gsd_async_operation_cancel (GsdAsyncOperation* self) {
 	gboolean result = FALSE;
 	gboolean _tmp0_;
+	gboolean _tmp1_;
 	gint kill_status = 0;
-	gint _tmp1_;
+	GPid _tmp2_;
+	gint _tmp3_ = 0;
+	gint _tmp4_;
+	gint _tmp7_;
 	g_return_val_if_fail (self != NULL, FALSE);
 	_tmp0_ = gsd_async_operation_get_busy (self);
-	g_return_val_if_fail (_tmp0_, FALSE);
-	_tmp1_ = kill ((pid_t) self->pid, (gint) SIGTERM);
-	kill_status = _tmp1_;
-	if (kill_status < 0) {
-		const gchar* _tmp2_ = NULL;
-		_tmp2_ = g_strerror (errno);
-		g_critical ("gsd-async-operation.vala:333: kill() failed: %s", _tmp2_);
+	_tmp1_ = _tmp0_;
+	g_return_val_if_fail (_tmp1_, FALSE);
+	_tmp2_ = self->pid;
+	_tmp3_ = kill ((pid_t) _tmp2_, (gint) SIGTERM);
+	kill_status = _tmp3_;
+	_tmp4_ = kill_status;
+	if (_tmp4_ < 0) {
+		gint _tmp5_;
+		const gchar* _tmp6_ = NULL;
+		_tmp5_ = errno;
+		_tmp6_ = g_strerror (_tmp5_);
+		g_critical ("gsd-async-operation.vala:333: kill() failed: %s", _tmp6_);
 	}
-	result = !(kill_status < 0);
+	_tmp7_ = kill_status;
+	result = !(_tmp7_ < 0);
 	return result;
 }
 
@@ -491,35 +589,27 @@ gboolean gsd_async_operation_run (GsdAsyncOperation* self, const gchar* working_
 	gboolean result = FALSE;
 	gboolean success;
 	gboolean busy;
-	guint _tmp0_;
-	gint _tmp1_;
-	gchar** _tmp2_ = NULL;
-	gchar** _tmp3_;
-	gint _tmp3__length1;
-	gint __tmp3__size_;
-	gchar** _tmp4_;
-	gint _tmp4__length1;
-	gint _tmp5_;
-	gchar** _tmp6_ = NULL;
-	gchar** _tmp7_;
-	gint _tmp7__length1;
-	GPid _tmp8_;
-	gint _tmp9_;
-	gint _tmp10_;
-	gint _tmp11_;
-	gboolean _tmp12_;
-	gboolean _tmp13_;
-	gboolean _tmp14_;
+	gboolean _tmp3_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, FALSE);
 	success = FALSE;
 	busy = FALSE;
 	{
+		gboolean _tmp0_;
+		_tmp0_ = self->priv->_busy;
 		g_static_rec_mutex_lock (&self->priv->__lock__busy);
-		busy = self->priv->_busy;
-		self->priv->_busy = TRUE;
+		{
+			gboolean _tmp1_;
+			_tmp1_ = self->priv->_busy;
+			busy = _tmp1_;
+			self->priv->_busy = TRUE;
+		}
 		__finally2:
-		g_static_rec_mutex_unlock (&self->priv->__lock__busy);
+		{
+			gboolean _tmp2_;
+			_tmp2_ = self->priv->_busy;
+			g_static_rec_mutex_unlock (&self->priv->__lock__busy);
+		}
 		if (_inner_error_ != NULL) {
 			if ((_inner_error_->domain == G_SPAWN_ERROR) || (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR)) {
 				g_propagate_error (error, _inner_error_);
@@ -531,55 +621,95 @@ gboolean gsd_async_operation_run (GsdAsyncOperation* self, const gchar* working_
 			}
 		}
 	}
-	g_return_val_if_fail (!busy, FALSE);
-	self->fd_err = -1;
-	self->fd_out = -1;
-	_tmp0_ = gsd_async_operation_get_max_progress (self);
-	self->n_passes = _tmp0_;
-	self->passes = (guint) 0;
-	_tmp2_ = gsd_async_operation_do_build_args (self, &_tmp1_, &_inner_error_);
-	_tmp3_ = _tmp2_;
-	_tmp3__length1 = _tmp1_;
-	__tmp3__size_ = _tmp1_;
-	if (_inner_error_ != NULL) {
-		goto __finally3;
-	}
-	_tmp4_ = _tmp3_;
-	_tmp4__length1 = _tmp3__length1;
-	_tmp6_ = gsd_async_operation_build_env (self, &_tmp5_);
-	_tmp7_ = _tmp6_;
-	_tmp7__length1 = _tmp5_;
-	_tmp12_ = g_spawn_async_with_pipes (working_directory, _tmp4_, _tmp7_, spawn_flags | G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &_tmp8_, &_tmp9_, &_tmp10_, &_tmp11_, &_inner_error_);
-	self->pid = _tmp8_;
-	self->fd_in = _tmp9_;
-	self->fd_out = _tmp10_;
-	self->fd_err = _tmp11_;
-	_tmp13_ = _tmp12_;
-	_tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
-	_tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
-	_tmp14_ = _tmp13_;
-	if (_inner_error_ != NULL) {
-		goto __finally3;
-	}
-	success = _tmp14_;
-	if (success) {
-		g_timeout_add_full (G_PRIORITY_DEFAULT, WATCH_INTERVAL, _gsd_async_operation_do_wait_child_gsource_func, g_object_ref (self), g_object_unref);
+	_tmp3_ = busy;
+	g_return_val_if_fail (!_tmp3_, FALSE);
+	{
+		guint _tmp4_ = 0U;
+		gint _tmp5_ = 0;
+		gchar** _tmp6_ = NULL;
+		gchar** _tmp7_;
+		gint _tmp7__length1;
+		gint __tmp7__size_;
+		const gchar* _tmp8_;
+		gchar** _tmp9_;
+		gint _tmp9__length1;
+		gint _tmp10_ = 0;
+		gchar** _tmp11_ = NULL;
+		gchar** _tmp12_;
+		gint _tmp12__length1;
+		GSpawnFlags _tmp13_;
+		GPid _tmp14_ = 0;
+		gint _tmp15_ = 0;
+		gint _tmp16_ = 0;
+		gint _tmp17_ = 0;
+		gboolean _tmp18_ = FALSE;
+		gboolean _tmp19_;
+		gboolean _tmp20_;
+		gboolean _tmp21_;
+		self->fd_err = -1;
+		self->fd_out = -1;
+		_tmp4_ = gsd_async_operation_get_max_progress (self);
+		self->n_passes = _tmp4_;
+		self->passes = (guint) 0;
+		_tmp6_ = gsd_async_operation_do_build_args (self, &_tmp5_, &_inner_error_);
+		_tmp7_ = _tmp6_;
+		_tmp7__length1 = _tmp5_;
+		__tmp7__size_ = _tmp7__length1;
+		if (_inner_error_ != NULL) {
+			goto __finally3;
+		}
+		_tmp8_ = working_directory;
+		_tmp9_ = _tmp7_;
+		_tmp9__length1 = _tmp7__length1;
+		_tmp11_ = gsd_async_operation_build_env (self, &_tmp10_);
+		_tmp12_ = _tmp11_;
+		_tmp12__length1 = _tmp10_;
+		_tmp13_ = spawn_flags;
+		_tmp18_ = g_spawn_async_with_pipes (_tmp8_, _tmp9_, _tmp12_, _tmp13_ | G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &_tmp14_, &_tmp15_, &_tmp16_, &_tmp17_, &_inner_error_);
+		self->pid = _tmp14_;
+		self->fd_in = _tmp15_;
+		self->fd_out = _tmp16_;
+		self->fd_err = _tmp17_;
+		_tmp19_ = _tmp18_;
+		_tmp12_ = (_vala_array_free (_tmp12_, _tmp12__length1, (GDestroyNotify) g_free), NULL);
+		_tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL);
+		_tmp20_ = _tmp19_;
+		if (_inner_error_ != NULL) {
+			goto __finally3;
+		}
+		success = _tmp20_;
+		_tmp21_ = success;
+		if (_tmp21_) {
+			g_timeout_add_full (G_PRIORITY_DEFAULT, WATCH_INTERVAL, _gsd_async_operation_do_wait_child_gsource_func, g_object_ref (self), g_object_unref);
+		}
 	}
 	__finally3:
-	if (!success) {
-		{
-			g_static_rec_mutex_lock (&self->priv->__lock__busy);
-			self->priv->_busy = FALSE;
-			__finally4:
-			g_static_rec_mutex_unlock (&self->priv->__lock__busy);
-			if (_inner_error_ != NULL) {
-				if ((_inner_error_->domain == G_SPAWN_ERROR) || (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR)) {
-					g_propagate_error (error, _inner_error_);
-					return FALSE;
-				} else {
-					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);
-					g_clear_error (&_inner_error_);
-					return FALSE;
+	{
+		gboolean _tmp22_;
+		_tmp22_ = success;
+		if (!_tmp22_) {
+			{
+				gboolean _tmp23_;
+				_tmp23_ = self->priv->_busy;
+				g_static_rec_mutex_lock (&self->priv->__lock__busy);
+				{
+					self->priv->_busy = FALSE;
+				}
+				__finally4:
+				{
+					gboolean _tmp24_;
+					_tmp24_ = self->priv->_busy;
+					g_static_rec_mutex_unlock (&self->priv->__lock__busy);
+				}
+				if (_inner_error_ != NULL) {
+					if ((_inner_error_->domain == G_SPAWN_ERROR) || (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR)) {
+						g_propagate_error (error, _inner_error_);
+						return FALSE;
+					} else {
+						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);
+						g_clear_error (&_inner_error_);
+						return FALSE;
+					}
 				}
 			}
 		}
@@ -615,39 +745,33 @@ gboolean gsd_async_operation_run (GsdAsyncOperation* self, const gchar* working_
      *         (AsyncOperationError.CHILD_FAILED).
      */
 gboolean gsd_async_operation_run_sync (GsdAsyncOperation* self, const gchar* working_directory, GSpawnFlags spawn_flags, gchar** standard_output, GError** error) {
-	gchar* _standard_output = NULL;
+	gchar* _vala_standard_output = NULL;
 	gboolean result = FALSE;
 	gboolean success;
 	gboolean busy;
 	gchar* error_output = NULL;
 	gint exit_status = 0;
-	gint _tmp0_;
-	gchar** _tmp1_ = NULL;
-	gchar** _tmp2_;
-	gint _tmp2__length1;
-	gint __tmp2__size_;
-	gchar** _tmp3_;
-	gint _tmp3__length1;
-	gint _tmp4_;
-	gchar** _tmp5_ = NULL;
-	gchar** _tmp6_;
-	gint _tmp6__length1;
-	gchar* _tmp7_ = NULL;
-	gchar* _tmp8_ = NULL;
-	gint _tmp9_;
-	gboolean _tmp10_;
-	gboolean _tmp11_;
-	gboolean _tmp12_;
+	gboolean _tmp3_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, FALSE);
 	success = TRUE;
 	busy = FALSE;
 	{
+		gboolean _tmp0_;
+		_tmp0_ = self->priv->_busy;
 		g_static_rec_mutex_lock (&self->priv->__lock__busy);
-		busy = self->priv->_busy;
-		self->priv->_busy = TRUE;
+		{
+			gboolean _tmp1_;
+			_tmp1_ = self->priv->_busy;
+			busy = _tmp1_;
+			self->priv->_busy = TRUE;
+		}
 		__finally5:
-		g_static_rec_mutex_unlock (&self->priv->__lock__busy);
+		{
+			gboolean _tmp2_;
+			_tmp2_ = self->priv->_busy;
+			g_static_rec_mutex_unlock (&self->priv->__lock__busy);
+		}
 		if (_inner_error_ != NULL) {
 			if ((_inner_error_->domain == G_SPAWN_ERROR) || (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR)) {
 				g_propagate_error (error, _inner_error_);
@@ -661,83 +785,135 @@ gboolean gsd_async_operation_run_sync (GsdAsyncOperation* self, const gchar* wor
 			}
 		}
 	}
-	g_return_val_if_fail (!busy, FALSE);
-	_tmp1_ = gsd_async_operation_do_build_args (self, &_tmp0_, &_inner_error_);
-	_tmp2_ = _tmp1_;
-	_tmp2__length1 = _tmp0_;
-	__tmp2__size_ = _tmp0_;
-	if (_inner_error_ != NULL) {
-		goto __finally6;
-	}
-	_tmp3_ = _tmp2_;
-	_tmp3__length1 = _tmp2__length1;
-	_tmp5_ = gsd_async_operation_build_env (self, &_tmp4_);
-	_tmp6_ = _tmp5_;
-	_tmp6__length1 = _tmp4_;
-	_tmp10_ = g_spawn_sync (working_directory, _tmp3_, _tmp6_, spawn_flags, NULL, NULL, &_tmp7_, &_tmp8_, &_tmp9_, &_inner_error_);
-	_g_free0 (_standard_output);
-	_standard_output = _tmp7_;
-	_g_free0 (error_output);
-	error_output = _tmp8_;
-	exit_status = _tmp9_;
-	_tmp11_ = _tmp10_;
-	_tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
-	_tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL);
-	_tmp12_ = _tmp11_;
-	if (_inner_error_ != NULL) {
-		goto __finally6;
-	}
-	success = _tmp12_;
-	if (success) {
-		gchar* message;
-		gboolean _tmp13_;
-		message = NULL;
-		success = FALSE;
-		_tmp13_ = WIFEXITED (exit_status);
-		if (!_tmp13_) {
-			gchar* _tmp14_;
-			_tmp14_ = g_strconcat ("Subprocess crashed.\n", error_output, NULL);
-			_g_free0 (message);
-			message = _tmp14_;
-		} else {
-			gint _tmp15_;
-			_tmp15_ = WEXITSTATUS (exit_status);
-			if (_tmp15_ != 0) {
-				gchar* _tmp16_;
-				_tmp16_ = g_strconcat ("Subprocess failed.\n", error_output, NULL);
+	_tmp3_ = busy;
+	g_return_val_if_fail (!_tmp3_, FALSE);
+	{
+		gint _tmp4_ = 0;
+		gchar** _tmp5_ = NULL;
+		gchar** _tmp6_;
+		gint _tmp6__length1;
+		gint __tmp6__size_;
+		const gchar* _tmp7_;
+		gchar** _tmp8_;
+		gint _tmp8__length1;
+		gint _tmp9_ = 0;
+		gchar** _tmp10_ = NULL;
+		gchar** _tmp11_;
+		gint _tmp11__length1;
+		GSpawnFlags _tmp12_;
+		gchar* _tmp13_ = NULL;
+		gchar* _tmp14_ = NULL;
+		gint _tmp15_ = 0;
+		gboolean _tmp16_ = FALSE;
+		gboolean _tmp17_;
+		gboolean _tmp18_;
+		gboolean _tmp19_;
+		_tmp5_ = gsd_async_operation_do_build_args (self, &_tmp4_, &_inner_error_);
+		_tmp6_ = _tmp5_;
+		_tmp6__length1 = _tmp4_;
+		__tmp6__size_ = _tmp6__length1;
+		if (_inner_error_ != NULL) {
+			goto __finally6;
+		}
+		_tmp7_ = working_directory;
+		_tmp8_ = _tmp6_;
+		_tmp8__length1 = _tmp6__length1;
+		_tmp10_ = gsd_async_operation_build_env (self, &_tmp9_);
+		_tmp11_ = _tmp10_;
+		_tmp11__length1 = _tmp9_;
+		_tmp12_ = spawn_flags;
+		_tmp16_ = g_spawn_sync (_tmp7_, _tmp8_, _tmp11_, _tmp12_, NULL, NULL, &_tmp13_, &_tmp14_, &_tmp15_, &_inner_error_);
+		_g_free0 (_vala_standard_output);
+		_vala_standard_output = _tmp13_;
+		_g_free0 (error_output);
+		error_output = _tmp14_;
+		exit_status = _tmp15_;
+		_tmp17_ = _tmp16_;
+		_tmp11_ = (_vala_array_free (_tmp11_, _tmp11__length1, (GDestroyNotify) g_free), NULL);
+		_tmp8_ = (_vala_array_free (_tmp8_, _tmp8__length1, (GDestroyNotify) g_free), NULL);
+		_tmp18_ = _tmp17_;
+		if (_inner_error_ != NULL) {
+			goto __finally6;
+		}
+		success = _tmp18_;
+		_tmp19_ = success;
+		if (_tmp19_) {
+			gchar* message;
+			gint _tmp20_;
+			gboolean _tmp21_ = FALSE;
+			gboolean _tmp28_;
+			const gchar* _tmp29_;
+			const gchar* _tmp30_;
+			message = NULL;
+			success = FALSE;
+			_tmp20_ = exit_status;
+			_tmp21_ = WIFEXITED (_tmp20_);
+			if (!_tmp21_) {
+				const gchar* _tmp22_;
+				gchar* _tmp23_;
+				_tmp22_ = error_output;
+				_tmp23_ = g_strconcat ("Subprocess crashed.\n", _tmp22_, NULL);
 				_g_free0 (message);
-				message = _tmp16_;
+				message = _tmp23_;
 			} else {
-				success = TRUE;
+				gint _tmp24_;
+				gint _tmp25_ = 0;
+				_tmp24_ = exit_status;
+				_tmp25_ = WEXITSTATUS (_tmp24_);
+				if (_tmp25_ != 0) {
+					const gchar* _tmp26_;
+					gchar* _tmp27_;
+					_tmp26_ = error_output;
+					_tmp27_ = g_strconcat ("Subprocess failed.\n", _tmp26_, NULL);
+					_g_free0 (message);
+					message = _tmp27_;
+				} else {
+					success = TRUE;
+				}
+			}
+			_tmp28_ = success;
+			_tmp29_ = message;
+			g_signal_emit_by_name (self, "finished", _tmp28_, _tmp29_);
+			gsd_async_operation_cleanup (self);
+			_tmp30_ = message;
+			if (_tmp30_ != NULL) {
+				const gchar* _tmp31_;
+				GError* _tmp32_;
+				_tmp31_ = message;
+				_tmp32_ = g_error_new (GSD_ASYNC_OPERATION_ERROR, GSD_ASYNC_OPERATION_ERROR_CHILD_FAILED, "%s", _tmp31_);
+				_inner_error_ = _tmp32_;
+				_g_free0 (message);
+				goto __finally6;
 			}
-		}
-		g_signal_emit_by_name (self, "finished", success, message);
-		gsd_async_operation_cleanup (self);
-		if (message != NULL) {
-			GError* _tmp17_ = NULL;
-			_tmp17_ = g_error_new (GSD_ASYNC_OPERATION_ERROR, GSD_ASYNC_OPERATION_ERROR_CHILD_FAILED, "%s", message);
-			_inner_error_ = _tmp17_;
 			_g_free0 (message);
-			goto __finally6;
 		}
-		_g_free0 (message);
 	}
 	__finally6:
 	{
-		g_static_rec_mutex_lock (&self->priv->__lock__busy);
-		self->priv->_busy = FALSE;
-		__finally7:
-		g_static_rec_mutex_unlock (&self->priv->__lock__busy);
-		if (_inner_error_ != NULL) {
-			if ((_inner_error_->domain == G_SPAWN_ERROR) || (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR)) {
-				g_propagate_error (error, _inner_error_);
-				_g_free0 (error_output);
-				return FALSE;
-			} else {
-				_g_free0 (error_output);
-				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);
-				g_clear_error (&_inner_error_);
-				return FALSE;
+		{
+			gboolean _tmp33_;
+			_tmp33_ = self->priv->_busy;
+			g_static_rec_mutex_lock (&self->priv->__lock__busy);
+			{
+				self->priv->_busy = FALSE;
+			}
+			__finally7:
+			{
+				gboolean _tmp34_;
+				_tmp34_ = self->priv->_busy;
+				g_static_rec_mutex_unlock (&self->priv->__lock__busy);
+			}
+			if (_inner_error_ != NULL) {
+				if ((_inner_error_->domain == G_SPAWN_ERROR) || (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR)) {
+					g_propagate_error (error, _inner_error_);
+					_g_free0 (error_output);
+					return FALSE;
+				} else {
+					_g_free0 (error_output);
+					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);
+					g_clear_error (&_inner_error_);
+					return FALSE;
+				}
 			}
 		}
 	}
@@ -756,9 +932,9 @@ gboolean gsd_async_operation_run_sync (GsdAsyncOperation* self, const gchar* wor
 	result = success;
 	_g_free0 (error_output);
 	if (standard_output) {
-		*standard_output = _standard_output;
+		*standard_output = _vala_standard_output;
 	} else {
-		_g_free0 (_standard_output);
+		_g_free0 (_vala_standard_output);
 	}
 	return result;
 }
@@ -773,33 +949,47 @@ GsdAsyncOperation* gsd_async_operation_construct (GType object_type) {
 
 const gchar* gsd_async_operation_get_path (GsdAsyncOperation* self) {
 	const gchar* result;
+	const gchar* _tmp0_;
+	const gchar* _tmp1_;
 	g_return_val_if_fail (self != NULL, NULL);
-	if (self->priv->_path == NULL) {
+	_tmp0_ = self->priv->_path;
+	if (_tmp0_ == NULL) {
 		g_critical ("gsd-async-operation.vala:151: Property AsyncOperation::path not set");
 	}
-	result = self->priv->_path;
+	_tmp1_ = self->priv->_path;
+	result = _tmp1_;
 	return result;
 }
 
 
 void gsd_async_operation_set_path (GsdAsyncOperation* self, const gchar* value) {
+	const gchar* _tmp0_;
 	g_return_if_fail (self != NULL);
-	if (value != NULL) {
-		gchar* _tmp1_;
-		if (self->priv->_path_default == NULL) {
-			gchar* _tmp0_;
-			_tmp0_ = g_strdup (value);
+	_tmp0_ = value;
+	if (_tmp0_ != NULL) {
+		const gchar* _tmp1_;
+		const gchar* _tmp4_;
+		gchar* _tmp5_;
+		_tmp1_ = self->priv->_path_default;
+		if (_tmp1_ == NULL) {
+			const gchar* _tmp2_;
+			gchar* _tmp3_;
+			_tmp2_ = value;
+			_tmp3_ = g_strdup (_tmp2_);
 			_g_free0 (self->priv->_path_default);
-			self->priv->_path_default = _tmp0_;
+			self->priv->_path_default = _tmp3_;
 		}
-		_tmp1_ = g_strdup (value);
+		_tmp4_ = value;
+		_tmp5_ = g_strdup (_tmp4_);
 		_g_free0 (self->priv->_path);
-		self->priv->_path = _tmp1_;
+		self->priv->_path = _tmp5_;
 	} else {
-		gchar* _tmp2_;
-		_tmp2_ = g_strdup (self->priv->_path_default);
+		const gchar* _tmp6_;
+		gchar* _tmp7_;
+		_tmp6_ = self->priv->_path_default;
+		_tmp7_ = g_strdup (_tmp6_);
 		_g_free0 (self->priv->_path);
-		self->priv->_path = _tmp2_;
+		self->priv->_path = _tmp7_;
 	}
 	g_object_notify ((GObject *) self, "path");
 }
@@ -807,8 +997,10 @@ void gsd_async_operation_set_path (GsdAsyncOperation* self, const gchar* value)
 
 gboolean gsd_async_operation_get_busy (GsdAsyncOperation* self) {
 	gboolean result;
+	gboolean _tmp0_;
 	g_return_val_if_fail (self != NULL, FALSE);
-	result = self->priv->_busy;
+	_tmp0_ = self->priv->_busy;
+	result = _tmp0_;
 	return result;
 }
 
@@ -817,7 +1009,8 @@ static void g_cclosure_user_marshal_VOID__BOOLEAN_STRING (GClosure * closure, GV
 	typedef void (*GMarshalFunc_VOID__BOOLEAN_STRING) (gpointer data1, gboolean arg_1, const char* arg_2, gpointer data2);
 	register GMarshalFunc_VOID__BOOLEAN_STRING callback;
 	register GCClosure * cc;
-	register gpointer data1, data2;
+	register gpointer data1;
+	register gpointer data2;
 	cc = (GCClosure *) closure;
 	g_return_if_fail (n_param_values == 3);
 	if (G_CCLOSURE_SWAP_DATA (closure)) {
diff --git a/gsecuredelete/gsd-delete-operation.c b/gsecuredelete/gsd-delete-operation.c
index 57979b7..41eacd7 100644
--- a/gsecuredelete/gsd-delete-operation.c
+++ b/gsecuredelete/gsd-delete-operation.c
@@ -1,4 +1,4 @@
-/* gsd-delete-operation.c generated by valac 0.12.0, the Vala compiler
+/* gsd-delete-operation.c generated by valac 0.16.0.1-eb36, the Vala compiler
  * generated from gsd-delete-operation.vala, do not modify */
 
 /* 
@@ -25,7 +25,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <glib/gstdio.h>
-#include <config.h>
+#include <gsd-config.h>
 
 
 #define GSD_TYPE_ASYNC_OPERATION (gsd_async_operation_get_type ())
@@ -132,7 +132,6 @@ struct _GsdDeleteOperationClass {
 
 struct _GsdDeleteOperationPrivate {
 	GList* _paths;
-	guint n_files;
 };
 
 
@@ -153,8 +152,8 @@ static void _g_list_free__g_free0_ (GList* self);
 void gsd_delete_operation_add_path (GsdDeleteOperation* self, const gchar* path);
 gboolean gsd_async_operation_get_busy (GsdAsyncOperation* self);
 void gsd_delete_operation_remove_path (GsdDeleteOperation* self, const gchar* path);
-static gint _lambda0_ (const gchar* a, const gchar* b);
-static gint __lambda0__gcompare_func (gconstpointer a, gconstpointer b);
+static gint __lambda2_ (const gchar* a, const gchar* b);
+static gint ___lambda2__gcompare_func (gconstpointer a, gconstpointer b);
 static gchar* gsd_delete_operation_real_get_subprocess_error_msg (GsdAsyncOperation* base);
 gchar* gsd_async_operation_get_subprocess_error_msg (GsdAsyncOperation* self);
 static guint gsd_delete_operation_count_files (GsdDeleteOperation* self, const gchar* path);
@@ -191,13 +190,17 @@ static void _g_list_free__g_free0_ (GList* self) {
      */
 void gsd_delete_operation_add_path (GsdDeleteOperation* self, const gchar* path) {
 	gboolean _tmp0_;
-	gchar* _tmp1_;
+	gboolean _tmp1_;
+	const gchar* _tmp2_;
+	gchar* _tmp3_;
 	g_return_if_fail (self != NULL);
 	g_return_if_fail (path != NULL);
 	_tmp0_ = gsd_async_operation_get_busy ((GsdAsyncOperation*) self);
-	g_return_if_fail (!_tmp0_);
-	_tmp1_ = g_strdup (path);
-	self->priv->_paths = g_list_append (self->priv->_paths, _tmp1_);
+	_tmp1_ = _tmp0_;
+	g_return_if_fail (!_tmp1_);
+	_tmp2_ = path;
+	_tmp3_ = g_strdup (_tmp2_);
+	self->priv->_paths = g_list_append (self->priv->_paths, _tmp3_);
 }
 
 
@@ -211,91 +214,114 @@ void gsd_delete_operation_add_path (GsdDeleteOperation* self, const gchar* path)
      * 
      * @param path a path already added you want to remove from the list.
      */
-static gint _lambda0_ (const gchar* a, const gchar* b) {
+static gint __lambda2_ (const gchar* a, const gchar* b) {
 	gint result = 0;
 	gint _tmp0_ = 0;
+	const gchar* _tmp1_;
+	const gchar* _tmp2_;
+	gint _tmp3_;
 	g_return_val_if_fail (a != NULL, 0);
 	g_return_val_if_fail (b != NULL, 0);
-	if (g_strcmp0 ((const gchar*) a, (const gchar*) b) == 0) {
+	_tmp1_ = a;
+	_tmp2_ = b;
+	if (g_strcmp0 ((const gchar*) _tmp1_, (const gchar*) _tmp2_) == 0) {
 		_tmp0_ = 0;
 	} else {
 		_tmp0_ = 1;
 	}
-	result = _tmp0_;
+	_tmp3_ = _tmp0_;
+	result = _tmp3_;
 	return result;
 }
 
 
-static gint __lambda0__gcompare_func (gconstpointer a, gconstpointer b) {
+static gint ___lambda2__gcompare_func (gconstpointer a, gconstpointer b) {
 	gint result;
-	result = _lambda0_ (a, b);
+	result = __lambda2_ (a, b);
 	return result;
 }
 
 
 void gsd_delete_operation_remove_path (GsdDeleteOperation* self, const gchar* path) {
 	gboolean _tmp0_;
+	gboolean _tmp1_;
 	GList* link = NULL;
-	GList* _tmp1_ = NULL;
+	GList* _tmp2_;
+	const gchar* _tmp3_;
+	GList* _tmp4_ = NULL;
+	GList* _tmp5_;
 	g_return_if_fail (self != NULL);
 	g_return_if_fail (path != NULL);
 	_tmp0_ = gsd_async_operation_get_busy ((GsdAsyncOperation*) self);
-	g_return_if_fail (!_tmp0_);
-	_tmp1_ = g_list_find_custom (self->priv->_paths, path, __lambda0__gcompare_func);
-	link = _tmp1_;
-	if (link != NULL) {
-		self->priv->_paths = g_list_delete_link (self->priv->_paths, link);
+	_tmp1_ = _tmp0_;
+	g_return_if_fail (!_tmp1_);
+	_tmp2_ = self->priv->_paths;
+	_tmp3_ = path;
+	_tmp4_ = g_list_find_custom (_tmp2_, _tmp3_, ___lambda2__gcompare_func);
+	link = _tmp4_;
+	_tmp5_ = link;
+	if (_tmp5_ != NULL) {
+		GList* _tmp6_;
+		_tmp6_ = link;
+		self->priv->_paths = g_list_delete_link (self->priv->_paths, _tmp6_);
 	}
 }
 
 
 static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) {
 	gchar* result = NULL;
-	gchar* _tmp0_ = NULL;
-	gchar* _tmp1_;
-	GRegex* _tmp2_ = NULL;
-	GRegex* _tmp3_;
-	GRegex* regex;
-	gchar* _tmp4_ = NULL;
-	gchar* _tmp5_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, NULL);
 	g_return_val_if_fail (old != NULL, NULL);
 	g_return_val_if_fail (replacement != NULL, NULL);
-	_tmp0_ = g_regex_escape_string (old, -1);
-	_tmp1_ = _tmp0_;
-	_tmp2_ = g_regex_new (_tmp1_, 0, 0, &_inner_error_);
-	_tmp3_ = _tmp2_;
-	_g_free0 (_tmp1_);
-	regex = _tmp3_;
-	if (_inner_error_ != NULL) {
-		if (_inner_error_->domain == G_REGEX_ERROR) {
-			goto __catch8_g_regex_error;
+	{
+		const gchar* _tmp0_;
+		gchar* _tmp1_ = NULL;
+		gchar* _tmp2_;
+		GRegex* _tmp3_;
+		GRegex* _tmp4_;
+		GRegex* regex;
+		GRegex* _tmp5_;
+		const gchar* _tmp6_;
+		gchar* _tmp7_ = NULL;
+		gchar* _tmp8_;
+		_tmp0_ = old;
+		_tmp1_ = g_regex_escape_string (_tmp0_, -1);
+		_tmp2_ = _tmp1_;
+		_tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_);
+		_tmp4_ = _tmp3_;
+		_g_free0 (_tmp2_);
+		regex = _tmp4_;
+		if (_inner_error_ != NULL) {
+			if (_inner_error_->domain == G_REGEX_ERROR) {
+				goto __catch8_g_regex_error;
+			}
+			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);
+			g_clear_error (&_inner_error_);
+			return NULL;
 		}
-		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);
-		g_clear_error (&_inner_error_);
-		return NULL;
-	}
-	_tmp4_ = g_regex_replace_literal (regex, self, (gssize) (-1), 0, replacement, 0, &_inner_error_);
-	_tmp5_ = _tmp4_;
-	if (_inner_error_ != NULL) {
-		_g_regex_unref0 (regex);
-		if (_inner_error_->domain == G_REGEX_ERROR) {
-			goto __catch8_g_regex_error;
+		_tmp5_ = regex;
+		_tmp6_ = replacement;
+		_tmp7_ = g_regex_replace_literal (_tmp5_, self, (gssize) (-1), 0, _tmp6_, 0, &_inner_error_);
+		_tmp8_ = _tmp7_;
+		if (_inner_error_ != NULL) {
+			_g_regex_unref0 (regex);
+			if (_inner_error_->domain == G_REGEX_ERROR) {
+				goto __catch8_g_regex_error;
+			}
+			_g_regex_unref0 (regex);
+			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);
+			g_clear_error (&_inner_error_);
+			return NULL;
 		}
+		result = _tmp8_;
 		_g_regex_unref0 (regex);
-		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);
-		g_clear_error (&_inner_error_);
-		return NULL;
+		return result;
 	}
-	result = _tmp5_;
-	_g_regex_unref0 (regex);
-	return result;
-	_g_regex_unref0 (regex);
 	goto __finally8;
 	__catch8_g_regex_error:
 	{
-		GError * e;
+		GError* e = NULL;
 		e = _inner_error_;
 		_inner_error_ = NULL;
 		g_assert_not_reached ();
@@ -338,47 +364,63 @@ static gchar* gsd_delete_operation_real_get_subprocess_error_msg (GsdAsyncOperat
 static guint gsd_delete_operation_count_files (GsdDeleteOperation* self, const gchar* path) {
 	guint result = 0U;
 	guint n_files;
-	gboolean _tmp0_;
+	const gchar* _tmp0_;
+	gboolean _tmp1_ = FALSE;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, 0U);
 	g_return_val_if_fail (path != NULL, 0U);
 	n_files = (guint) 0;
-	_tmp0_ = g_file_test (path, G_FILE_TEST_IS_DIR);
-	if (_tmp0_) {
-		GDir* _tmp1_ = NULL;
-		GDir* dir;
-		const gchar* name = NULL;
-		_tmp1_ = g_dir_open (path, (guint) 0, &_inner_error_);
-		dir = _tmp1_;
-		if (_inner_error_ != NULL) {
-			if (_inner_error_->domain == G_FILE_ERROR) {
-				goto __catch9_g_file_error;
+	_tmp0_ = path;
+	_tmp1_ = g_file_test (_tmp0_, G_FILE_TEST_IS_DIR);
+	if (_tmp1_) {
+		{
+			const gchar* _tmp2_;
+			GDir* _tmp3_ = NULL;
+			GDir* dir;
+			const gchar* name = NULL;
+			_tmp2_ = path;
+			_tmp3_ = g_dir_open (_tmp2_, (guint) 0, &_inner_error_);
+			dir = _tmp3_;
+			if (_inner_error_ != NULL) {
+				if (_inner_error_->domain == G_FILE_ERROR) {
+					goto __catch9_g_file_error;
+				}
+				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);
+				g_clear_error (&_inner_error_);
+				return 0U;
 			}
-			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);
-			g_clear_error (&_inner_error_);
-			return 0U;
-		}
-		while (TRUE) {
-			const gchar* _tmp2_ = NULL;
-			gchar* _tmp3_ = NULL;
-			gchar* _tmp4_;
-			guint _tmp5_;
-			_tmp2_ = g_dir_read_name (dir);
-			name = _tmp2_;
-			if (!(name != NULL)) {
-				break;
+			while (TRUE) {
+				GDir* _tmp4_;
+				const gchar* _tmp5_ = NULL;
+				const gchar* _tmp6_;
+				guint _tmp7_;
+				const gchar* _tmp8_;
+				const gchar* _tmp9_;
+				gchar* _tmp10_ = NULL;
+				gchar* _tmp11_;
+				guint _tmp12_ = 0U;
+				_tmp4_ = dir;
+				_tmp5_ = g_dir_read_name (_tmp4_);
+				name = _tmp5_;
+				_tmp6_ = name;
+				if (!(_tmp6_ != NULL)) {
+					break;
+				}
+				_tmp7_ = n_files;
+				_tmp8_ = path;
+				_tmp9_ = name;
+				_tmp10_ = g_build_filename (_tmp8_, _tmp9_, NULL, NULL);
+				_tmp11_ = _tmp10_;
+				_tmp12_ = gsd_delete_operation_count_files (self, _tmp11_);
+				n_files = _tmp7_ + _tmp12_;
+				_g_free0 (_tmp11_);
 			}
-			_tmp3_ = g_build_filename (path, name, NULL, NULL);
-			_tmp4_ = _tmp3_;
-			_tmp5_ = gsd_delete_operation_count_files (self, _tmp4_);
-			n_files = n_files + _tmp5_;
-			_g_free0 (_tmp4_);
+			_g_dir_close0 (dir);
 		}
-		_g_dir_close0 (dir);
 		goto __finally9;
 		__catch9_g_file_error:
 		{
-			GError * e;
+			GError* e = NULL;
 			e = _inner_error_;
 			_inner_error_ = NULL;
 			_g_error_free0 (e);
@@ -390,11 +432,15 @@ static guint gsd_delete_operation_count_files (GsdDeleteOperation* self, const g
 			return 0U;
 		}
 	} else {
-		gboolean _tmp6_;
-		_tmp6_ = g_file_test (path, G_FILE_TEST_IS_SYMLINK);
-		if (_tmp6_) {
+		const gchar* _tmp13_;
+		gboolean _tmp14_ = FALSE;
+		_tmp13_ = path;
+		_tmp14_ = g_file_test (_tmp13_, G_FILE_TEST_IS_SYMLINK);
+		if (_tmp14_) {
 		} else {
-			n_files++;
+			guint _tmp15_;
+			_tmp15_ = n_files;
+			n_files = _tmp15_ + 1;
 		}
 	}
 	result = n_files;
@@ -405,18 +451,21 @@ static guint gsd_delete_operation_count_files (GsdDeleteOperation* self, const g
 static GList* gsd_delete_operation_real_build_args (GsdAsyncOperation* base, GError** error) {
 	GsdDeleteOperation * self;
 	GList* result = NULL;
-	guint _tmp0_;
+	GList* _tmp0_;
+	guint _tmp1_ = 0U;
 	GList* args;
-	GList* _tmp1_ = NULL;
-	GList* _tmp2_;
-	gchar* _tmp3_;
+	GList* _tmp2_ = NULL;
+	GList* _tmp3_;
+	gchar* _tmp4_;
+	GList* _tmp5_;
 	GError * _inner_error_ = NULL;
 	self = (GsdDeleteOperation*) base;
-	_tmp0_ = g_list_length (self->priv->_paths);
-	g_return_val_if_fail (_tmp0_ > 0, NULL);
+	_tmp0_ = self->priv->_paths;
+	_tmp1_ = g_list_length (_tmp0_);
+	g_return_val_if_fail (_tmp1_ > ((guint) 0), NULL);
 	args = NULL;
-	_tmp1_ = GSD_ASYNC_OPERATION_CLASS (gsd_delete_operation_parent_class)->build_args ((GsdAsyncOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
-	_tmp2_ = _tmp1_;
+	_tmp2_ = GSD_ASYNC_OPERATION_CLASS (gsd_delete_operation_parent_class)->build_args ((GsdAsyncOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
+	_tmp3_ = _tmp2_;
 	if (_inner_error_ != NULL) {
 		if (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR) {
 			g_propagate_error (error, _inner_error_);
@@ -430,24 +479,23 @@ static GList* gsd_delete_operation_real_build_args (GsdAsyncOperation* base, GEr
 		}
 	}
 	__g_list_free__g_free0_0 (args);
-	args = _tmp2_;
-	_tmp3_ = g_strdup ("-r");
-	args = g_list_append (args, _tmp3_);
-	self->priv->n_files = (guint) 0;
+	args = _tmp3_;
+	_tmp4_ = g_strdup ("-r");
+	args = g_list_append (args, _tmp4_);
+	_tmp5_ = self->priv->_paths;
 	{
-		GList* path_collection;
-		GList* path_it;
-		path_collection = self->priv->_paths;
+		GList* path_collection = NULL;
+		GList* path_it = NULL;
+		path_collection = _tmp5_;
 		for (path_it = path_collection; path_it != NULL; path_it = path_it->next) {
-			const gchar* path;
+			const gchar* path = NULL;
 			path = (const gchar*) path_it->data;
 			{
-				gchar* _tmp4_;
-				guint _tmp5_;
-				_tmp4_ = g_strdup (path);
-				args = g_list_append (args, _tmp4_);
-				_tmp5_ = gsd_delete_operation_count_files (self, path);
-				self->priv->n_files = self->priv->n_files + _tmp5_;
+				const gchar* _tmp6_;
+				gchar* _tmp7_;
+				_tmp6_ = path;
+				_tmp7_ = g_strdup (_tmp6_);
+				args = g_list_append (args, _tmp7_);
 			}
 		}
 	}
@@ -467,10 +515,34 @@ static void gsd_delete_operation_real_cleanup (GsdAsyncOperation* base) {
 static guint gsd_delete_operation_real_get_max_progress (GsdAsyncOperation* base) {
 	GsdDeleteOperation * self;
 	guint result = 0U;
-	guint _tmp0_;
+	guint n_files;
+	GList* _tmp0_;
+	guint _tmp4_ = 0U;
+	guint _tmp5_;
 	self = (GsdDeleteOperation*) base;
-	_tmp0_ = GSD_ASYNC_OPERATION_CLASS (gsd_delete_operation_parent_class)->get_max_progress ((GsdAsyncOperation*) GSD_ZEROABLE_OPERATION (self));
-	result = _tmp0_ * self->priv->n_files;
+	n_files = (guint) 0;
+	_tmp0_ = self->priv->_paths;
+	{
+		GList* path_collection = NULL;
+		GList* path_it = NULL;
+		path_collection = _tmp0_;
+		for (path_it = path_collection; path_it != NULL; path_it = path_it->next) {
+			const gchar* path = NULL;
+			path = (const gchar*) path_it->data;
+			{
+				guint _tmp1_;
+				const gchar* _tmp2_;
+				guint _tmp3_ = 0U;
+				_tmp1_ = n_files;
+				_tmp2_ = path;
+				_tmp3_ = gsd_delete_operation_count_files (self, _tmp2_);
+				n_files = _tmp1_ + _tmp3_;
+			}
+		}
+	}
+	_tmp4_ = GSD_ASYNC_OPERATION_CLASS (gsd_delete_operation_parent_class)->get_max_progress ((GsdAsyncOperation*) GSD_ZEROABLE_OPERATION (self));
+	_tmp5_ = n_files;
+	result = _tmp4_ * _tmp5_;
 	return result;
 }
 
@@ -489,8 +561,10 @@ GsdDeleteOperation* gsd_delete_operation_new (void) {
 
 GList* gsd_delete_operation_get_paths (GsdDeleteOperation* self) {
 	GList* result;
+	GList* _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	result = self->priv->_paths;
+	_tmp0_ = self->priv->_paths;
+	result = _tmp0_;
 	return result;
 }
 
@@ -526,7 +600,6 @@ static void gsd_delete_operation_class_init (GsdDeleteOperationClass * klass) {
 
 static void gsd_delete_operation_instance_init (GsdDeleteOperation * self) {
 	self->priv = GSD_DELETE_OPERATION_GET_PRIVATE (self);
-	self->priv->n_files = (guint) 0;
 }
 
 
diff --git a/gsecuredelete/gsd-fill-operation.c b/gsecuredelete/gsd-fill-operation.c
index 2a53308..52d6408 100644
--- a/gsecuredelete/gsd-fill-operation.c
+++ b/gsecuredelete/gsd-fill-operation.c
@@ -1,4 +1,4 @@
-/* gsd-fill-operation.c generated by valac 0.12.0, the Vala compiler
+/* gsd-fill-operation.c generated by valac 0.16.0.1-eb36, the Vala compiler
  * generated from gsd-fill-operation.vala, do not modify */
 
 /* 
@@ -24,7 +24,7 @@
 #include <glib-object.h>
 #include <stdlib.h>
 #include <string.h>
-#include <config.h>
+#include <gsd-config.h>
 
 
 #define GSD_TYPE_ASYNC_OPERATION (gsd_async_operation_get_type ())
@@ -196,8 +196,10 @@ GType gsd_fill_operation_wipe_mode_get_type (void) {
 
 static const gchar* gsd_fill_operation_get_argument_for_wipe_mode (GsdFillOperation* self, GsdFillOperationWipeMode wipe_mode) {
 	const gchar* result = NULL;
+	GsdFillOperationWipeMode _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	switch (wipe_mode) {
+	_tmp0_ = wipe_mode;
+	switch (_tmp0_) {
 		case GSD_FILL_OPERATION_WIPE_MODE_INODES:
 		{
 			result = "-i";
@@ -217,15 +219,21 @@ static const gchar* gsd_fill_operation_get_argument_for_wipe_mode (GsdFillOperat
 
 
 static void gsd_fill_operation_add_wipe_mode_argument (GsdFillOperation* self, GList** args) {
-	const gchar* _tmp0_ = NULL;
+	GsdFillOperationWipeMode _tmp0_;
+	const gchar* _tmp1_ = NULL;
 	const gchar* arg_mode;
+	const gchar* _tmp2_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = gsd_fill_operation_get_argument_for_wipe_mode (self, self->priv->_wipe_mode);
-	arg_mode = _tmp0_;
-	if (arg_mode != NULL) {
-		gchar* _tmp1_;
-		_tmp1_ = g_strdup (arg_mode);
-		*args = g_list_append (*args, _tmp1_);
+	_tmp0_ = self->priv->_wipe_mode;
+	_tmp1_ = gsd_fill_operation_get_argument_for_wipe_mode (self, _tmp0_);
+	arg_mode = _tmp1_;
+	_tmp2_ = arg_mode;
+	if (_tmp2_ != NULL) {
+		const gchar* _tmp3_;
+		gchar* _tmp4_;
+		_tmp3_ = arg_mode;
+		_tmp4_ = g_strdup (_tmp3_);
+		*args = g_list_append (*args, _tmp4_);
 	}
 }
 
@@ -244,16 +252,19 @@ static void _g_list_free__g_free0_ (GList* self) {
 static GList* gsd_fill_operation_real_build_args (GsdAsyncOperation* base, GError** error) {
 	GsdFillOperation * self;
 	GList* result = NULL;
+	const gchar* _tmp0_;
 	GList* args;
-	GList* _tmp0_ = NULL;
-	GList* _tmp1_;
-	gchar* _tmp2_;
+	GList* _tmp1_ = NULL;
+	GList* _tmp2_;
+	const gchar* _tmp3_;
+	gchar* _tmp4_;
 	GError * _inner_error_ = NULL;
 	self = (GsdFillOperation*) base;
-	g_return_val_if_fail (self->priv->_directory != NULL, NULL);
+	_tmp0_ = self->priv->_directory;
+	g_return_val_if_fail (_tmp0_ != NULL, NULL);
 	args = NULL;
-	_tmp0_ = GSD_ASYNC_OPERATION_CLASS (gsd_fill_operation_parent_class)->build_args ((GsdAsyncOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
-	_tmp1_ = _tmp0_;
+	_tmp1_ = GSD_ASYNC_OPERATION_CLASS (gsd_fill_operation_parent_class)->build_args ((GsdAsyncOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
+	_tmp2_ = _tmp1_;
 	if (_inner_error_ != NULL) {
 		if (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR) {
 			g_propagate_error (error, _inner_error_);
@@ -267,10 +278,11 @@ static GList* gsd_fill_operation_real_build_args (GsdAsyncOperation* base, GErro
 		}
 	}
 	__g_list_free__g_free0_0 (args);
-	args = _tmp1_;
+	args = _tmp2_;
 	gsd_fill_operation_add_wipe_mode_argument (self, &args);
-	_tmp2_ = g_strdup (self->priv->_directory);
-	args = g_list_append (args, _tmp2_);
+	_tmp3_ = self->priv->_directory;
+	_tmp4_ = g_strdup (_tmp3_);
+	args = g_list_append (args, _tmp4_);
 	result = args;
 	return result;
 }
@@ -293,15 +305,19 @@ static void gsd_fill_operation_real_cleanup (GsdAsyncOperation* base) {
      */
 gboolean gsd_fill_operation_run (GsdFillOperation* self, const gchar* directory, GError** error) {
 	gboolean result = FALSE;
-	gboolean _tmp0_;
-	gboolean _tmp1_;
+	const gchar* _tmp0_;
+	gboolean _tmp2_ = FALSE;
+	gboolean _tmp3_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, FALSE);
-	if (directory != NULL) {
-		gsd_fill_operation_set_directory (self, directory);
+	_tmp0_ = directory;
+	if (_tmp0_ != NULL) {
+		const gchar* _tmp1_;
+		_tmp1_ = directory;
+		gsd_fill_operation_set_directory (self, _tmp1_);
 	}
-	_tmp0_ = gsd_secure_delete_operation_run ((GsdSecureDeleteOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
-	_tmp1_ = _tmp0_;
+	_tmp2_ = gsd_secure_delete_operation_run ((GsdSecureDeleteOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
+	_tmp3_ = _tmp2_;
 	if (_inner_error_ != NULL) {
 		if ((_inner_error_->domain == G_SPAWN_ERROR) || (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR)) {
 			g_propagate_error (error, _inner_error_);
@@ -312,7 +328,7 @@ gboolean gsd_fill_operation_run (GsdFillOperation* self, const gchar* directory,
 			return FALSE;
 		}
 	}
-	result = _tmp1_;
+	result = _tmp3_;
 	return result;
 }
 
@@ -327,15 +343,19 @@ gboolean gsd_fill_operation_run (GsdFillOperation* self, const gchar* directory,
      */
 gboolean gsd_fill_operation_run_sync (GsdFillOperation* self, const gchar* directory, GError** error) {
 	gboolean result = FALSE;
-	gboolean _tmp0_;
-	gboolean _tmp1_;
+	const gchar* _tmp0_;
+	gboolean _tmp2_ = FALSE;
+	gboolean _tmp3_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, FALSE);
-	if (directory != NULL) {
-		gsd_fill_operation_set_directory (self, directory);
+	_tmp0_ = directory;
+	if (_tmp0_ != NULL) {
+		const gchar* _tmp1_;
+		_tmp1_ = directory;
+		gsd_fill_operation_set_directory (self, _tmp1_);
 	}
-	_tmp0_ = gsd_secure_delete_operation_run_sync ((GsdSecureDeleteOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
-	_tmp1_ = _tmp0_;
+	_tmp2_ = gsd_secure_delete_operation_run_sync ((GsdSecureDeleteOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
+	_tmp3_ = _tmp2_;
 	if (_inner_error_ != NULL) {
 		if ((_inner_error_->domain == G_SPAWN_ERROR) || (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR)) {
 			g_propagate_error (error, _inner_error_);
@@ -346,7 +366,7 @@ gboolean gsd_fill_operation_run_sync (GsdFillOperation* self, const gchar* direc
 			return FALSE;
 		}
 	}
-	result = _tmp1_;
+	result = _tmp3_;
 	return result;
 }
 
@@ -365,33 +385,41 @@ GsdFillOperation* gsd_fill_operation_new (void) {
 
 GsdFillOperationWipeMode gsd_fill_operation_get_wipe_mode (GsdFillOperation* self) {
 	GsdFillOperationWipeMode result;
+	GsdFillOperationWipeMode _tmp0_;
 	g_return_val_if_fail (self != NULL, 0);
-	result = self->priv->_wipe_mode;
+	_tmp0_ = self->priv->_wipe_mode;
+	result = _tmp0_;
 	return result;
 }
 
 
 void gsd_fill_operation_set_wipe_mode (GsdFillOperation* self, GsdFillOperationWipeMode value) {
+	GsdFillOperationWipeMode _tmp0_;
 	g_return_if_fail (self != NULL);
-	self->priv->_wipe_mode = value;
+	_tmp0_ = value;
+	self->priv->_wipe_mode = _tmp0_;
 	g_object_notify ((GObject *) self, "wipe-mode");
 }
 
 
 const gchar* gsd_fill_operation_get_directory (GsdFillOperation* self) {
 	const gchar* result;
+	const gchar* _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	result = self->priv->_directory;
+	_tmp0_ = self->priv->_directory;
+	result = _tmp0_;
 	return result;
 }
 
 
 void gsd_fill_operation_set_directory (GsdFillOperation* self, const gchar* value) {
-	gchar* _tmp0_;
+	const gchar* _tmp0_;
+	gchar* _tmp1_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = g_strdup (value);
+	_tmp0_ = value;
+	_tmp1_ = g_strdup (_tmp0_);
 	_g_free0 (self->priv->_directory);
-	self->priv->_directory = _tmp0_;
+	self->priv->_directory = _tmp1_;
 	g_object_notify ((GObject *) self, "directory");
 }
 
diff --git a/gsecuredelete/gsd-mem-operation.c b/gsecuredelete/gsd-mem-operation.c
index c46464c..1539ba6 100644
--- a/gsecuredelete/gsd-mem-operation.c
+++ b/gsecuredelete/gsd-mem-operation.c
@@ -1,4 +1,4 @@
-/* gsd-mem-operation.c generated by valac 0.12.0, the Vala compiler
+/* gsd-mem-operation.c generated by valac 0.16.0.1-eb36, the Vala compiler
  * generated from gsd-mem-operation.vala, do not modify */
 
 /* 
@@ -24,7 +24,7 @@
 #include <glib-object.h>
 #include <stdlib.h>
 #include <string.h>
-#include <config.h>
+#include <gsd-config.h>
 
 
 #define GSD_TYPE_ASYNC_OPERATION (gsd_async_operation_get_type ())
diff --git a/gsecuredelete/gsd-secure-delete-operation.c b/gsecuredelete/gsd-secure-delete-operation.c
index 9e9b39a..99b15fc 100644
--- a/gsecuredelete/gsd-secure-delete-operation.c
+++ b/gsecuredelete/gsd-secure-delete-operation.c
@@ -1,4 +1,4 @@
-/* gsd-secure-delete-operation.c generated by valac 0.12.0, the Vala compiler
+/* gsd-secure-delete-operation.c generated by valac 0.16.0.1-eb36, the Vala compiler
  * generated from gsd-secure-delete-operation.vala, do not modify */
 
 /* 
@@ -161,8 +161,10 @@ GType gsd_secure_delete_operation_mode_get_type (void) {
 
 static const gchar* gsd_secure_delete_operation_get_argument_for_fast (GsdSecureDeleteOperation* self, gboolean fast) {
 	const gchar* result = NULL;
+	gboolean _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	if (fast) {
+	_tmp0_ = fast;
+	if (_tmp0_) {
 		result = "-f";
 		return result;
 	}
@@ -172,23 +174,31 @@ static const gchar* gsd_secure_delete_operation_get_argument_for_fast (GsdSecure
 
 
 static void gsd_secure_delete_operation_add_fast_argument (GsdSecureDeleteOperation* self, GList** args) {
-	const gchar* _tmp0_ = NULL;
+	gboolean _tmp0_;
+	const gchar* _tmp1_ = NULL;
 	const gchar* arg_fast;
+	const gchar* _tmp2_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = gsd_secure_delete_operation_get_argument_for_fast (self, self->priv->_fast);
-	arg_fast = _tmp0_;
-	if (arg_fast != NULL) {
-		gchar* _tmp1_;
-		_tmp1_ = g_strdup (arg_fast);
-		*args = g_list_append (*args, _tmp1_);
+	_tmp0_ = self->priv->_fast;
+	_tmp1_ = gsd_secure_delete_operation_get_argument_for_fast (self, _tmp0_);
+	arg_fast = _tmp1_;
+	_tmp2_ = arg_fast;
+	if (_tmp2_ != NULL) {
+		const gchar* _tmp3_;
+		gchar* _tmp4_;
+		_tmp3_ = arg_fast;
+		_tmp4_ = g_strdup (_tmp3_);
+		*args = g_list_append (*args, _tmp4_);
 	}
 }
 
 
 static const gchar* gsd_secure_delete_operation_get_argument_for_mode (GsdSecureDeleteOperation* self, GsdSecureDeleteOperationMode mode) {
 	const gchar* result = NULL;
+	GsdSecureDeleteOperationMode _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	switch (mode) {
+	_tmp0_ = mode;
+	switch (_tmp0_) {
 		case GSD_SECURE_DELETE_OPERATION_MODE_INSECURE:
 		{
 			result = "-l";
@@ -208,15 +218,21 @@ static const gchar* gsd_secure_delete_operation_get_argument_for_mode (GsdSecure
 
 
 static void gsd_secure_delete_operation_add_mode_argument (GsdSecureDeleteOperation* self, GList** args) {
-	const gchar* _tmp0_ = NULL;
+	GsdSecureDeleteOperationMode _tmp0_;
+	const gchar* _tmp1_ = NULL;
 	const gchar* arg_mode;
+	const gchar* _tmp2_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = gsd_secure_delete_operation_get_argument_for_mode (self, self->priv->_mode);
-	arg_mode = _tmp0_;
-	if (arg_mode != NULL) {
-		gchar* _tmp1_;
-		_tmp1_ = g_strdup (arg_mode);
-		*args = g_list_append (*args, _tmp1_);
+	_tmp0_ = self->priv->_mode;
+	_tmp1_ = gsd_secure_delete_operation_get_argument_for_mode (self, _tmp0_);
+	arg_mode = _tmp1_;
+	_tmp2_ = arg_mode;
+	if (_tmp2_ != NULL) {
+		const gchar* _tmp3_;
+		gchar* _tmp4_;
+		_tmp3_ = arg_mode;
+		_tmp4_ = g_strdup (_tmp3_);
+		*args = g_list_append (*args, _tmp4_);
 	}
 }
 
@@ -251,8 +267,10 @@ static GList* gsd_secure_delete_operation_real_build_args (GsdAsyncOperation* ba
 static guint gsd_secure_delete_operation_real_get_max_progress (GsdAsyncOperation* base) {
 	GsdSecureDeleteOperation * self;
 	guint result = 0U;
+	GsdSecureDeleteOperationMode _tmp0_;
 	self = (GsdSecureDeleteOperation*) base;
-	switch (self->priv->_mode) {
+	_tmp0_ = self->priv->_mode;
+	switch (_tmp0_) {
 		case GSD_SECURE_DELETE_OPERATION_MODE_INSECURE:
 		{
 			result = (guint) 2;
@@ -276,29 +294,37 @@ static guint gsd_secure_delete_operation_real_get_progress (GsdAsyncOperation* b
 	GsdSecureDeleteOperation * self;
 	guint result = 0U;
 	guint progress;
-	guint _tmp0_;
-	guint _tmp1_;
 	GError * _inner_error_ = NULL;
 	self = (GsdSecureDeleteOperation*) base;
 	progress = (guint) 0;
-	_tmp0_ = gsd_fd_count_ready_bytes (((GsdAsyncOperation*) self)->fd_out, (gint) '*', (gsize) 16, &_inner_error_);
-	_tmp1_ = _tmp0_;
-	if (_inner_error_ != NULL) {
-		if (_inner_error_->domain == GSD_FD_ERROR) {
-			goto __catch10_gsd_fd_error;
+	{
+		gint _tmp0_;
+		guint _tmp1_ = 0U;
+		guint _tmp2_;
+		_tmp0_ = ((GsdAsyncOperation*) self)->fd_out;
+		_tmp1_ = gsd_fd_count_ready_bytes (_tmp0_, (gint) '*', (gsize) 16, &_inner_error_);
+		_tmp2_ = _tmp1_;
+		if (_inner_error_ != NULL) {
+			if (_inner_error_->domain == GSD_FD_ERROR) {
+				goto __catch10_gsd_fd_error;
+			}
+			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);
+			g_clear_error (&_inner_error_);
+			return 0U;
 		}
-		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);
-		g_clear_error (&_inner_error_);
-		return 0U;
+		progress = _tmp2_;
 	}
-	progress = _tmp1_;
 	goto __finally10;
 	__catch10_gsd_fd_error:
 	{
-		GError * e;
+		GError* e = NULL;
+		GError* _tmp3_;
+		const gchar* _tmp4_;
 		e = _inner_error_;
 		_inner_error_ = NULL;
-		g_warning ("gsd-secure-delete-operation.vala:145: Progression check failed: %s", e->message);
+		_tmp3_ = e;
+		_tmp4_ = _tmp3_->message;
+		g_warning ("gsd-secure-delete-operation.vala:145: Progression check failed: %s", _tmp4_);
 		_g_error_free0 (e);
 	}
 	__finally10:
@@ -319,7 +345,7 @@ static guint gsd_secure_delete_operation_real_get_progress (GsdAsyncOperation* b
      */
 gboolean gsd_secure_delete_operation_run (GsdSecureDeleteOperation* self, GError** error) {
 	gboolean result = FALSE;
-	gboolean _tmp0_;
+	gboolean _tmp0_ = FALSE;
 	gboolean _tmp1_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, FALSE);
@@ -347,7 +373,7 @@ gboolean gsd_secure_delete_operation_run (GsdSecureDeleteOperation* self, GError
      */
 gboolean gsd_secure_delete_operation_run_sync (GsdSecureDeleteOperation* self, GError** error) {
 	gboolean result = FALSE;
-	gboolean _tmp0_;
+	gboolean _tmp0_ = FALSE;
 	gboolean _tmp1_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, FALSE);
@@ -377,30 +403,38 @@ GsdSecureDeleteOperation* gsd_secure_delete_operation_construct (GType object_ty
 
 gboolean gsd_secure_delete_operation_get_fast (GsdSecureDeleteOperation* self) {
 	gboolean result;
+	gboolean _tmp0_;
 	g_return_val_if_fail (self != NULL, FALSE);
-	result = self->priv->_fast;
+	_tmp0_ = self->priv->_fast;
+	result = _tmp0_;
 	return result;
 }
 
 
 void gsd_secure_delete_operation_set_fast (GsdSecureDeleteOperation* self, gboolean value) {
+	gboolean _tmp0_;
 	g_return_if_fail (self != NULL);
-	self->priv->_fast = value;
+	_tmp0_ = value;
+	self->priv->_fast = _tmp0_;
 	g_object_notify ((GObject *) self, "fast");
 }
 
 
 GsdSecureDeleteOperationMode gsd_secure_delete_operation_get_mode (GsdSecureDeleteOperation* self) {
 	GsdSecureDeleteOperationMode result;
+	GsdSecureDeleteOperationMode _tmp0_;
 	g_return_val_if_fail (self != NULL, 0);
-	result = self->priv->_mode;
+	_tmp0_ = self->priv->_mode;
+	result = _tmp0_;
 	return result;
 }
 
 
 void gsd_secure_delete_operation_set_mode (GsdSecureDeleteOperation* self, GsdSecureDeleteOperationMode value) {
+	GsdSecureDeleteOperationMode _tmp0_;
 	g_return_if_fail (self != NULL);
-	self->priv->_mode = value;
+	_tmp0_ = value;
+	self->priv->_mode = _tmp0_;
 	g_object_notify ((GObject *) self, "mode");
 }
 
diff --git a/gsecuredelete/gsd-swap-operation.c b/gsecuredelete/gsd-swap-operation.c
index dfc28ff..a13256b 100644
--- a/gsecuredelete/gsd-swap-operation.c
+++ b/gsecuredelete/gsd-swap-operation.c
@@ -1,4 +1,4 @@
-/* gsd-swap-operation.c generated by valac 0.12.0, the Vala compiler
+/* gsd-swap-operation.c generated by valac 0.16.0.1-eb36, the Vala compiler
  * generated from gsd-swap-operation.vala, do not modify */
 
 /* 
@@ -25,7 +25,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
-#include <config.h>
+#include <gsd-config.h>
 
 
 #define GSD_TYPE_ASYNC_OPERATION (gsd_async_operation_get_type ())
@@ -176,34 +176,50 @@ static gchar* g_file_stream_read_line (FILE* self) {
 	gchar* result = NULL;
 	gint c = 0;
 	GString* ret;
+	GString* _tmp7_;
 	g_return_val_if_fail (self != NULL, NULL);
 	ret = NULL;
 	while (TRUE) {
-		gint _tmp0_;
+		gint _tmp0_ = 0;
+		gint _tmp1_;
+		GString* _tmp2_;
+		gint _tmp4_;
+		GString* _tmp5_;
+		gint _tmp6_;
 		_tmp0_ = fgetc (self);
 		c = _tmp0_;
-		if (!(c != EOF)) {
+		_tmp1_ = c;
+		if (!(_tmp1_ != EOF)) {
 			break;
 		}
-		if (ret == NULL) {
-			GString* _tmp1_ = NULL;
-			_tmp1_ = g_string_new ("");
+		_tmp2_ = ret;
+		if (_tmp2_ == NULL) {
+			GString* _tmp3_;
+			_tmp3_ = g_string_new ("");
 			_g_string_free0 (ret);
-			ret = _tmp1_;
+			ret = _tmp3_;
 		}
-		if (c == '\n') {
+		_tmp4_ = c;
+		if (_tmp4_ == ((gint) '\n')) {
 			break;
 		}
-		g_string_append_c (ret, (gchar) c);
+		_tmp5_ = ret;
+		_tmp6_ = c;
+		g_string_append_c ((GString*) _tmp5_, (gchar) _tmp6_);
 	}
-	if (ret == NULL) {
+	_tmp7_ = ret;
+	if (_tmp7_ == NULL) {
 		result = NULL;
 		_g_string_free0 (ret);
 		return result;
 	} else {
-		gchar* _tmp2_;
-		_tmp2_ = g_strdup (ret->str);
-		result = _tmp2_;
+		GString* _tmp8_;
+		const gchar* _tmp9_;
+		gchar* _tmp10_;
+		_tmp8_ = ret;
+		_tmp9_ = ((GString*) _tmp8_)->str;
+		_tmp10_ = g_strdup (_tmp9_);
+		result = _tmp10_;
 		_g_string_free0 (ret);
 		return result;
 	}
@@ -211,60 +227,129 @@ static gchar* g_file_stream_read_line (FILE* self) {
 }
 
 
+static gint string_index_of_char (const gchar* self, gunichar c, gint start_index) {
+	gint result = 0;
+	gint _tmp0_;
+	gunichar _tmp1_;
+	gchar* _tmp2_ = NULL;
+	gchar* _result_;
+	gchar* _tmp3_;
+	g_return_val_if_fail (self != NULL, 0);
+	_tmp0_ = start_index;
+	_tmp1_ = c;
+	_tmp2_ = g_utf8_strchr (((gchar*) self) + _tmp0_, (gssize) (-1), _tmp1_);
+	_result_ = _tmp2_;
+	_tmp3_ = _result_;
+	if (_tmp3_ != NULL) {
+		gchar* _tmp4_;
+		_tmp4_ = _result_;
+		result = (gint) (_tmp4_ - ((gchar*) self));
+		return result;
+	} else {
+		result = -1;
+		return result;
+	}
+}
+
+
+static gchar string_get (const gchar* self, glong index) {
+	gchar result = '\0';
+	glong _tmp0_;
+	gchar _tmp1_;
+	g_return_val_if_fail (self != NULL, '\0');
+	_tmp0_ = index;
+	_tmp1_ = ((gchar*) self)[_tmp0_];
+	result = _tmp1_;
+	return result;
+}
+
+
 static gboolean gsd_swap_operation_swap_is_in_use (GsdSwapOperation* self, const gchar* swapdev) {
 	gboolean result = FALSE;
 	gboolean in_use;
-	gsize _tmp0_;
-	gsize swapdev_len;
-	FILE* _tmp1_ = NULL;
+	const gchar* _tmp0_;
+	gint _tmp1_;
+	gint _tmp2_;
+	gint swapdev_len;
+	FILE* _tmp3_ = NULL;
 	FILE* file;
+	FILE* _tmp4_;
 	g_return_val_if_fail (self != NULL, FALSE);
 	g_return_val_if_fail (swapdev != NULL, FALSE);
 	in_use = FALSE;
-	_tmp0_ = strlen (swapdev);
-	swapdev_len = _tmp0_;
-	_tmp1_ = fopen ("/proc/swaps", "r");
-	file = _tmp1_;
-	if (file != NULL) {
+	_tmp0_ = swapdev;
+	_tmp1_ = strlen (_tmp0_);
+	_tmp2_ = _tmp1_;
+	swapdev_len = _tmp2_;
+	_tmp3_ = fopen ("/proc/swaps", "r");
+	file = _tmp3_;
+	_tmp4_ = file;
+	if (_tmp4_ != NULL) {
 		gchar* line;
-		gchar* _tmp2_ = NULL;
-		gchar* _tmp3_;
+		FILE* _tmp5_;
+		gchar* _tmp6_ = NULL;
+		gchar* _tmp7_;
 		line = NULL;
-		_tmp2_ = g_file_stream_read_line (file);
-		_tmp3_ = _tmp2_;
-		_g_free0 (_tmp3_);
+		_tmp5_ = file;
+		_tmp6_ = g_file_stream_read_line (_tmp5_);
+		_tmp7_ = _tmp6_;
+		_g_free0 (_tmp7_);
 		{
-			gboolean _tmp4_;
-			_tmp4_ = TRUE;
+			gboolean _tmp8_;
+			_tmp8_ = TRUE;
 			while (TRUE) {
-				gchar* _tmp6_ = NULL;
-				if (!_tmp4_) {
-					gboolean _tmp5_ = FALSE;
-					if (line != NULL) {
-						_tmp5_ = !in_use;
+				gboolean _tmp9_;
+				FILE* _tmp14_;
+				gchar* _tmp15_ = NULL;
+				const gchar* _tmp16_;
+				_tmp9_ = _tmp8_;
+				if (!_tmp9_) {
+					gboolean _tmp10_ = FALSE;
+					const gchar* _tmp11_;
+					gboolean _tmp13_;
+					_tmp11_ = line;
+					if (_tmp11_ != NULL) {
+						gboolean _tmp12_;
+						_tmp12_ = in_use;
+						_tmp10_ = !_tmp12_;
 					} else {
-						_tmp5_ = FALSE;
+						_tmp10_ = FALSE;
 					}
-					if (!_tmp5_) {
+					_tmp13_ = _tmp10_;
+					if (!_tmp13_) {
 						break;
 					}
 				}
-				_tmp4_ = FALSE;
-				_tmp6_ = g_file_stream_read_line (file);
+				_tmp8_ = FALSE;
+				_tmp14_ = file;
+				_tmp15_ = g_file_stream_read_line (_tmp14_);
 				_g_free0 (line);
-				line = _tmp6_;
-				if (line != NULL) {
-					gboolean _tmp7_ = FALSE;
-					gboolean _tmp8_;
-					_tmp8_ = g_str_has_prefix (line, swapdev);
-					if (_tmp8_) {
-						const gchar* _tmp9_ = NULL;
-						_tmp9_ = g_utf8_strchr (" \t", (gssize) (-1), (gunichar) ((gchar*) line)[swapdev_len]);
-						_tmp7_ = _tmp9_ != NULL;
+				line = _tmp15_;
+				_tmp16_ = line;
+				if (_tmp16_ != NULL) {
+					gboolean _tmp17_ = FALSE;
+					const gchar* _tmp18_;
+					const gchar* _tmp19_;
+					gboolean _tmp20_ = FALSE;
+					gboolean _tmp25_;
+					_tmp18_ = line;
+					_tmp19_ = swapdev;
+					_tmp20_ = g_str_has_prefix (_tmp18_, _tmp19_);
+					if (_tmp20_) {
+						const gchar* _tmp21_;
+						gint _tmp22_;
+						gchar _tmp23_ = '\0';
+						gint _tmp24_ = 0;
+						_tmp21_ = line;
+						_tmp22_ = swapdev_len;
+						_tmp23_ = string_get (_tmp21_, (glong) _tmp22_);
+						_tmp24_ = string_index_of_char (" \t", (gunichar) _tmp23_, 0);
+						_tmp17_ = _tmp24_ != (-1);
 					} else {
-						_tmp7_ = FALSE;
+						_tmp17_ = FALSE;
 					}
-					in_use = _tmp7_;
+					_tmp25_ = _tmp17_;
+					in_use = _tmp25_;
 				}
 			}
 		}
@@ -290,26 +375,37 @@ static void _g_list_free__g_free0_ (GList* self) {
 static GList* gsd_swap_operation_real_build_args (GsdAsyncOperation* base, GError** error) {
 	GsdSwapOperation * self;
 	GList* result = NULL;
+	const gchar* _tmp0_;
 	GList* args;
-	gboolean _tmp0_ = FALSE;
-	GList* _tmp3_ = NULL;
-	GList* _tmp4_;
-	gchar* _tmp5_;
+	gboolean _tmp1_ = FALSE;
+	gboolean _tmp2_;
+	gboolean _tmp5_;
+	GList* _tmp8_ = NULL;
+	GList* _tmp9_;
+	const gchar* _tmp10_;
+	gchar* _tmp11_;
 	GError * _inner_error_ = NULL;
 	self = (GsdSwapOperation*) base;
-	g_return_val_if_fail (self->priv->_device != NULL, NULL);
+	_tmp0_ = self->priv->_device;
+	g_return_val_if_fail (_tmp0_ != NULL, NULL);
 	args = NULL;
-	if (self->priv->_check_device) {
-		gboolean _tmp1_;
-		_tmp1_ = gsd_swap_operation_swap_is_in_use (self, self->priv->_device);
-		_tmp0_ = _tmp1_;
+	_tmp2_ = self->priv->_check_device;
+	if (_tmp2_) {
+		const gchar* _tmp3_;
+		gboolean _tmp4_ = FALSE;
+		_tmp3_ = self->priv->_device;
+		_tmp4_ = gsd_swap_operation_swap_is_in_use (self, _tmp3_);
+		_tmp1_ = _tmp4_;
 	} else {
-		_tmp0_ = FALSE;
+		_tmp1_ = FALSE;
 	}
-	if (_tmp0_) {
-		GError* _tmp2_ = NULL;
-		_tmp2_ = g_error_new (GSD_ASYNC_OPERATION_ERROR, GSD_ASYNC_OPERATION_ERROR_SUBCLASS_ERROR, "The swap device \"%s\" is in use", self->priv->_device);
-		_inner_error_ = _tmp2_;
+	_tmp5_ = _tmp1_;
+	if (_tmp5_) {
+		const gchar* _tmp6_;
+		GError* _tmp7_;
+		_tmp6_ = self->priv->_device;
+		_tmp7_ = g_error_new (GSD_ASYNC_OPERATION_ERROR, GSD_ASYNC_OPERATION_ERROR_SUBCLASS_ERROR, "The swap device \"%s\" is in use", _tmp6_);
+		_inner_error_ = _tmp7_;
 		if (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR) {
 			g_propagate_error (error, _inner_error_);
 			__g_list_free__g_free0_0 (args);
@@ -321,8 +417,8 @@ static GList* gsd_swap_operation_real_build_args (GsdAsyncOperation* base, GErro
 			return NULL;
 		}
 	}
-	_tmp3_ = GSD_ASYNC_OPERATION_CLASS (gsd_swap_operation_parent_class)->build_args ((GsdAsyncOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
-	_tmp4_ = _tmp3_;
+	_tmp8_ = GSD_ASYNC_OPERATION_CLASS (gsd_swap_operation_parent_class)->build_args ((GsdAsyncOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
+	_tmp9_ = _tmp8_;
 	if (_inner_error_ != NULL) {
 		if (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR) {
 			g_propagate_error (error, _inner_error_);
@@ -336,9 +432,10 @@ static GList* gsd_swap_operation_real_build_args (GsdAsyncOperation* base, GErro
 		}
 	}
 	__g_list_free__g_free0_0 (args);
-	args = _tmp4_;
-	_tmp5_ = g_strdup (self->priv->_device);
-	args = g_list_append (args, _tmp5_);
+	args = _tmp9_;
+	_tmp10_ = self->priv->_device;
+	_tmp11_ = g_strdup (_tmp10_);
+	args = g_list_append (args, _tmp11_);
 	result = args;
 	return result;
 }
@@ -361,15 +458,19 @@ static void gsd_swap_operation_real_cleanup (GsdAsyncOperation* base) {
      */
 gboolean gsd_swap_operation_run (GsdSwapOperation* self, const gchar* device, GError** error) {
 	gboolean result = FALSE;
-	gboolean _tmp0_;
-	gboolean _tmp1_;
+	const gchar* _tmp0_;
+	gboolean _tmp2_ = FALSE;
+	gboolean _tmp3_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, FALSE);
-	if (device != NULL) {
-		gsd_swap_operation_set_device (self, device);
+	_tmp0_ = device;
+	if (_tmp0_ != NULL) {
+		const gchar* _tmp1_;
+		_tmp1_ = device;
+		gsd_swap_operation_set_device (self, _tmp1_);
 	}
-	_tmp0_ = gsd_secure_delete_operation_run ((GsdSecureDeleteOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
-	_tmp1_ = _tmp0_;
+	_tmp2_ = gsd_secure_delete_operation_run ((GsdSecureDeleteOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
+	_tmp3_ = _tmp2_;
 	if (_inner_error_ != NULL) {
 		if ((_inner_error_->domain == G_SPAWN_ERROR) || (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR)) {
 			g_propagate_error (error, _inner_error_);
@@ -380,7 +481,7 @@ gboolean gsd_swap_operation_run (GsdSwapOperation* self, const gchar* device, GE
 			return FALSE;
 		}
 	}
-	result = _tmp1_;
+	result = _tmp3_;
 	return result;
 }
 
@@ -395,15 +496,19 @@ gboolean gsd_swap_operation_run (GsdSwapOperation* self, const gchar* device, GE
      */
 gboolean gsd_swap_operation_run_sync (GsdSwapOperation* self, const gchar* device, GError** error) {
 	gboolean result = FALSE;
-	gboolean _tmp0_;
-	gboolean _tmp1_;
+	const gchar* _tmp0_;
+	gboolean _tmp2_ = FALSE;
+	gboolean _tmp3_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, FALSE);
-	if (device != NULL) {
-		gsd_swap_operation_set_device (self, device);
+	_tmp0_ = device;
+	if (_tmp0_ != NULL) {
+		const gchar* _tmp1_;
+		_tmp1_ = device;
+		gsd_swap_operation_set_device (self, _tmp1_);
 	}
-	_tmp0_ = gsd_secure_delete_operation_run_sync ((GsdSecureDeleteOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
-	_tmp1_ = _tmp0_;
+	_tmp2_ = gsd_secure_delete_operation_run_sync ((GsdSecureDeleteOperation*) GSD_ZEROABLE_OPERATION (self), &_inner_error_);
+	_tmp3_ = _tmp2_;
 	if (_inner_error_ != NULL) {
 		if ((_inner_error_->domain == G_SPAWN_ERROR) || (_inner_error_->domain == GSD_ASYNC_OPERATION_ERROR)) {
 			g_propagate_error (error, _inner_error_);
@@ -414,7 +519,7 @@ gboolean gsd_swap_operation_run_sync (GsdSwapOperation* self, const gchar* devic
 			return FALSE;
 		}
 	}
-	result = _tmp1_;
+	result = _tmp3_;
 	return result;
 }
 
@@ -433,33 +538,41 @@ GsdSwapOperation* gsd_swap_operation_new (void) {
 
 const gchar* gsd_swap_operation_get_device (GsdSwapOperation* self) {
 	const gchar* result;
+	const gchar* _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	result = self->priv->_device;
+	_tmp0_ = self->priv->_device;
+	result = _tmp0_;
 	return result;
 }
 
 
 void gsd_swap_operation_set_device (GsdSwapOperation* self, const gchar* value) {
-	gchar* _tmp0_;
+	const gchar* _tmp0_;
+	gchar* _tmp1_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = g_strdup (value);
+	_tmp0_ = value;
+	_tmp1_ = g_strdup (_tmp0_);
 	_g_free0 (self->priv->_device);
-	self->priv->_device = _tmp0_;
+	self->priv->_device = _tmp1_;
 	g_object_notify ((GObject *) self, "device");
 }
 
 
 gboolean gsd_swap_operation_get_check_device (GsdSwapOperation* self) {
 	gboolean result;
+	gboolean _tmp0_;
 	g_return_val_if_fail (self != NULL, FALSE);
-	result = self->priv->_check_device;
+	_tmp0_ = self->priv->_check_device;
+	result = _tmp0_;
 	return result;
 }
 
 
 void gsd_swap_operation_set_check_device (GsdSwapOperation* self, gboolean value) {
+	gboolean _tmp0_;
 	g_return_if_fail (self != NULL);
-	self->priv->_check_device = value;
+	_tmp0_ = value;
+	self->priv->_check_device = _tmp0_;
 	g_object_notify ((GObject *) self, "check-device");
 }
 
diff --git a/gsecuredelete/gsd-utils.c b/gsecuredelete/gsd-utils.c
index 1ed8d70..7c34aaf 100644
--- a/gsecuredelete/gsd-utils.c
+++ b/gsecuredelete/gsd-utils.c
@@ -1,4 +1,4 @@
-/* gsd-utils.c generated by valac 0.12.0, the Vala compiler
+/* gsd-utils.c generated by valac 0.16.0.1-eb36, the Vala compiler
  * generated from gsd-utils.vala, do not modify */
 
 /* 
@@ -69,29 +69,43 @@ GQuark gsd_fd_error_quark (void) {
 gboolean gsd_fd_read_ready (gint fd, GError** error) {
 	gboolean result = FALSE;
 	gboolean ready;
+	gint _tmp0_;
 	GError * _inner_error_ = NULL;
 	ready = FALSE;
-	if (fd > 0) {
-		fd_set _tmp0_ = {0};
+	_tmp0_ = fd;
+	if (_tmp0_ > 0) {
+		fd_set _tmp1_ = {0};
 		fd_set rfds;
-		struct timeval _tmp1_ = {0};
+		struct timeval _tmp2_ = {0};
 		struct timeval tv;
-		gint _tmp2_;
+		fd_set _tmp3_ = {0};
+		gint _tmp4_;
+		gint _tmp5_;
+		struct timeval _tmp6_;
+		gint _tmp7_ = 0;
 		gint rv;
-		rfds = _tmp0_;
-		_tmp1_.tv_sec = (time_t) 0;
-		_tmp1_.tv_usec = (glong) 0;
-		tv = _tmp1_;
-		FD_ZERO (&rfds);
-		FD_SET (fd, &rfds);
-		_tmp2_ = select (fd + 1, &rfds, NULL, NULL, &tv);
-		rv = _tmp2_;
-		if (rv == (-1)) {
-			const gchar* _tmp3_ = NULL;
-			GError* _tmp4_ = NULL;
-			_tmp3_ = g_strerror (errno);
-			_tmp4_ = g_error_new (GSD_FD_ERROR, GSD_FD_ERROR_SELECT_ERROR, "select(): %s", _tmp3_);
-			_inner_error_ = _tmp4_;
+		gint _tmp8_;
+		rfds = _tmp1_;
+		_tmp2_.tv_sec = (time_t) 0;
+		_tmp2_.tv_usec = (glong) 0;
+		tv = _tmp2_;
+		FD_ZERO (&_tmp3_);
+		rfds = _tmp3_;
+		_tmp4_ = fd;
+		FD_SET (_tmp4_, &rfds);
+		_tmp5_ = fd;
+		_tmp6_ = tv;
+		_tmp7_ = select (_tmp5_ + 1, &rfds, NULL, NULL, &_tmp6_);
+		rv = _tmp7_;
+		_tmp8_ = rv;
+		if (_tmp8_ == (-1)) {
+			gint _tmp9_;
+			const gchar* _tmp10_ = NULL;
+			GError* _tmp11_;
+			_tmp9_ = errno;
+			_tmp10_ = g_strerror (_tmp9_);
+			_tmp11_ = g_error_new (GSD_FD_ERROR, GSD_FD_ERROR_SELECT_ERROR, "select(): %s", _tmp10_);
+			_inner_error_ = _tmp11_;
 			if (_inner_error_->domain == GSD_FD_ERROR) {
 				g_propagate_error (error, _inner_error_);
 				return FALSE;
@@ -101,7 +115,9 @@ gboolean gsd_fd_read_ready (gint fd, GError** error) {
 				return FALSE;
 			}
 		} else {
-			if (rv > 0) {
+			gint _tmp12_;
+			_tmp12_ = rv;
+			if (_tmp12_ > 0) {
 				ready = TRUE;
 			}
 		}
@@ -124,27 +140,45 @@ gboolean gsd_fd_read_ready (gint fd, GError** error) {
 gchar* gsd_fd_read_string (gint fd, gssize n_bytes, GError** error) {
 	gchar* result = NULL;
 	gchar* buf;
-	gchar* _tmp11_;
+	gssize _tmp0_;
+	gchar* _tmp49_;
 	GError * _inner_error_ = NULL;
 	buf = NULL;
-	if (n_bytes > 0) {
+	_tmp0_ = n_bytes;
+	if (_tmp0_ > ((gssize) 0)) {
 		gssize n_read = 0L;
-		gchar* _tmp0_ = NULL;
 		gssize _tmp1_;
-		_tmp0_ = g_new0 (gchar, n_bytes + 1);
-		buf = _tmp0_;
-		_tmp1_ = read (fd, buf, (gsize) n_bytes);
-		n_read = _tmp1_;
-		if (n_read < 0) {
+		gchar* _tmp2_ = NULL;
+		gint _tmp3_;
+		gchar* _tmp4_;
+		gssize _tmp5_;
+		gssize _tmp6_ = 0L;
+		gssize _tmp7_;
+		_tmp1_ = n_bytes;
+		_tmp2_ = g_new0 (gchar, _tmp1_ + 1);
+		buf = _tmp2_;
+		_tmp3_ = fd;
+		_tmp4_ = buf;
+		_tmp5_ = n_bytes;
+		_tmp6_ = read (_tmp3_, _tmp4_, (gsize) _tmp5_);
+		n_read = _tmp6_;
+		_tmp7_ = n_read;
+		if (_tmp7_ < ((gssize) 0)) {
+			gint _tmp8_;
 			gint errn;
-			const gchar* _tmp2_ = NULL;
-			GError* _tmp3_ = NULL;
-			errn = errno;
-			g_free (buf);
+			gchar* _tmp9_;
+			gint _tmp10_;
+			const gchar* _tmp11_ = NULL;
+			GError* _tmp12_;
+			_tmp8_ = errno;
+			errn = _tmp8_;
+			_tmp9_ = buf;
+			g_free (_tmp9_);
 			buf = NULL;
-			_tmp2_ = g_strerror (errn);
-			_tmp3_ = g_error_new (GSD_FD_ERROR, GSD_FD_ERROR_READ_ERROR, "read(): %s", _tmp2_);
-			_inner_error_ = _tmp3_;
+			_tmp10_ = errn;
+			_tmp11_ = g_strerror (_tmp10_);
+			_tmp12_ = g_error_new (GSD_FD_ERROR, GSD_FD_ERROR_READ_ERROR, "read(): %s", _tmp11_);
+			_inner_error_ = _tmp12_;
 			if (_inner_error_->domain == GSD_FD_ERROR) {
 				g_propagate_error (error, _inner_error_);
 				return NULL;
@@ -154,60 +188,112 @@ gchar* gsd_fd_read_string (gint fd, gssize n_bytes, GError** error) {
 				return NULL;
 			}
 		} else {
-			buf[n_read] = (gchar) 0;
+			gchar* _tmp13_;
+			gssize _tmp14_;
+			gchar _tmp15_;
+			_tmp13_ = buf;
+			_tmp14_ = n_read;
+			_tmp13_[_tmp14_] = (gchar) 0;
+			_tmp15_ = _tmp13_[_tmp14_];
 		}
 	} else {
 		gsize packet_size;
 		gsize n_read;
 		gssize read_rv;
+		gssize _tmp40_;
 		packet_size = (gsize) 64;
 		n_read = (gsize) 0;
 		read_rv = (gssize) 0;
 		n_bytes = (gssize) 0;
 		{
-			gboolean _tmp4_;
-			_tmp4_ = TRUE;
+			gboolean _tmp16_;
+			_tmp16_ = TRUE;
 			while (TRUE) {
-				void* _tmp7_ = NULL;
-				gssize _tmp8_;
-				if (!_tmp4_) {
-					gboolean _tmp5_ = FALSE;
-					gboolean _tmp6_ = FALSE;
-					if (n_bytes > 0) {
-						_tmp6_ = read_rv >= 0;
+				gboolean _tmp17_;
+				gchar* _tmp26_;
+				gssize _tmp27_;
+				gsize _tmp28_;
+				void* _tmp29_ = NULL;
+				gint _tmp30_;
+				gchar* _tmp31_;
+				gssize _tmp32_;
+				gsize _tmp33_;
+				gssize _tmp34_ = 0L;
+				gssize _tmp35_;
+				gssize _tmp38_;
+				gsize _tmp39_;
+				_tmp17_ = _tmp16_;
+				if (!_tmp17_) {
+					gboolean _tmp18_ = FALSE;
+					gboolean _tmp19_ = FALSE;
+					gssize _tmp20_;
+					gboolean _tmp22_;
+					gboolean _tmp25_;
+					_tmp20_ = n_bytes;
+					if (_tmp20_ > ((gssize) 0)) {
+						gssize _tmp21_;
+						_tmp21_ = read_rv;
+						_tmp19_ = _tmp21_ >= ((gssize) 0);
 					} else {
-						_tmp6_ = FALSE;
+						_tmp19_ = FALSE;
 					}
-					if (_tmp6_) {
-						_tmp5_ = read_rv == packet_size;
+					_tmp22_ = _tmp19_;
+					if (_tmp22_) {
+						gssize _tmp23_;
+						gsize _tmp24_;
+						_tmp23_ = read_rv;
+						_tmp24_ = packet_size;
+						_tmp18_ = ((gsize) _tmp23_) == _tmp24_;
 					} else {
-						_tmp5_ = FALSE;
+						_tmp18_ = FALSE;
 					}
-					if (!_tmp5_) {
+					_tmp25_ = _tmp18_;
+					if (!_tmp25_) {
 						break;
 					}
 				}
-				_tmp4_ = FALSE;
-				_tmp7_ = g_realloc (buf, (n_bytes + packet_size) + 1);
-				buf = _tmp7_;
-				_tmp8_ = read (fd, &buf[n_bytes], packet_size);
-				read_rv = _tmp8_;
-				if (read_rv >= 0) {
-					n_read = n_read + ((gsize) read_rv);
+				_tmp16_ = FALSE;
+				_tmp26_ = buf;
+				_tmp27_ = n_bytes;
+				_tmp28_ = packet_size;
+				_tmp29_ = g_realloc (_tmp26_, (_tmp27_ + _tmp28_) + 1);
+				buf = _tmp29_;
+				_tmp30_ = fd;
+				_tmp31_ = buf;
+				_tmp32_ = n_bytes;
+				_tmp33_ = packet_size;
+				_tmp34_ = read (_tmp30_, &_tmp31_[_tmp32_], _tmp33_);
+				read_rv = _tmp34_;
+				_tmp35_ = read_rv;
+				if (_tmp35_ >= ((gssize) 0)) {
+					gsize _tmp36_;
+					gssize _tmp37_;
+					_tmp36_ = n_read;
+					_tmp37_ = read_rv;
+					n_read = _tmp36_ + _tmp37_;
 				}
-				n_bytes = n_bytes + ((gssize) packet_size);
+				_tmp38_ = n_bytes;
+				_tmp39_ = packet_size;
+				n_bytes = _tmp38_ + ((gssize) _tmp39_);
 			}
 		}
-		if (read_rv < 0) {
+		_tmp40_ = read_rv;
+		if (_tmp40_ < ((gssize) 0)) {
+			gint _tmp41_;
 			gint errn;
-			const gchar* _tmp9_ = NULL;
-			GError* _tmp10_ = NULL;
-			errn = errno;
-			g_free (buf);
+			gchar* _tmp42_;
+			gint _tmp43_;
+			const gchar* _tmp44_ = NULL;
+			GError* _tmp45_;
+			_tmp41_ = errno;
+			errn = _tmp41_;
+			_tmp42_ = buf;
+			g_free (_tmp42_);
 			buf = NULL;
-			_tmp9_ = g_strerror (errn);
-			_tmp10_ = g_error_new (GSD_FD_ERROR, GSD_FD_ERROR_READ_ERROR, "read(): %s", _tmp9_);
-			_inner_error_ = _tmp10_;
+			_tmp43_ = errn;
+			_tmp44_ = g_strerror (_tmp43_);
+			_tmp45_ = g_error_new (GSD_FD_ERROR, GSD_FD_ERROR_READ_ERROR, "read(): %s", _tmp44_);
+			_inner_error_ = _tmp45_;
 			if (_inner_error_->domain == GSD_FD_ERROR) {
 				g_propagate_error (error, _inner_error_);
 				return NULL;
@@ -217,12 +303,18 @@ gchar* gsd_fd_read_string (gint fd, gssize n_bytes, GError** error) {
 				return NULL;
 			}
 		} else {
-			buf[n_read] = (gchar) 0;
+			gchar* _tmp46_;
+			gsize _tmp47_;
+			gchar _tmp48_;
+			_tmp46_ = buf;
+			_tmp47_ = n_read;
+			_tmp46_[_tmp47_] = (gchar) 0;
+			_tmp48_ = _tmp46_[_tmp47_];
 		}
 	}
-	_tmp11_ = buf;
+	_tmp49_ = buf;
 	buf = NULL;
-	result = (gchar*) _tmp11_;
+	result = (gchar*) _tmp49_;
 	return result;
 }
 
@@ -251,93 +343,139 @@ static gpointer _g_error_copy0 (gpointer self) {
 guint gsd_fd_count_ready_bytes (gint fd, gint byte, gsize bufsize, GError** error) {
 	guint result = 0U;
 	guint n_occur;
-	gboolean _tmp0_;
-	gboolean _tmp1_;
 	GError * _inner_error_ = NULL;
 	n_occur = (guint) 0;
-	_tmp0_ = gsd_fd_read_ready (fd, &_inner_error_);
-	_tmp1_ = _tmp0_;
-	if (_inner_error_ != NULL) {
-		if (_inner_error_->domain == GSD_FD_ERROR) {
-			goto __catch11_gsd_fd_error;
+	{
+		gint _tmp0_;
+		gboolean _tmp1_ = FALSE;
+		gboolean _tmp2_;
+		_tmp0_ = fd;
+		_tmp1_ = gsd_fd_read_ready (_tmp0_, &_inner_error_);
+		_tmp2_ = _tmp1_;
+		if (_inner_error_ != NULL) {
+			if (_inner_error_->domain == GSD_FD_ERROR) {
+				goto __catch11_gsd_fd_error;
+			}
+			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);
+			g_clear_error (&_inner_error_);
+			return 0U;
 		}
-		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);
-		g_clear_error (&_inner_error_);
-		return 0U;
-	}
-	if (_tmp1_) {
-		gchar* _tmp2_ = NULL;
-		gchar* buf;
-		gint buf_length1;
-		gint _buf_size_;
-		gssize read_rv;
-		_tmp2_ = g_new0 (gchar, bufsize);
-		buf = _tmp2_;
-		buf_length1 = bufsize;
-		_buf_size_ = bufsize;
-		read_rv = (gssize) 0;
-		{
-			gboolean _tmp3_;
-			_tmp3_ = TRUE;
-			while (TRUE) {
-				gssize _tmp4_;
-				if (!_tmp3_) {
-					if (!(read_rv == bufsize)) {
-						break;
-					}
-				}
-				_tmp3_ = FALSE;
-				_tmp4_ = read (fd, buf, bufsize);
-				read_rv = _tmp4_;
-				if (read_rv < 0) {
-					const gchar* _tmp5_ = NULL;
-					GError* _tmp6_ = NULL;
-					_tmp5_ = g_strerror (errno);
-					_tmp6_ = g_error_new (GSD_FD_ERROR, GSD_FD_ERROR_READ_ERROR, "read(): %s", _tmp5_);
-					_inner_error_ = _tmp6_;
-					buf = (g_free (buf), NULL);
-					if (_inner_error_->domain == GSD_FD_ERROR) {
-						goto __catch11_gsd_fd_error;
+		if (_tmp2_) {
+			gsize _tmp3_;
+			gchar* _tmp4_ = NULL;
+			gchar* buf;
+			gint buf_length1;
+			gint _buf_size_;
+			gssize read_rv;
+			_tmp3_ = bufsize;
+			_tmp4_ = g_new0 (gchar, _tmp3_);
+			buf = _tmp4_;
+			buf_length1 = _tmp3_;
+			_buf_size_ = buf_length1;
+			read_rv = (gssize) 0;
+			{
+				gboolean _tmp5_;
+				_tmp5_ = TRUE;
+				while (TRUE) {
+					gboolean _tmp6_;
+					gint _tmp9_;
+					gchar* _tmp10_;
+					gint _tmp10__length1;
+					gsize _tmp11_;
+					gssize _tmp12_ = 0L;
+					gssize _tmp13_;
+					_tmp6_ = _tmp5_;
+					if (!_tmp6_) {
+						gssize _tmp7_;
+						gsize _tmp8_;
+						_tmp7_ = read_rv;
+						_tmp8_ = bufsize;
+						if (!(((gsize) _tmp7_) == _tmp8_)) {
+							break;
+						}
 					}
-					buf = (g_free (buf), NULL);
-					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);
-					g_clear_error (&_inner_error_);
-					return 0U;
-				} else {
-					{
-						guint i;
-						i = (guint) 0;
+					_tmp5_ = FALSE;
+					_tmp9_ = fd;
+					_tmp10_ = buf;
+					_tmp10__length1 = buf_length1;
+					_tmp11_ = bufsize;
+					_tmp12_ = read (_tmp9_, _tmp10_, _tmp11_);
+					read_rv = _tmp12_;
+					_tmp13_ = read_rv;
+					if (_tmp13_ < ((gssize) 0)) {
+						gint _tmp14_;
+						const gchar* _tmp15_ = NULL;
+						GError* _tmp16_;
+						_tmp14_ = errno;
+						_tmp15_ = g_strerror (_tmp14_);
+						_tmp16_ = g_error_new (GSD_FD_ERROR, GSD_FD_ERROR_READ_ERROR, "read(): %s", _tmp15_);
+						_inner_error_ = _tmp16_;
+						buf = (g_free (buf), NULL);
+						if (_inner_error_->domain == GSD_FD_ERROR) {
+							goto __catch11_gsd_fd_error;
+						}
+						buf = (g_free (buf), NULL);
+						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);
+						g_clear_error (&_inner_error_);
+						return 0U;
+					} else {
 						{
-							gboolean _tmp7_;
-							_tmp7_ = TRUE;
-							while (TRUE) {
-								if (!_tmp7_) {
-									i++;
-								}
-								_tmp7_ = FALSE;
-								if (!(i < read_rv)) {
-									break;
-								}
-								if (buf[i] == byte) {
-									n_occur++;
+							guint i;
+							i = (guint) 0;
+							{
+								gboolean _tmp17_;
+								_tmp17_ = TRUE;
+								while (TRUE) {
+									gboolean _tmp18_;
+									guint _tmp20_;
+									gssize _tmp21_;
+									gchar* _tmp22_;
+									gint _tmp22__length1;
+									guint _tmp23_;
+									gchar _tmp24_;
+									gint _tmp25_;
+									_tmp18_ = _tmp17_;
+									if (!_tmp18_) {
+										guint _tmp19_;
+										_tmp19_ = i;
+										i = _tmp19_ + 1;
+									}
+									_tmp17_ = FALSE;
+									_tmp20_ = i;
+									_tmp21_ = read_rv;
+									if (!(((gssize) _tmp20_) < _tmp21_)) {
+										break;
+									}
+									_tmp22_ = buf;
+									_tmp22__length1 = buf_length1;
+									_tmp23_ = i;
+									_tmp24_ = _tmp22_[_tmp23_];
+									_tmp25_ = byte;
+									if (((gint) _tmp24_) == _tmp25_) {
+										guint _tmp26_;
+										_tmp26_ = n_occur;
+										n_occur = _tmp26_ + 1;
+									}
 								}
 							}
 						}
 					}
 				}
 			}
+			buf = (g_free (buf), NULL);
 		}
-		buf = (g_free (buf), NULL);
 	}
 	goto __finally11;
 	__catch11_gsd_fd_error:
 	{
-		GError * e;
-		GError* _tmp8_;
+		GError* e = NULL;
+		GError* _tmp27_;
+		GError* _tmp28_;
 		e = _inner_error_;
 		_inner_error_ = NULL;
-		_tmp8_ = _g_error_copy0 (e);
-		_inner_error_ = _tmp8_;
+		_tmp27_ = e;
+		_tmp28_ = _g_error_copy0 (_tmp27_);
+		_inner_error_ = _tmp28_;
 		_g_error_free0 (e);
 		goto __finally11;
 	}
diff --git a/gsecuredelete/gsd-zeroable-operation.c b/gsecuredelete/gsd-zeroable-operation.c
index cd8d150..c2ae3d8 100644
--- a/gsecuredelete/gsd-zeroable-operation.c
+++ b/gsecuredelete/gsd-zeroable-operation.c
@@ -1,4 +1,4 @@
-/* gsd-zeroable-operation.c generated by valac 0.12.0, the Vala compiler
+/* gsd-zeroable-operation.c generated by valac 0.16.0.1-eb36, the Vala compiler
  * generated from gsd-zeroable-operation.vala, do not modify */
 
 /* 
@@ -137,8 +137,10 @@ static void _vala_gsd_zeroable_operation_set_property (GObject * object, guint p
 
 static const gchar* gsd_zeroable_operation_get_argument_for_zeroise (GsdZeroableOperation* self, gboolean zeroise) {
 	const gchar* result = NULL;
+	gboolean _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	if (zeroise) {
+	_tmp0_ = zeroise;
+	if (_tmp0_) {
 		result = "-z";
 		return result;
 	}
@@ -148,15 +150,21 @@ static const gchar* gsd_zeroable_operation_get_argument_for_zeroise (GsdZeroable
 
 
 static void gsd_zeroable_operation_add_zeroise_argument (GsdZeroableOperation* self, GList** args) {
-	const gchar* _tmp0_ = NULL;
+	gboolean _tmp0_;
+	const gchar* _tmp1_ = NULL;
 	const gchar* arg;
+	const gchar* _tmp2_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = gsd_zeroable_operation_get_argument_for_zeroise (self, self->priv->_zeroise);
-	arg = _tmp0_;
-	if (arg != NULL) {
-		gchar* _tmp1_;
-		_tmp1_ = g_strdup (arg);
-		*args = g_list_append (*args, _tmp1_);
+	_tmp0_ = self->priv->_zeroise;
+	_tmp1_ = gsd_zeroable_operation_get_argument_for_zeroise (self, _tmp0_);
+	arg = _tmp1_;
+	_tmp2_ = arg;
+	if (_tmp2_ != NULL) {
+		const gchar* _tmp3_;
+		gchar* _tmp4_;
+		_tmp3_ = arg;
+		_tmp4_ = g_strdup (_tmp3_);
+		*args = g_list_append (*args, _tmp4_);
 	}
 }
 
@@ -206,15 +214,19 @@ GsdZeroableOperation* gsd_zeroable_operation_construct (GType object_type) {
 
 gboolean gsd_zeroable_operation_get_zeroise (GsdZeroableOperation* self) {
 	gboolean result;
+	gboolean _tmp0_;
 	g_return_val_if_fail (self != NULL, FALSE);
-	result = self->priv->_zeroise;
+	_tmp0_ = self->priv->_zeroise;
+	result = _tmp0_;
 	return result;
 }
 
 
 void gsd_zeroable_operation_set_zeroise (GsdZeroableOperation* self, gboolean value) {
+	gboolean _tmp0_;
 	g_return_if_fail (self != NULL);
-	self->priv->_zeroise = value;
+	_tmp0_ = value;
+	self->priv->_zeroise = _tmp0_;
 	g_object_notify ((GObject *) self, "zeroise");
 }
 
diff --git a/gsecuredelete/gsecuredelete.h b/gsecuredelete/gsecuredelete.h
index a79fe72..62170ff 100644
--- a/gsecuredelete/gsecuredelete.h
+++ b/gsecuredelete/gsecuredelete.h
@@ -1,4 +1,4 @@
-/* gsecuredelete.h generated by valac 0.12.0, the Vala compiler, do not modify */
+/* gsecuredelete.h generated by valac 0.16.0.1-eb36, the Vala compiler, do not modify */
 
 
 #ifndef __GSECUREDELETE_H__
diff --git a/gsecuredelete/gsecuredelete.vapi b/gsecuredelete/gsecuredelete.vapi
index 0befe95..368b38e 100644
--- a/gsecuredelete/gsecuredelete.vapi
+++ b/gsecuredelete/gsecuredelete.vapi
@@ -1,8 +1,6 @@
-/* gsecuredelete.vapi generated by valac 0.12.0, do not modify. */
+/* gsecuredelete.vapi generated by valac 0.16.0.1-eb36, do not modify. */
 
-[CCode (cprefix = "Gsd", lower_case_cprefix = "gsd_")]
 namespace Gsd {
-	[CCode (cprefix = "GsdFD", lower_case_cprefix = "gsd_fd_")]
 	namespace FD {
 	}
 	[CCode (cheader_filename = "gsecuredelete.h")]
@@ -22,7 +20,7 @@ namespace Gsd {
 		protected virtual uint get_progress ();
 		protected virtual string? get_subprocess_error_msg ();
 		public bool run (string? working_directory = null, GLib.SpawnFlags spawn_flags = 0) throws GLib.SpawnError, Gsd.AsyncOperationError;
-		public bool run_sync (string? working_directory = null, GLib.SpawnFlags spawn_flags = 0, out string standard_output) throws GLib.SpawnError, Gsd.AsyncOperationError;
+		public bool run_sync (string? working_directory = null, GLib.SpawnFlags spawn_flags = 0, out string standard_output = null) throws GLib.SpawnError, Gsd.AsyncOperationError;
 		public bool busy { get; }
 		public string path { get; set; }
 		public signal void finished (bool success, string? message);
@@ -41,7 +39,6 @@ namespace Gsd {
 	}
 	[CCode (cheader_filename = "gsecuredelete.h")]
 	public class FillOperation : Gsd.ZeroableOperation {
-		[CCode (cprefix = "GSD_FILL_OPERATION_WIPE_MODE_", cheader_filename = "gsecuredelete.h")]
 		public enum WipeMode {
 			FULL,
 			INODES,
@@ -61,7 +58,6 @@ namespace Gsd {
 	}
 	[CCode (cheader_filename = "gsecuredelete.h")]
 	public abstract class SecureDeleteOperation : Gsd.AsyncOperation {
-		[CCode (cprefix = "GSD_SECURE_DELETE_OPERATION_MODE_", cheader_filename = "gsecuredelete.h")]
 		public enum Mode {
 			NORMAL,
 			INSECURE,
@@ -92,9 +88,9 @@ namespace Gsd {
 		protected override GLib.List<string> build_args () throws Gsd.AsyncOperationError;
 		public bool zeroise { get; set; }
 	}
-	[CCode (cprefix = "GSD_ASYNC_OPERATION_ERROR_", cheader_filename = "gsecuredelete.h")]
+	[CCode (cheader_filename = "gsecuredelete.h")]
 	public errordomain AsyncOperationError {
 		CHILD_FAILED,
-		SUBCLASS_ERROR,
+		SUBCLASS_ERROR
 	}
 }
diff --git a/gsecuredelete/libgsecuredelete_la_vala.stamp b/gsecuredelete/libgsecuredelete_la_vala.stamp
index e69de29..859afb1 100644
--- a/gsecuredelete/libgsecuredelete_la_vala.stamp
+++ b/gsecuredelete/libgsecuredelete_la_vala.stamp
@@ -0,0 +1 @@
+stamp
diff --git a/gsecuredelete/main.c b/gsecuredelete/main.c
index 476b8b5..2c1c1d3 100644
--- a/gsecuredelete/main.c
+++ b/gsecuredelete/main.c
@@ -1,4 +1,4 @@
-/* main.c generated by valac 0.12.0, the Vala compiler
+/* main.c generated by valac 0.16.0.1-eb36, the Vala compiler
  * generated from main.vala, do not modify */
 
 /* 
@@ -156,7 +156,7 @@ static GsdSecureDeleteOperation* _test_prepare_swapop_test_operation_provider (g
 
 Test* test_construct (GType object_type) {
 	Test* self = NULL;
-	GMainLoop* _tmp0_ = NULL;
+	GMainLoop* _tmp0_;
 	self = (Test*) g_type_create_instance (object_type);
 	_tmp0_ = g_main_loop_new (NULL, FALSE);
 	_g_main_loop_unref0 (self->priv->main_loop);
@@ -171,59 +171,98 @@ Test* test_new (void) {
 
 
 static void test_finished_handler (Test* self, gboolean success, const gchar* message) {
+	gboolean _tmp0_;
+	GMainLoop* _tmp4_;
 	g_return_if_fail (self != NULL);
-	if (success) {
-		fprintf (stdout, "Success!\n");
+	_tmp0_ = success;
+	if (_tmp0_) {
+		FILE* _tmp1_;
+		_tmp1_ = stdout;
+		fprintf (_tmp1_, "Success!\n");
 	} else {
-		fprintf (stderr, "Failure: %s\n", message);
+		FILE* _tmp2_;
+		const gchar* _tmp3_;
+		_tmp2_ = stderr;
+		_tmp3_ = message;
+		fprintf (_tmp2_, "Failure: %s\n", _tmp3_);
 	}
-	g_main_loop_quit (self->priv->main_loop);
+	_tmp4_ = self->priv->main_loop;
+	g_main_loop_quit (_tmp4_);
 }
 
 
 static void test_progress_handler (gdouble progress) {
-	fprintf (stdout, "%.0f%%\n", progress * 100);
+	FILE* _tmp0_;
+	gdouble _tmp1_;
+	_tmp0_ = stdout;
+	_tmp1_ = progress;
+	fprintf (_tmp0_, "%.0f%%\n", _tmp1_ * 100);
 }
 
 
 static GsdSecureDeleteOperation* test_prepare_delop (gchar** args, int args_length1) {
 	GsdSecureDeleteOperation* result = NULL;
-	GsdDeleteOperation* _tmp0_ = NULL;
+	GsdDeleteOperation* _tmp0_;
 	GsdDeleteOperation* op;
-	GList* _tmp2_ = NULL;
+	gchar** _tmp1_;
+	gint _tmp1__length1;
+	GsdDeleteOperation* _tmp8_;
+	GList* _tmp9_;
+	GList* _tmp10_;
 	_tmp0_ = gsd_delete_operation_new ();
 	op = _tmp0_;
+	_tmp1_ = args;
+	_tmp1__length1 = args_length1;
 	{
-		gchar** arg_collection;
-		int arg_collection_length1;
-		int arg_it;
-		arg_collection = args;
-		arg_collection_length1 = args_length1;
-		for (arg_it = 0; arg_it < args_length1; arg_it = arg_it + 1) {
-			gchar* _tmp1_;
-			gchar* arg;
-			_tmp1_ = g_strdup (arg_collection[arg_it]);
-			arg = _tmp1_;
+		gchar** arg_collection = NULL;
+		gint arg_collection_length1 = 0;
+		gint _arg_collection_size_ = 0;
+		gint arg_it = 0;
+		arg_collection = _tmp1_;
+		arg_collection_length1 = _tmp1__length1;
+		for (arg_it = 0; arg_it < _tmp1__length1; arg_it = arg_it + 1) {
+			gchar* _tmp2_;
+			gchar* arg = NULL;
+			_tmp2_ = g_strdup (arg_collection[arg_it]);
+			arg = _tmp2_;
 			{
-				if (g_strcmp0 (arg, args[0]) != 0) {
-					gsd_delete_operation_add_path (op, arg);
+				const gchar* _tmp3_;
+				gchar** _tmp4_;
+				gint _tmp4__length1;
+				const gchar* _tmp5_;
+				_tmp3_ = arg;
+				_tmp4_ = args;
+				_tmp4__length1 = args_length1;
+				_tmp5_ = _tmp4_[0];
+				if (g_strcmp0 (_tmp3_, _tmp5_) != 0) {
+					GsdDeleteOperation* _tmp6_;
+					const gchar* _tmp7_;
+					_tmp6_ = op;
+					_tmp7_ = arg;
+					gsd_delete_operation_add_path (_tmp6_, _tmp7_);
 				}
 				_g_free0 (arg);
 			}
 		}
 	}
-	_tmp2_ = gsd_delete_operation_get_paths (op);
+	_tmp8_ = op;
+	_tmp9_ = gsd_delete_operation_get_paths (_tmp8_);
+	_tmp10_ = _tmp9_;
 	{
-		GList* i_collection;
-		GList* i_it;
-		i_collection = _tmp2_;
+		GList* i_collection = NULL;
+		GList* i_it = NULL;
+		i_collection = _tmp10_;
 		for (i_it = i_collection; i_it != NULL; i_it = i_it->next) {
-			gchar* _tmp3_;
-			gchar* i;
-			_tmp3_ = g_strdup ((const gchar*) i_it->data);
-			i = _tmp3_;
+			gchar* _tmp11_;
+			gchar* i = NULL;
+			_tmp11_ = g_strdup ((const gchar*) i_it->data);
+			i = _tmp11_;
 			{
-				fprintf (stdout, "Will delete: %s\n", i);
+				FILE* _tmp12_;
+				const gchar* _tmp13_;
+				_tmp12_ = stdout;
+				_tmp13_ = i;
+				fprintf (_tmp12_, "Will delete: %s\n", _tmp13_);
 				_g_free0 (i);
 			}
 		}
@@ -235,16 +274,28 @@ static GsdSecureDeleteOperation* test_prepare_delop (gchar** args, int args_leng
 
 static GsdSecureDeleteOperation* test_prepare_fillop (gchar** args, int args_length1) {
 	GsdSecureDeleteOperation* result = NULL;
-	GsdFillOperation* _tmp0_ = NULL;
+	GsdFillOperation* _tmp0_;
 	GsdFillOperation* op;
+	gchar** _tmp1_;
+	gint _tmp1__length1;
+	GsdFillOperation* _tmp2_;
+	gchar** _tmp3_;
+	gint _tmp3__length1;
+	const gchar* _tmp4_;
 	_tmp0_ = gsd_fill_operation_new ();
 	op = _tmp0_;
-	if (args_length1 != 2) {
+	_tmp1_ = args;
+	_tmp1__length1 = args_length1;
+	if (_tmp1__length1 != 2) {
 		result = NULL;
 		_g_object_unref0 (op);
 		return result;
 	}
-	gsd_fill_operation_set_directory (op, args[1]);
+	_tmp2_ = op;
+	_tmp3_ = args;
+	_tmp3__length1 = args_length1;
+	_tmp4_ = _tmp3_[1];
+	gsd_fill_operation_set_directory (_tmp2_, _tmp4_);
 	result = (GsdSecureDeleteOperation*) op;
 	return result;
 }
@@ -252,7 +303,7 @@ static GsdSecureDeleteOperation* test_prepare_fillop (gchar** args, int args_len
 
 static GsdSecureDeleteOperation* test_prepare_memop (gchar** args, int args_length1) {
 	GsdSecureDeleteOperation* result = NULL;
-	GsdMemOperation* _tmp0_ = NULL;
+	GsdMemOperation* _tmp0_;
 	GsdMemOperation* op;
 	_tmp0_ = gsd_mem_operation_new ();
 	op = _tmp0_;
@@ -264,7 +315,7 @@ static GsdSecureDeleteOperation* test_prepare_memop (gchar** args, int args_leng
 
 static GsdSecureDeleteOperation* test_prepare_swapop (gchar** args, int args_length1) {
 	GsdSecureDeleteOperation* result = NULL;
-	GsdSwapOperation* _tmp0_ = NULL;
+	GsdSwapOperation* _tmp0_;
 	GsdSwapOperation* op;
 	_tmp0_ = gsd_swap_operation_new ();
 	op = _tmp0_;
@@ -287,31 +338,61 @@ static void _test_progress_handler_gsd_async_operation_progress (GsdAsyncOperati
 
 gboolean test_run (Test* self, gchar** args, int args_length1, TestOperation operation) {
 	gboolean result = FALSE;
-	GsdSecureDeleteOperation* _tmp0_ = NULL;
+	TestOperationProvider* _tmp0_;
+	gint _tmp0__length1;
+	TestOperation _tmp1_;
+	TestOperationProvider _tmp2_;
+	gchar** _tmp3_;
+	gint _tmp3__length1;
+	GsdSecureDeleteOperation* _tmp4_ = NULL;
 	GsdSecureDeleteOperation* op;
+	GsdSecureDeleteOperation* _tmp5_;
+	GsdSecureDeleteOperation* _tmp6_;
+	GsdSecureDeleteOperation* _tmp7_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (self != NULL, FALSE);
-	_tmp0_ = self->priv->operations[operation] (args, args_length1);
-	op = _tmp0_;
-	if (op == NULL) {
+	_tmp0_ = self->priv->operations;
+	_tmp0__length1 = self->priv->operations_length1;
+	_tmp1_ = operation;
+	_tmp2_ = _tmp0_[_tmp1_];
+	_tmp3_ = args;
+	_tmp3__length1 = args_length1;
+	_tmp4_ = _tmp2_ (_tmp3_, _tmp3__length1);
+	op = _tmp4_;
+	_tmp5_ = op;
+	if (_tmp5_ == NULL) {
 		result = FALSE;
 		_g_object_unref0 (op);
 		return result;
 	}
-	g_signal_connect ((GsdAsyncOperation*) op, "finished", (GCallback) _test_finished_handler_gsd_async_operation_finished, self);
-	g_signal_connect ((GsdAsyncOperation*) op, "progress", (GCallback) _test_progress_handler_gsd_async_operation_progress, NULL);
-	gsd_secure_delete_operation_run (op, &_inner_error_);
-	if (_inner_error_ != NULL) {
-		goto __catch0_g_error;
+	_tmp6_ = op;
+	g_signal_connect ((GsdAsyncOperation*) _tmp6_, "finished", (GCallback) _test_finished_handler_gsd_async_operation_finished, self);
+	_tmp7_ = op;
+	g_signal_connect ((GsdAsyncOperation*) _tmp7_, "progress", (GCallback) _test_progress_handler_gsd_async_operation_progress, NULL);
+	{
+		GsdSecureDeleteOperation* _tmp8_;
+		GMainLoop* _tmp9_;
+		_tmp8_ = op;
+		gsd_secure_delete_operation_run (_tmp8_, &_inner_error_);
+		if (_inner_error_ != NULL) {
+			goto __catch0_g_error;
+		}
+		_tmp9_ = self->priv->main_loop;
+		g_main_loop_run (_tmp9_);
 	}
-	g_main_loop_run (self->priv->main_loop);
 	goto __finally0;
 	__catch0_g_error:
 	{
-		GError * e;
+		GError* e = NULL;
+		FILE* _tmp10_;
+		GError* _tmp11_;
+		const gchar* _tmp12_;
 		e = _inner_error_;
 		_inner_error_ = NULL;
-		fprintf (stderr, "failed to start deletion: %s\n", e->message);
+		_tmp10_ = stderr;
+		_tmp11_ = e;
+		_tmp12_ = _tmp11_->message;
+		fprintf (_tmp10_, "failed to start deletion: %s\n", _tmp12_);
 		_g_error_free0 (e);
 	}
 	__finally0:
@@ -461,11 +542,15 @@ static void test_instance_init (Test * self) {
 
 static void test_finalize (Test* obj) {
 	Test * self;
-	gboolean _tmp0_;
+	GMainLoop* _tmp0_;
+	gboolean _tmp1_ = FALSE;
 	self = TEST (obj);
-	_tmp0_ = g_main_loop_is_running (self->priv->main_loop);
-	if (_tmp0_) {
-		g_main_loop_quit (self->priv->main_loop);
+	_tmp0_ = self->priv->main_loop;
+	_tmp1_ = g_main_loop_is_running (_tmp0_);
+	if (_tmp1_) {
+		GMainLoop* _tmp2_;
+		_tmp2_ = self->priv->main_loop;
+		g_main_loop_quit (_tmp2_);
 	}
 	_g_main_loop_unref0 (self->priv->main_loop);
 	self->priv->operations = (g_free (self->priv->operations), NULL);
@@ -506,19 +591,27 @@ void test_unref (gpointer instance) {
 
 gint _vala_main (gchar** args, int args_length1) {
 	gint result = 0;
-	Test* _tmp0_ = NULL;
+	Test* _tmp0_;
 	Test* test;
 	gint _tmp1_ = 0;
-	gboolean _tmp2_;
+	Test* _tmp2_;
+	gchar** _tmp3_;
+	gint _tmp3__length1;
+	gboolean _tmp4_ = FALSE;
+	gint _tmp5_;
 	_tmp0_ = test_new ();
 	test = _tmp0_;
-	_tmp2_ = test_run (test, args, args_length1, TEST_OPERATION_DELETE);
-	if (_tmp2_) {
+	_tmp2_ = test;
+	_tmp3_ = args;
+	_tmp3__length1 = args_length1;
+	_tmp4_ = test_run (_tmp2_, _tmp3_, _tmp3__length1, TEST_OPERATION_DELETE);
+	if (_tmp4_) {
 		_tmp1_ = 0;
 	} else {
 		_tmp1_ = 1;
 	}
-	result = _tmp1_;
+	_tmp5_ = _tmp1_;
+	result = _tmp5_;
 	_test_unref0 (test);
 	return result;
 }
diff --git a/gsecuredelete/test_vala.stamp b/gsecuredelete/test_vala.stamp
index e69de29..859afb1 100644
--- a/gsecuredelete/test_vala.stamp
+++ b/gsecuredelete/test_vala.stamp
@@ -0,0 +1 @@
+stamp
diff --git a/test/TESTING b/test/TESTING
deleted file mode 100644
index 51e3dfe..0000000
--- a/test/TESTING
+++ /dev/null
@@ -1,100 +0,0 @@
-Testing secure-delete limitation workarounds using libvirt
-
-
-Preparation
-===========
-
-Setup a Debian wheezy virtual machine.
-
-Install libgsecuredelete and nautilus-wipe.
-
-Create a file 'testfile' containing some MB of "test " pattern, e.g.
-using:
-
-    while true; do echo "test " >> testfile ; done
-
-Testing wiping above max file size
-==================================
-
-VFAT allows only 4G files, thus making regular sfill failing to wipe
-VFAT FS > 4G.  Thus testing the workaround.
-
-Create a virtio device of 5G.
-
-Create a VFAT FS on it.
-
-    # mkfs.vfat /dev/vdb
-
-Fill it by testing patterns with test/fill_test.sh.
-
-    :test# ./fill_test.sh /dev/vdb
-
-Have a look at the result to check with test/hexdump_light.sh.
-
-    :test# ./hexdump_light.sh
-
-Start Nautilus.  Open the drive.  Right-click and select "Wipe available
-diskspace".  Keep default options and confirm.  When finished, unmount
-the volume with nautilus.
-
-Have a look at the result:
-
-    :test# ./hexdump_light.sh /dev/vdb
-
-You should see the INodes at the beginning, then random data.
-
-Dump result and count lines matching pattern:
-
-    :test# ./hexdump_full.sh /dev/vdb | grep "test " | wc -l
-
-This gets the lines matching the pattern.  Each line contains 16 bytes.
-So unwiped bytes is roughly 16 times that number.
-
-You should get 0 matches.
-
-Try again but select "One pass" and "Last pass with zeros".
-
-Dump result:
-
-    :test# ./hexdump_full.sh /dev/vdb
-
-You should have only INodes, then zeros, thus a small output.
-
-Testing reserved blocs
-======================
-
-ext reserves blocs for the superuser.  libgsecuredelete tries to become
-root to wipe them.
-
-Create a virtio device of 1G.
-
-Create a ext3 FS on it.
-
-    # mkfs.ext3 /dev/vdb
-
-Fill it by testing patterns with test/fill_test.sh.
-
-    :test# ./fill_test.sh /dev/vdb
-
-Have a look at the result to check with test/hexdump_light.sh.
-
-    :test# ./hexdump_light.sh
-
-Start Nautilus.  Open the drive.  Right-click and select "Wipe available
-diskspace".  Keep default options and confirm.  Don't give admin
-password.  When finished, unmount the volume with Nautilus.
-
-Have a look at the result:
-
-    :test# ./hexdump_light.sh /dev/vdb
-
-Dump result and count lines matching pattern:
-
-    :test# ./hexdump_full.sh /dev/vdb | grep "test " | wc -l
-
-This gets the lines matching the pattern.  Each line contains 16 bytes.
-So unwiped bytes is roughly 16 times that number.
-
-You should get 5% of 1G (~ 53687091)
-
-Try again, but give a root password.  You should get 0 matches.
diff --git a/test/fill_test.sh b/test/fill_test.sh
deleted file mode 100755
index aaa7118..0000000
--- a/test/fill_test.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-if [ $UID -ne 0 ] ; then
-	echo "You must be root"
-	exit 1
-fi
-
-echo "Mounting $1"
-mount "$1" /mnt
-echo "Filling 1st file"
-while true ; do cat testfile >> /mnt/testfile1 || break ; done
-echo "Filling 2nd file"
-while true ; do cat testfile >> /mnt/testfile2 || break ; done
-echo "Free space:"
-df /mnt
-echo "Removing files"
-rm /mnt/testfile1
-rm /mnt/testfile2
-echo "Unmounting"
-umount /mnt
diff --git a/test/hexdump_full.sh b/test/hexdump_full.sh
deleted file mode 100755
index d4686b1..0000000
--- a/test/hexdump_full.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-
-if [ $UID -ne 0 ] ; then
-	echo "You must be root"
-	exit 1
-fi
-
-set -x
-hexdump -n $(( 1024**3)) -C -s 0x00000000 "$1"
-hexdump -n $(( 1024**3)) -C -s 0x40000000 "$1"
-hexdump -n $(( 1024**3)) -C -s 0x80000000 "$1"
-hexdump -n $(( 1024**3)) -C -s 0xc0000000 "$1"
-hexdump -n $(( 1024**3)) -C -s 0x100000000 "$1"
diff --git a/test/hexdump_light.sh b/test/hexdump_light.sh
deleted file mode 100755
index 801e1de..0000000
--- a/test/hexdump_light.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-if [ $UID -ne 0 ] ; then
-	echo "You must be root"
-	exit 1
-fi
-
-set -x
-hexdump -n 1024 -C -s 0xa00000 "$1"
-hexdump -n 128 -C -s 0x00a00fe0 "$1"
-hexdump -n 128 -C -s $(( 1*1024**3 )) "$1"
-hexdump -n 128 -C -s 0x40000000 "$1"
-hexdump -n 128 -C -s 0x80000000 "$1"
-hexdump -n 128 -C -s 0xc0000000 "$1"
-hexdump -n 128 -C -s 0x100000000 "$1"
-hexdump -n 128 -C -s 0x13fffffa0 "$1"

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/libgsecuredelete.git



More information about the Pkg-privacy-commits mailing list