[mednaffe] 27/99: Move Gui options to menu Edit->Preferences.Now you can choose which systems to show, fixing issue 1

Stephen Kitt skitt at moszumanska.debian.org
Tue Aug 2 21:00:02 UTC 2016


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

skitt pushed a commit to branch master
in repository mednaffe.

commit 272e7e7fb5ac636af3a4d185c96204aa64b97d65
Author: amatcoder at gmail.com <amatcoder at gmail.com@44025b82-9115-564b-7d03-7f3fc60b4744>
Date:   Sat Dec 7 07:18:21 2013 +0000

    Move Gui options to menu Edit->Preferences.Now you can choose which systems to show, fixing issue 1
---
 Makefile.in          | 387 +++++++++++++++-----------
 aclocal.m4           | 745 ++++++++++++++++++++++++++++++++++-----------------
 configure            | 579 +++++++++++++++++++++++++++------------
 src/Makefile.am      |   2 +-
 src/Makefile.in      | 233 +++++++++++-----
 src/command.c        |  63 +++--
 src/common.h         |   1 +
 src/gui.c            |  73 +++--
 src/mednaffe.c       | 372 ++++++-------------------
 src/mednaffe_glade.h | 290 +++++++-------------
 src/prefs.c          | 380 ++++++++++++++++++++++++++
 src/prefs.h          |  29 ++
 src/settings_glade.h | 399 +++++++++++++++++++++++++++
 src/toggles.c        |  14 +-
 14 files changed, 2373 insertions(+), 1194 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 58b361c..1671498 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.14 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.
+# Copyright (C) 1994-2013 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 +14,51 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -32,10 +76,10 @@ NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
 subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
-	$(top_srcdir)/configure AUTHORS COPYING ChangeLog NEWS depcomp \
-	install-sh missing
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+	$(top_srcdir)/configure $(am__configure_deps) \
+	$(srcdir)/config.h.in AUTHORS COPYING ChangeLog NEWS README \
+	compile depcomp install-sh missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -46,30 +90,73 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_ at AM_V@)
+am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+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_GEN_1 = 
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 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
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-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 \
+	tags-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
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-	distdir dist dist-all distcheck
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+	$(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
 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__post_remove_distdir = $(am__remove_distdir)
 am__relativize = \
   dir0=`pwd`; \
   sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -97,10 +184,14 @@ am__relativize = \
   reldir="$$dir2"
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
 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@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -193,7 +284,7 @@ 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 \
@@ -229,10 +320,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
+	@test -f $@ || rm -f stamp-h1
+	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -246,22 +335,25 @@ distclean-hdr:
 	-rm -f config.h stamp-h1
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -276,57 +368,12 @@ $(RECURSIVE_TARGETS):
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-ctags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-	done
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -342,12 +389,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
-	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	$(am__define_uniq_tagged_files); \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -359,15 +401,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 	      $$unique; \
 	  fi; \
 	fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -376,9 +414,31 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+	test ! -s cscope.files \
+	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+	-rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 
 distdir: $(DISTFILES)
 	$(am__remove_distdir)
@@ -414,13 +474,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; \
@@ -449,36 +506,42 @@ distdir: $(DISTFILES)
 	|| chmod -R a+r "$(distdir)"
 dist-gzip: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-bzip2: distdir
-	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-	$(am__remove_distdir)
+	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+	$(am__post_remove_distdir)
 
-dist-lzma: distdir
-	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-	$(am__remove_distdir)
+dist-lzip: distdir
+	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+	$(am__post_remove_distdir)
 
 dist-xz: distdir
-	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-	$(am__remove_distdir)
+	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-shar: distdir
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-zip: distdir
 	-rm -f $(distdir).zip
 	zip -rq $(distdir).zip $(distdir)
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
-dist dist-all: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
+dist dist-all:
+	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+	$(am__post_remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
@@ -489,8 +552,8 @@ distcheck: dist
 	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
 	*.tar.bz2*) \
 	  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*) \
@@ -500,9 +563,9 @@ distcheck: dist
 	*.zip*) \
 	  unzip $(distdir).zip ;;\
 	esac
-	chmod -R a-w $(distdir); chmod a+w $(distdir)
-	mkdir $(distdir)/_build
-	mkdir $(distdir)/_inst
+	chmod -R a-w $(distdir)
+	chmod u+w $(distdir)
+	mkdir $(distdir)/_build $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
@@ -510,6 +573,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 \
@@ -533,13 +597,21 @@ distcheck: dist
 	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
 	  && cd "$$am__cwd" \
 	  || exit 1
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 	@(echo "$(distdir) archives ready for distribution: "; \
 	  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)"; \
@@ -570,10 +642,15 @@ 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:
@@ -654,23 +731,23 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-	ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-	all all-am am--refresh check check-am clean clean-generic \
-	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 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-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-	pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
+.MAKE: $(am__recursive_targets) all install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+	am--refresh check check-am clean clean-cscope clean-generic \
+	cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
+	dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
+	distcheck distclean distclean-generic distclean-hdr \
+	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-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs installdirs-am \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
+	uninstall-am
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/aclocal.m4 b/aclocal.m4
index b59ca2d..31d0fa3 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.14 -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  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.
@@ -11,13 +11,14 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 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'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
 # serial 1 (pkg-config-0.24)
@@ -179,7 +180,62 @@ else
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+
+# PKG_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable pkgconfigdir as the location where a module
+# should install pkg-config .pc files. By default the directory is
+# $libdir/pkgconfig, but the default can be changed by passing
+# DIRECTORY. The user can override through the --with-pkgconfigdir
+# parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+    [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_INSTALLDIR
+
+
+# PKG_NOARCH_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable noarch_pkgconfigdir as the location where a
+# module should install arch-independent pkg-config .pc files. By
+# default the directory is $datadir/pkgconfig, but the default can be
+# changed by passing DIRECTORY. The user can override through the
+# --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+    [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_NOARCH_INSTALLDIR
+
+
+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -------------------------------------------
+# Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])# PKG_CHECK_VAR
+
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -191,10 +247,10 @@ fi[]dnl
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.14'
 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.14], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -210,22 +266,22 @@ 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.14])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-2013 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.
 
 # 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/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -244,7 +300,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -270,22 +326,19 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 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 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -304,16 +357,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-2013 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
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# 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,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -323,7 +374,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -336,12 +387,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -349,8 +401,9 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # 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'.
+  # 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.
@@ -389,16 +442,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -407,16 +460,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+    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.
       am__obj=conftest.${OBJEXT-o}
@@ -464,7 +517,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -474,34 +527,39 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 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 -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 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 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 [{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -514,7 +572,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -526,21 +584,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -558,7 +614,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -568,18 +624,21 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 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 16
-
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -592,7 +651,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -621,31 +680,40 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
@@ -656,34 +724,78 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
 			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES(CC)],
-		  [define([AC_PROG_CC],
-			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES(CXX)],
-		  [define([AC_PROG_CXX],
-			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES(OBJC)],
-		  [define([AC_PROG_OBJC],
-			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
 ])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -705,7 +817,7 @@ 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-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -724,16 +836,14 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 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
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -749,14 +859,12 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 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
-
 # AM_MAKE_INCLUDE()
 # -----------------
 # Check to see how make treats includes.
@@ -774,7 +882,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -801,15 +909,12 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 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 6
-
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 AC_DEFUN([AM_MISSING_PROG],
@@ -817,11 +922,10 @@ AC_DEFUN([AM_MISSING_PROG],
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
-
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
@@ -834,63 +938,35 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006  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.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 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
-
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
 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)])
+[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)])])
@@ -901,24 +977,82 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+# Copyright (C) 1999-2013 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.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 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 5
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 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.
 
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -929,32 +1063,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -964,9 +1106,85 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
+
+# Copyright (C) 2009-2013 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.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  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-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -974,34 +1192,32 @@ AC_MSG_RESULT(yes)])
 
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 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
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -1009,24 +1225,22 @@ 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-2013 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
-
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -1036,75 +1250,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 # Substitute a variable $(am__untar) that extract such
 # 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])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+[# 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}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
 
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
+
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
 
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
   rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
 
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
 AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
diff --git a/configure b/configure
index f6df217..94f17d8 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 mednaffe 0.5.
+# Generated by GNU Autoconf 2.69 for mednaffe 0.5.
 #
 # Report bugs to <BUG-REPORT-ADDRESS>.
 #
 #
-# 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'\" &&
@@ -213,21 +237,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 :
@@ -330,6 +358,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
@@ -451,6 +487,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).
@@ -485,16 +525,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
@@ -506,28 +546,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'"
@@ -578,6 +598,7 @@ PKG_CONFIG
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
+am__nodep
 AMDEPBACKSLASH
 AMDEP_FALSE
 AMDEP_TRUE
@@ -591,6 +612,10 @@ CPPFLAGS
 LDFLAGS
 CFLAGS
 CC
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
 am__untar
 am__tar
 AMTAR
@@ -655,6 +680,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_silent_rules
 enable_dependency_tracking
 enable_gtk3
 '
@@ -1126,8 +1152,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
@@ -1287,8 +1311,12 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
   --enable-gtk3           Compile against GTK 3.x explicitly
 
 Some influential environment variables:
@@ -1374,9 +1402,9 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 mednaffe configure 0.5
-generated by GNU Autoconf 2.68
+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
@@ -1429,7 +1457,7 @@ This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by mednaffe $as_me 0.5, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1776,7 +1804,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-am__api_version='1.11'
+am__api_version='1.14'
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -1844,7 +1872,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.
@@ -1902,9 +1930,6 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -1915,32 +1940,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+	&& test "$*" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$2" = conftest.file
    )
 then
@@ -1952,6 +1985,16 @@ Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
 test "$program_prefix" != NONE &&
   program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
@@ -1974,12 +2017,12 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
 if test x"${install_sh}" != xset; then
@@ -1991,10 +2034,10 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
@@ -2013,7 +2056,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
@@ -2053,7 +2096,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
@@ -2104,7 +2147,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) '* | \
@@ -2133,12 +2176,6 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
 $as_echo "$MKDIR_P" >&6; }
 
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -2157,7 +2194,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
@@ -2221,6 +2258,45 @@ else
 fi
 rmdir .tst 2>/dev/null
 
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+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='\'
+
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
   # is not polluted with repeated "-I."
@@ -2271,18 +2347,70 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
-# Always define AMTAR for backward compatibility.
+# 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}'
+
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
 
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
 
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
 
 ac_config_headers="$ac_config_headers config.h"
 
@@ -2310,7 +2438,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
@@ -2350,7 +2478,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
@@ -2403,7 +2531,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
@@ -2444,7 +2572,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
@@ -2502,7 +2630,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
@@ -2546,7 +2674,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
@@ -2992,8 +3120,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);
@@ -3077,6 +3204,65 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 DEPDIR="${am__leading_dot}deps"
 
 ac_config_commands="$ac_config_commands depfiles"
@@ -3096,7 +3282,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -3129,6 +3315,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=
@@ -3151,8 +3338,9 @@ else
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # 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'.
+  # 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.
@@ -3186,16 +3374,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -3204,16 +3392,16 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+    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.
       am__obj=conftest.${OBJEXT-o}
@@ -3310,7 +3498,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
@@ -3353,7 +3541,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
@@ -3617,13 +3805,24 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
-# Always define AMTAR for backward compatibility.
+# 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}'
+
 
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
+
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
 
 
@@ -3639,8 +3838,9 @@ else
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # 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'.
+  # 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.
@@ -3674,16 +3874,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -3692,16 +3892,16 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+    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.
       am__obj=conftest.${OBJEXT-o}
@@ -3756,6 +3956,47 @@ fi
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
 ac_config_files="$ac_config_files Makefile src/Makefile"
 
 cat >confcache <<\_ACEOF
@@ -3867,6 +4108,14 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
  if test -n "$EXEEXT"; then
   am__EXEEXT_TRUE=
   am__EXEEXT_FALSE='#'
@@ -4193,16 +4442,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
@@ -4262,28 +4511,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'"
@@ -4305,7 +4542,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # values after options handling.
 ac_log="
 This file was extended by mednaffe $as_me 0.5, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -4371,10 +4608,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 mednaffe config.status 0.5
-configured by $0, generated by GNU Autoconf 2.68,
+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."
 
@@ -4465,7 +4702,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'
@@ -5099,7 +5336,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
   case $ac_file$ac_mode in
     "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -5112,7 +5349,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -5146,21 +5383,19 @@ $as_echo X"$mf" |
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`$as_dirname -- "$file" ||
diff --git a/src/Makefile.am b/src/Makefile.am
index e98aed9..bfa93fe 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
 bin_PROGRAMS=mednaffe
-mednaffe_SOURCES=mednaffe.c about.c active.c command.c list.c toggles.c gui.c common.h toggles.h logo.h mednaffe_glade.h system_glade.h
+mednaffe_SOURCES=mednaffe.c about.c active.c command.c list.c toggles.c gui.c prefs.c common.h prefs.h toggles.h logo.h mednaffe_glade.h system_glade.h settings_glade.h
 AM_CPPFLAGS        = @GTK_CFLAGS@ $(GTK_DEFINES)
 LDADD           = @GTK_LIBS@
 CLEANFILES      = *~
diff --git a/src/Makefile.in b/src/Makefile.in
index 6010e65..c1ac6a4 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.14 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.
+# Copyright (C) 1994-2013 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.
@@ -16,6 +15,51 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -34,7 +78,8 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 bin_PROGRAMS = mednaffe$(EXEEXT)
 subdir = src
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+	$(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -47,25 +92,68 @@ am__installdirs = "$(DESTDIR)$(bindir)"
 PROGRAMS = $(bin_PROGRAMS)
 am_mednaffe_OBJECTS = mednaffe.$(OBJEXT) about.$(OBJEXT) \
 	active.$(OBJEXT) command.$(OBJEXT) list.$(OBJEXT) \
-	toggles.$(OBJEXT) gui.$(OBJEXT)
+	toggles.$(OBJEXT) gui.$(OBJEXT) prefs.$(OBJEXT)
 mednaffe_OBJECTS = $(am_mednaffe_OBJECTS)
 mednaffe_LDADD = $(LDADD)
 mednaffe_DEPENDENCIES =
+AM_V_P = $(am__v_P_ at AM_V@)
+am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+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_GEN_1 = 
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+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_CC_1 = 
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+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    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(mednaffe_SOURCES)
 DIST_SOURCES = $(mednaffe_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -153,7 +241,7 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-mednaffe_SOURCES = mednaffe.c about.c active.c command.c list.c toggles.c gui.c common.h toggles.h logo.h mednaffe_glade.h system_glade.h
+mednaffe_SOURCES = mednaffe.c about.c active.c command.c list.c toggles.c gui.c prefs.c common.h prefs.h toggles.h logo.h mednaffe_glade.h system_glade.h settings_glade.h
 AM_CPPFLAGS = @GTK_CFLAGS@ $(GTK_DEFINES)
 LDADD = @GTK_LIBS@
 CLEANFILES = *~
@@ -194,14 +282,18 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
 	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -222,16 +314,18 @@ uninstall-binPROGRAMS:
 	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
 	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-mednaffe$(EXEEXT): $(mednaffe_OBJECTS) $(mednaffe_DEPENDENCIES) 
+
+mednaffe$(EXEEXT): $(mednaffe_OBJECTS) $(mednaffe_DEPENDENCIES) $(EXTRA_mednaffe_DEPENDENCIES) 
 	@rm -f mednaffe$(EXEEXT)
-	$(LINK) $(mednaffe_OBJECTS) $(mednaffe_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(mednaffe_OBJECTS) $(mednaffe_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -245,42 +339,32 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gui.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/list.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mednaffe.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/prefs.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/toggles.Po at am__quote@
 
 .c.o:
- at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ 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 -o $@ $<
 
 .c.obj:
- at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ 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) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	set x; \
 	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	$(am__define_uniq_tagged_files); \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -292,15 +376,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	      $$unique; \
 	  fi; \
 	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -309,6 +389,21 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -360,10 +455,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:
@@ -448,18 +548,19 @@ uninstall-am: uninstall-binPROGRAMS
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-	clean-generic ctags distclean distclean-compile \
-	distclean-generic distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-binPROGRAMS \
-	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-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-binPROGRAMS
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+	clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \
+	distclean distclean-compile distclean-generic distclean-tags \
+	distdir dvi dvi-am html html-am info info-am install \
+	install-am install-binPROGRAMS 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-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am \
+	uninstall-binPROGRAMS
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/command.c b/src/command.c
index 7515ce3..26a5b6e 100644
--- a/src/command.c
+++ b/src/command.c
@@ -113,31 +113,38 @@ gboolean out_watch( GIOChannel *channel, GIOCondition cond, guidata *gui)
   }
 
   g_io_channel_read_line( channel, &string, &size, NULL, NULL );
-  if (string[9]=='e')
+  
+  if (string[9])
   {
-    GtkWidget *dialog;
+    if (string[9]=='e')
+    {
+      GtkWidget *dialog;
   
-    gchar *err=format_err(string, size);
-    dialog = gtk_message_dialog_new (GTK_WINDOW(gui->topwindow),
-                                     GTK_DIALOG_DESTROY_WITH_PARENT,
-                                     GTK_MESSAGE_ERROR,
-                                     GTK_BUTTONS_CLOSE,
-                                     err);
-
-    gtk_dialog_run (GTK_DIALOG (dialog));
-    gtk_widget_destroy (dialog);
-    printf ("[Mednaffe] %s\n", err);
-    g_free(err);
-    g_io_channel_unref(channel);
-    return FALSE;      
-  }
+      gchar *err=format_err(string, size);
+      
+      if (gui->state==1) gtk_window_present(GTK_WINDOW(gui->topwindow));
+      if (gui->state==2) gtk_widget_show(gui->topwindow);
+      dialog = gtk_message_dialog_new (GTK_WINDOW(gui->topwindow),
+                                       GTK_DIALOG_DESTROY_WITH_PARENT,
+                                       GTK_MESSAGE_ERROR,
+                                       GTK_BUTTONS_CLOSE,
+                                       err);
 
-  if (string[0]!='M')
-  {
-    g_io_channel_unref( channel );
-    return FALSE;
+      gtk_dialog_run (GTK_DIALOG (dialog));
+      gtk_widget_destroy (dialog);
+      printf ("[Mednaffe] ***ERROR***\n%s", err);
+      g_free(err);
+      g_io_channel_unref(channel);
+      return FALSE;      
+    }
+
+    if (string[0]!='M')
+    {
+      g_io_channel_unref( channel );
+      g_free(string);
+      return FALSE;
+    }
   }
-  
   g_free(string);
   return TRUE;
 }
@@ -150,7 +157,7 @@ void child_watch(GPid pid, gint status, guidata *gui)
   
   #ifdef G_OS_WIN32
     DWORD lpExitCode=0;
-    const gchar *err="Mednafen error.\nRead stdout.txt for details."
+    const gchar *err="Mednafen error.\nRead stdout.txt for details.";
 
     GetExitCodeProcess( pid, &lpExitCode);
     if (lpExitCode!=0)
@@ -172,7 +179,7 @@ void child_watch(GPid pid, gint status, guidata *gui)
   g_spawn_close_pid( pid );
   gui->executing = FALSE;
 
-  printf ("\n[Mednaffe] End of execution catched\n");
+  printf ("[Mednaffe] End of execution catched\n");
   printf ("[Mednaffe] Command line used: '");
   
   #ifdef G_OS_WIN32
@@ -213,7 +220,7 @@ void row_exec(GtkTreeView *treeview, GtkTreePath *patho,
   if ((gui->executing == TRUE) || (gui->rompath == NULL)) 
     return;
     
-  BOOL ret = FALSE;
+  BOOL ret;
   STARTUPINFO si;  
   PROCESS_INFORMATION pi; 
    
@@ -222,7 +229,7 @@ void row_exec(GtkTreeView *treeview, GtkTreePath *patho,
   ZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
   
   gui->command = build_command_win(gui);
-  printf ("[Mednaffe] Executing mednafen:\n\n");
+  printf ("[Mednaffe] Executing mednafen...\n");
   ret = CreateProcess(NULL, gui->command, NULL, NULL, FALSE, 0, 
                       NULL, NULL, &si, &pi); 
   if (!ret) 
@@ -254,7 +261,7 @@ void row_exec(GtkTreeView *treeview, GtkTreePath *patho,
     return;
 
   gui->command = build_command(gui);
-  printf ("[Mednaffe] Executing mednafen:\n\n");
+  printf ("[Mednaffe] Executing mednafen...\n");
   ret = g_spawn_async_with_pipes( NULL, gui->command, NULL,
                                   G_SPAWN_DO_NOT_REAP_CHILD, NULL,
                                   NULL, &pid, NULL, &out, NULL, NULL );
@@ -264,14 +271,14 @@ void row_exec(GtkTreeView *treeview, GtkTreePath *patho,
     g_strfreev(gui->command);
     return;
   }
-  
+
   g_child_watch_add(pid, (GChildWatchFunc)child_watch, gui);
   out_ch = g_io_channel_unix_new(out);
   g_io_add_watch(out_ch, G_IO_IN|G_IO_HUP, (GIOFunc)out_watch, gui);
   
   gui->executing = TRUE;
   if (gui->state==1) gtk_window_iconify(GTK_WINDOW(gui->topwindow));
-  if (gui->state==2) gtk_widget_hide(gui->topwindow);
+  if (gui->state==2) gtk_widget_hide(gui->topwindow);  
 }
 
 #endif
diff --git a/src/common.h b/src/common.h
index ffbee3b..68ff238 100644
--- a/src/common.h
+++ b/src/common.h
@@ -37,6 +37,7 @@ typedef struct
    GtkWidget *globalist;
    GtkBuilder *specific;
    GtkBuilder *builder;
+   GtkBuilder *settings;
    GtkTreeViewColumn *column;
    GtkListStore *store;
    gint listmode;
diff --git a/src/gui.c b/src/gui.c
index b50ff6d..becd2dd 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -22,26 +22,19 @@
 
 #include "common.h"
 
-#ifdef G_OS_WIN32
-G_MODULE_EXPORT
-#endif
-void on_showtooltips_toggled(GtkToggleButton *togglebutton,
-                             guidata *gui)
+void display_tooltips(GtkBuilder *builder, gboolean state)
 {
   gchar *text;
   GSList *list = NULL;
   GSList *iterator = NULL;
-  gboolean state;
-
-  state = gtk_toggle_button_get_active(togglebutton);
   
-  list = gtk_builder_get_objects (gui->builder);
+  list = gtk_builder_get_objects(builder);
 
   for (iterator = list; iterator; iterator = iterator->next)
   {
     if (GTK_IS_WIDGET(iterator->data))
     {
-      text=gtk_widget_get_tooltip_text(iterator->data);
+      text = gtk_widget_get_tooltip_text(iterator->data);
       if (text!=NULL)
         gtk_widget_set_has_tooltip(
             iterator->data, state);
@@ -51,24 +44,21 @@ void on_showtooltips_toggled(GtkToggleButton *togglebutton,
   }
   
   g_slist_free(list);
-  
-  list = NULL;
-  
-  list = gtk_builder_get_objects (gui->specific);
+}
 
-  for (iterator = list; iterator; iterator = iterator->next)
-  {
-    if (GTK_IS_WIDGET(iterator->data))
-    {
-      text=gtk_widget_get_tooltip_text(iterator->data);
-      if (text!=NULL)
-        gtk_widget_set_has_tooltip(
-            iterator->data, state);
-          
-      g_free(text);
-    }
-  }
-  g_slist_free(list);
+#ifdef G_OS_WIN32
+G_MODULE_EXPORT
+#endif
+void on_showtooltips_toggled(GtkToggleButton *togglebutton,
+                             guidata *gui)
+{
+  gboolean state;
+
+  state = gtk_toggle_button_get_active(togglebutton);
+  
+  display_tooltips(gui->builder, state);
+  display_tooltips(gui->specific, state);
+  display_tooltips(gui->settings, state);
 }
 
 #ifdef G_OS_WIN32
@@ -94,3 +84,32 @@ void on_rbhide_activate(GtkButton *button, guidata *gui)
 {
   gui->state=2;
 }
+
+#ifdef G_OS_WIN32
+G_MODULE_EXPORT
+#endif
+gboolean close_prefs(GtkWidget *widget, GdkEvent *event, guidata *gui)
+{
+  gtk_widget_hide_on_delete(GTK_WIDGET(gtk_builder_get_object(gui->settings,
+                             "dialog1")));
+  return TRUE;
+}
+
+#ifdef G_OS_WIN32
+G_MODULE_EXPORT
+#endif
+void cancel_prefs(GtkButton *button, guidata *gui)
+{
+  gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(gui->settings,
+                             "dialog1")));
+}
+
+#ifdef G_OS_WIN32
+G_MODULE_EXPORT
+#endif
+void on_preferences_activate(GtkMenuItem *menuitem, guidata *gui)
+{
+  gtk_widget_show(GTK_WIDGET(gtk_builder_get_object(gui->settings,
+                             "dialog1")));
+
+}
diff --git a/src/mednaffe.c b/src/mednaffe.c
index f10ba7b..e5d9ebb 100644
--- a/src/mednaffe.c
+++ b/src/mednaffe.c
@@ -25,16 +25,18 @@
   Compile me with:
 
   gcc -O2 -std=c99 -Wall -DGTK2_ENABLED -o mednaffe about.c 
-  active.c command.c gui.c list.c toggles.c mednaffe.c 
+  active.c command.c gui.c prefs.c list.c toggles.c mednaffe.c 
   $(pkg-config --cflags --libs gtk+-2.0 gmodule-export-2.0)
 
 */
 
 #include "common.h"
 #include "toggles.h"
+#include "prefs.h"
 #include "logo.h"
 #include "mednaffe_glade.h"
 #include "system_glade.h"
+#include "settings_glade.h"
 
 #ifdef G_OS_WIN32
   #include <windows.h>
@@ -76,7 +78,7 @@ void system_selected(GtkTreeSelection *treeselection, guidata *gui)
   GSList *iterator;
   gint page;
   
-  model=gtk_tree_view_get_model(GTK_TREE_VIEW(gui->systemlist));
+  model = gtk_tree_view_get_model(GTK_TREE_VIEW(gui->systemlist));
 
   if (gtk_tree_selection_get_selected(treeselection, &model, &iter))
   {
@@ -141,117 +143,65 @@ void game_selected(GtkTreeSelection *treeselection, guidata *gui)
 #ifdef G_OS_WIN32
 G_MODULE_EXPORT
 #endif
-void quit(GtkWidget *widget, guidata *gui)
+void on_cell_toggled(GtkCellRendererToggle *cell_renderer,
+                                    gchar *path,
+                                    guidata *gui)
 {
-  GtkTreeIter iter;
-  GtkTreeModel *combostore;
-  gchar *conf_file;
-  gchar *conf;
-  FILE *file;
-  GKeyFile *key_file;
-  gchar **array;
-  gint n_items, a_item;
-  gboolean valid;
-  GtkWidget *option;
-  GList *list = NULL;
-  GList *iterator = NULL;
-  gint i=0;
-
-  printf("[Mednaffe] Exiting Mednaffe\n");
-
-  a_item=gtk_combo_box_get_active(GTK_COMBO_BOX(gui->cbpath));
-  combostore = gtk_combo_box_get_model(GTK_COMBO_BOX(gui->cbpath));
+  GtkTreeIter iter, iter2, iter3;
+  GtkTreeModel *model;
+  GtkTreeModel *model2;
+  gboolean bool;
+  gint row, row2;
   
-  #ifdef G_OS_WIN32
-    conf_file=g_strconcat(g_path_get_dirname(gui->binpath), "\\mednaffe.ini", NULL);
-  #else
-    conf_file=g_strconcat(g_get_user_config_dir(),"/mednaffe.conf", NULL);
-  #endif
+  model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtk_builder_get_object(
+                                           gui->settings,"treeview1")));
+  model2 = GTK_TREE_MODEL(gtk_builder_get_object(
+                                           gui->builder, "liststore3"));
   
-  n_items = gtk_tree_model_iter_n_children(combostore, NULL);
-
-  /*const gchar* array[n_items];*/
-  array = g_new(gchar *, n_items+1);
-  array[n_items]=NULL;
-
-  key_file=g_key_file_new();
-  /*g_key_file_set_list_separator(key_file,  0x0D);*/
-
-  valid = gtk_tree_model_get_iter_first (combostore, &iter);
-  while (valid)
+  if (gtk_tree_model_get_iter_from_string(model, &iter, path))
   {
-    gtk_tree_model_get (combostore, &iter, 0, &array[i], -1);
-    i++;
-    valid = gtk_tree_model_iter_next (combostore, &iter);
-  }
+	gtk_tree_model_get(model, &iter, 1, &bool, 2, &row, -1);
+    gtk_list_store_set(GTK_LIST_STORE(model), &iter, 1, (!bool), -1);
+    gtk_tree_model_get_iter_first(model2, &iter2); 
 
-  g_key_file_set_string_list(key_file, "GUI", "Folders",
-                                        (const gchar **)array, n_items);
-                                        
-  g_key_file_set_integer(key_file, "GUI", "Last Folder", a_item);
-                         
-  option = GTK_WIDGET(gtk_builder_get_object(gui->builder,"showtooltips"));         
-  g_key_file_set_boolean(key_file, "GUI", "Tooltips",
-                         gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(option)));
-                         
-  option = GTK_WIDGET(gtk_builder_get_object(gui->builder,"remembersize"));                         
-  g_key_file_set_boolean(key_file, "GUI", "RememberSize",
-                         gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(option))); 
-  if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(option))) 
+    do
     {
-	  gint width;
-	  gint height;
-	  
-	  gtk_window_get_size(GTK_WINDOW(gui->topwindow), &width, &height);
-	  if (width && height)
+	  gtk_tree_model_get(model2, &iter2, 2, &row2, -1);
+	  if (row==row2)
 	  {
-	    g_key_file_set_integer(key_file, "GUI", "Width", width);                   
-        g_key_file_set_integer(key_file, "GUI", "Height", height);
+	    gtk_list_store_set(GTK_LIST_STORE(model2), &iter2, 3, (!bool), -1);
+	    break;
 	  }
-	} 
-	                     
-  g_key_file_set_integer(key_file, "GUI", "Filter", gui->filter);                   
-  g_key_file_set_integer(key_file, "GUI", "View Mode", gui->listmode);                     
-  g_key_file_set_integer(key_file, "GUI", "ActionLaunch", gui->state);
-
-  if (gtk_tree_view_column_get_sort_order(gui->column) == GTK_SORT_DESCENDING)                                  
-    g_key_file_set_boolean(key_file, "GUI", "Reverse Sort", TRUE);
-
-  list = g_hash_table_get_keys(gui->clist);
-
-  for (iterator = list; iterator; iterator = iterator->next)
-  {
-    gchar *value;
+    } while (gtk_tree_model_iter_next(model2, &iter2));
+    
+    if (gtk_tree_model_get_iter_first(
+        gtk_tree_view_get_model(GTK_TREE_VIEW(gui->systemlist)), &iter3))
+    { 
+      gtk_tree_selection_select_iter(
+        gtk_tree_view_get_selection(GTK_TREE_VIEW(gui->systemlist)), &iter3);
+
+        gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(
+          gtk_tree_view_get_model(GTK_TREE_VIEW(gui->systemlist))));
+    }
     
-    iterator->data = ((gchar *)iterator->data)+1;
-    value=g_strdup(g_hash_table_lookup(gui->hash, iterator->data));
-    iterator->data = ((gchar *)iterator->data)-1;
-    g_key_file_set_string(key_file, "Emulator", iterator->data, value);
-    g_free(value);
+    if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(
+                           GTK_TREE_VIEW(gui->systemlist)), NULL, NULL))
+      gtk_widget_hide(gui->notebook); else gtk_widget_show(gui->notebook);
   }
-  g_list_free(list);
-
-  conf=g_key_file_to_data(key_file, NULL, NULL);
-
-  file=fopen(conf_file, "w");
-  fputs(conf, file);
-  fclose(file);
-
-  g_key_file_free(key_file);
-  g_free(conf);
-  g_strfreev(array);
-  g_free(conf_file);
+}
 
-  /*while(n_items>0)
-  {
-    n_items--;
-  //g_print("%s\n", array[n_items]);*/
-  /*g_free((gpointer *)array[n_items]);
-  }*/
+#ifdef G_OS_WIN32
+G_MODULE_EXPORT
+#endif
+void quit(GtkWidget *widget, guidata *gui)
+{
+  save_prefs(gui);
+  printf("[Mednaffe] Exiting Mednaffe...\n");
 
   /* To free items makes happy to Valgrind ;-) */
   g_object_unref(G_OBJECT(gui->builder));
   g_object_unref(G_OBJECT(gui->specific));
+  g_object_unref(G_OBJECT(gui->settings));
   g_hash_table_destroy(gui->hash);
   g_hash_table_destroy(gui->clist);
   g_slist_free(gui->dinlist);
@@ -265,189 +215,6 @@ void quit(GtkWidget *widget, guidata *gui)
   gtk_main_quit();
 }
 
-void load_conf(guidata *gui)
-{
-  GtkTreeIter iter;
-  GtkListStore *combostore;
-  gchar *conf_file;
-  gchar **folders = NULL;
-  GKeyFile *key_file;
-  gboolean value;
-  gsize n_items = 0;
-  gint a_item = -1;
-  gint state;
-  GError *err = NULL;
-  gsize length = 0;
-
-  combostore = GTK_LIST_STORE(
-                   gtk_combo_box_get_model(GTK_COMBO_BOX(gui->cbpath)));
-  #ifdef G_OS_WIN32
-    conf_file=g_strconcat(g_path_get_dirname(gui->binpath), "\\mednaffe.ini", NULL);
-  #else
-    conf_file=g_strconcat(g_get_user_config_dir(), "/mednaffe.conf", NULL);
-  #endif
-
-  key_file=g_key_file_new();
-  /*g_key_file_set_list_separator(key_file,  0x0D);*/
-
-  if (g_key_file_load_from_file(key_file, conf_file,
-                                G_KEY_FILE_NONE, NULL))
-  {
-    GtkWidget *option;
-    gchar **ffekeys;
-
-    folders=g_key_file_get_string_list(key_file, "GUI", "Folders",
-                                                        &n_items, NULL);
-                                                        
-    a_item=g_key_file_get_integer(key_file, "GUI", "Last Folder", NULL);
-
-    if (folders!=NULL)
-    {
-      while (n_items>0)
-      {
-        n_items--;
-        gtk_list_store_prepend(combostore, &iter);
-        gtk_list_store_set(combostore, &iter, 0, folders[n_items], -1);
-      }
-    }
-                                        
-    value = g_key_file_get_boolean(key_file, "GUI", "Reverse Sort", &err);
-    
-     if (err==NULL)
-     {
-      if (value) 
-        gtk_tree_view_column_set_sort_order(gui->column, GTK_SORT_DESCENDING);
-     }
-    else
-    {
-      g_error_free (err);
-      err=NULL;
-    }
-    
-    option = GTK_WIDGET(gtk_builder_get_object(gui->builder,
-                                               "showtooltips"));      
-    value = g_key_file_get_boolean(key_file, "GUI", "Tooltips", &err);    
-    if (err==NULL)
-      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(option),value);
-    else
-    {
-      g_error_free (err);
-      err=NULL;
-    }
-    
-    option = GTK_WIDGET(gtk_builder_get_object(gui->builder,
-                                               "remembersize"));    
-    value = g_key_file_get_boolean(key_file, "GUI", "RememberSize", &err); 
-    if (err==NULL)
-      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(option),value);
-    else
-    {
-      g_error_free (err);
-      err=NULL;
-    }
-    if (value)
-    {
-	  gint width;
-	  gint height;
-	  
-	  width = g_key_file_get_integer(key_file, "GUI", "Width", NULL);
-	  height = g_key_file_get_integer(key_file, "GUI", "Height", NULL);
-	  
-	  if (width && height)
-	    gtk_window_resize(GTK_WINDOW(gui->topwindow), width, height);
-	}
-    
-    option = GTK_WIDGET(gtk_builder_get_object(gui->builder,
-                                               "recursivemenuitem"));
-    value = g_key_file_get_integer(key_file, "GUI", "Recursive", &err);
-    
-    if (err==NULL)
-      gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(option),value);
-    else
-    {
-      g_error_free (err);
-      err=NULL;
-    }
-
-    state=g_key_file_get_integer(key_file, "GUI", "Filter", NULL);
-
-    switch (state)
-    {
-      case 1:
-        option = GTK_WIDGET(gtk_builder_get_object(gui->builder, "radiomenuzip"));            
-        gtk_menu_item_activate (GTK_MENU_ITEM(option));
-      break;
-      
-      case 2:
-        option = GTK_WIDGET(gtk_builder_get_object(gui->builder, "radiomenucue"));            
-        gtk_menu_item_activate (GTK_MENU_ITEM(option));
-      break;
-      
-      default:
-      break;
-    }
-    
-    state=g_key_file_get_integer(key_file, "GUI", "ActionLaunch", NULL);
-
-    switch (state)
-    {
-      case 2:
-        option = GTK_WIDGET(gtk_builder_get_object(gui->builder, "rbhide"));
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(option), TRUE);
-      break;
-      
-      case 1:
-        option = GTK_WIDGET(gtk_builder_get_object(gui->builder, "rbminimize"));            
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(option), TRUE);
-      break;
-      
-      default:
-      break;
-    }
-    
-    state=g_key_file_get_integer(key_file, "GUI", "View Mode", NULL);
-
-    switch (state)
-    {
-      case 1:
-        option = GTK_WIDGET(gtk_builder_get_object(gui->builder, "recursivemenu"));            
-        gtk_menu_item_activate (GTK_MENU_ITEM(option));
-      break;
-      
-      default:
-      break;
-    }
-
-    ffekeys = g_key_file_get_keys(key_file, "Emulator", &length, NULL);
-
-    if (length>0)
-    {
-      gint i=0;
-
-      while (ffekeys[i])
-      {
-        gchar *ffecopy;
-
-        ffecopy = g_strdup((ffekeys[i])+1);
-        g_hash_table_insert(gui->hash, ffecopy,
-                            g_key_file_get_string(key_file, "Emulator", 
-                            ffekeys[i], NULL));
-
-        g_hash_table_replace(gui->clist, ffekeys[i], ffekeys[i]);
-        i++;
-      }
-    }
-    g_free(ffekeys);
-  }
-  
-  g_strfreev(folders);
-  g_key_file_free(key_file);
-  g_free(conf_file);
-
-  if (a_item > -1)
-    gtk_combo_box_set_active(GTK_COMBO_BOX(gui->cbpath), a_item);
-}
-
 #ifdef G_OS_WIN32
 G_MODULE_EXPORT
 #endif
@@ -493,7 +260,7 @@ int main(int argc, char **argv)
 
   /* Init GTK+ */
   gtk_init(&argc, &argv);
-  printf("[Mednaffe] Starting Mednaffe 0.4\n");
+  printf("[Mednaffe] Starting Mednaffe 0.5...\n");
 
   /* Search for HOME variable*/
   #ifndef G_OS_WIN32
@@ -539,23 +306,26 @@ int main(int argc, char **argv)
 
   /* Create new GtkBuilder objects */
   gui.builder = gtk_builder_new();
-  
   if (!gtk_builder_add_from_string(gui.builder, mednaffe_glade, -1, NULL))
   {
-    g_object_unref(G_OBJECT(gui.builder));
-    show_error("Error reading glade file!\n");
+    show_error("Error reading mednaffe glade file!\n");
     return 1;
   }
 
   gui.specific = gtk_builder_new();
-  
   if (!gtk_builder_add_from_string(gui.specific, system_glade, -1, NULL))
   {
-    g_object_unref(G_OBJECT(gui.specific));
-    show_error("Error reading glade file!\n");
+    show_error("Error reading system glade file!\n");
     return 1;
   }
-
+  
+  gui.settings = gtk_builder_new();
+  if (!gtk_builder_add_from_string(gui.settings, settings_glade, -1, NULL))
+  {
+    show_error("Error reading settings glade file!\n");
+    return 1;
+  }
+  
   /* Get widget pointers from UI */
   gui.topwindow = GTK_WIDGET(gtk_builder_get_object(gui.builder,
                              "topwindow"));
@@ -594,7 +364,7 @@ int main(int argc, char **argv)
   /* Connect signals */
   gtk_builder_connect_signals(gui.builder, &gui);
   gtk_builder_connect_signals(gui.specific, &gui);
-
+  gtk_builder_connect_signals(gui.settings, &gui);
   g_signal_connect(
     gtk_tree_view_get_selection(GTK_TREE_VIEW(gui.gamelist)), 
         "changed", G_CALLBACK(game_selected), &gui);
@@ -617,6 +387,8 @@ int main(int argc, char **argv)
   gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(gui.store), 
     GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING);
 
+  gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(
+    gtk_tree_view_get_model(GTK_TREE_VIEW(gui.systemlist))), 3);
 
   /* Set initial values */
   gui.listmode = 0;
@@ -634,17 +406,29 @@ int main(int argc, char **argv)
   gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gui.notebook2),FALSE);
 
   /* Set statusbar messages */
-  if (GTK_MAJOR_VERSION==2)
-  {
+  #ifdef GTK2_ENABLED
     gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(gui.sbname),FALSE);
     gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(gui.sbnumber),FALSE);
-  }
+  #endif
   
   gtk_statusbar_push
     (GTK_STATUSBAR(gui.sbname), 1, " Game selected: None");
   gtk_statusbar_push
     (GTK_STATUSBAR(gui.sbnumber), 1, " Games in list: 0");
 
+  /* Set cellrenderertoogle (bug in gtk-win?) */
+  GtkCellRenderer *celltoggle = gtk_cell_renderer_toggle_new();
+  gtk_tree_view_column_pack_end((GTK_TREE_VIEW_COLUMN(
+                                 gtk_builder_get_object(gui.settings, 
+                                 "treeviewcolumn1"))), celltoggle, TRUE);
+                                 
+  gtk_tree_view_column_add_attribute((GTK_TREE_VIEW_COLUMN(
+                                      gtk_builder_get_object(gui.settings,
+                                      "treeviewcolumn1"))), 
+                                      celltoggle, "active", 1);
+                                      
+  g_signal_connect(celltoggle, "toggled", G_CALLBACK(on_cell_toggled), &gui);
+  
   /* Read configuration from mednafen*.cfg */
   if (!read_cfg(cfg_path, &gui))
   {
@@ -655,7 +439,7 @@ int main(int argc, char **argv)
   g_free(cfg_path);
 
   /* Load mednaffe config file */
-  load_conf(&gui);
+  load_prefs(&gui);
   set_values(gui.builder, &gui);
   set_values(gui.specific, &gui);
   select_rows(&gui);
diff --git a/src/mednaffe_glade.h b/src/mednaffe_glade.h
index 427ffdd..0d1ad05 100644
--- a/src/mednaffe_glade.h
+++ b/src/mednaffe_glade.h
@@ -28,19 +28,17 @@ static const char *mednaffe_glade =
 "<interface>\n"
 "<requires lib=\"gtk+\" version=\"2.18\"/>\n"
 "<!-- interface-naming-policy toplevel-contextual -->\n"
-"<object class=\"GtkAdjustment\" id=\"adjyscale\">\n"
-"<property name=\"lower\">0.01</property>\n"
-"<property name=\"upper\">256</property>\n"
-"<property name=\"value\">0.0099999997764825821</property>\n"
+"<object class=\"GtkAdjustment\" id=\"adjsfspeed\">\n"
+"<property name=\"lower\">0.25</property>\n"
+"<property name=\"upper\">1</property>\n"
+"<property name=\"value\">0.75</property>\n"
 "<property name=\"step_increment\">0.01</property>\n"
-"<property name=\"page_increment\">1</property>\n"
+"<property name=\"page_increment\">0.10000000000000001</property>\n"
 "</object>\n"
-"<object class=\"GtkAdjustment\" id=\"adjyscalefs\">\n"
-"<property name=\"lower\">0.01</property>\n"
-"<property name=\"upper\">256</property>\n"
-"<property name=\"value\">1</property>\n"
-"<property name=\"step_increment\">0.01</property>\n"
-"<property name=\"page_increment\">1</property>\n"
+"<object class=\"GtkAdjustment\" id=\"adjsoundperiod\">\n"
+"<property name=\"upper\">100000</property>\n"
+"<property name=\"step_increment\">1</property>\n"
+"<property name=\"page_increment\">100</property>\n"
 "</object>\n"
 "<object class=\"GtkImage\" id=\"add_image\">\n"
 "<property name=\"visible\">True</property>\n"
@@ -161,18 +159,6 @@ static const char *mednaffe_glade =
 "<property name=\"step_increment\">1</property>\n"
 "<property name=\"page_increment\">100</property>\n"
 "</object>\n"
-"<object class=\"GtkAdjustment\" id=\"adjsfspeed\">\n"
-"<property name=\"lower\">0.25</property>\n"
-"<property name=\"upper\">1</property>\n"
-"<property name=\"value\">0.75</property>\n"
-"<property name=\"step_increment\">0.01</property>\n"
-"<property name=\"page_increment\">0.10000000000000001</property>\n"
-"</object>\n"
-"<object class=\"GtkAdjustment\" id=\"adjsoundperiod\">\n"
-"<property name=\"upper\">100000</property>\n"
-"<property name=\"step_increment\">1</property>\n"
-"<property name=\"page_increment\">100</property>\n"
-"</object>\n"
 "<object class=\"GtkAdjustment\" id=\"adjsrwframes\">\n"
 "<property name=\"lower\">10</property>\n"
 "<property name=\"upper\">99999</property>\n"
@@ -225,6 +211,20 @@ static const char *mednaffe_glade =
 "<property name=\"step_increment\">0.01</property>\n"
 "<property name=\"page_increment\">1</property>\n"
 "</object>\n"
+"<object class=\"GtkAdjustment\" id=\"adjyscale\">\n"
+"<property name=\"lower\">0.01</property>\n"
+"<property name=\"upper\">256</property>\n"
+"<property name=\"value\">0.0099999997764825821</property>\n"
+"<property name=\"step_increment\">0.01</property>\n"
+"<property name=\"page_increment\">1</property>\n"
+"</object>\n"
+"<object class=\"GtkAdjustment\" id=\"adjyscalefs\">\n"
+"<property name=\"lower\">0.01</property>\n"
+"<property name=\"upper\">256</property>\n"
+"<property name=\"value\">1</property>\n"
+"<property name=\"step_increment\">0.01</property>\n"
+"<property name=\"page_increment\">1</property>\n"
+"</object>\n"
 "<object class=\"GtkAdjustment\" id=\"adyres\">\n"
 "<property name=\"upper\">65536</property>\n"
 "<property name=\"step_increment\">1</property>\n"
@@ -422,77 +422,93 @@ static const char *mednaffe_glade =
 "<column type=\"gchararray\"/>\n"
 "<!-- column-name gint1 -->\n"
 "<column type=\"gint\"/>\n"
+"<!-- column-name visible -->\n"
+"<column type=\"gboolean\"/>\n"
 "</columns>\n"
 "<data>\n"
 "<row>\n"
 "<col id=\"0\">Atari Lynx</col>\n"
 "<col id=\"1\">-lynx</col>\n"
 "<col id=\"2\">0</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">GameBoy (Color)</col>\n"
 "<col id=\"1\">-gb</col>\n"
 "<col id=\"2\">1</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">GameBoy Advance</col>\n"
 "<col id=\"1\">-gba</col>\n"
 "<col id=\"2\">2</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">Neo Geo Pocket (Color)</col>\n"
 "<col id=\"1\">-ngp</col>\n"
 "<col id=\"2\">3</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">Nintendo Entertainment System/Famicom</col>\n"
 "<col id=\"1\">-nes</col>\n"
 "<col id=\"2\">4</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx</col>\n"
 "<col id=\"1\">-pce</col>\n"
 "<col id=\"2\">5</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">PC-FX</col>\n"
 "<col id=\"1\">-pcfx</col>\n"
 "<col id=\"2\">6</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">Sega Game Gear</col>\n"
 "<col id=\"1\">-gg</col>\n"
 "<col id=\"2\">7</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">Sega Genesis/MegaDrive</col>\n"
 "<col id=\"1\">-md</col>\n"
 "<col id=\"2\">8</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">Sega Master System</col>\n"
 "<col id=\"1\">-sms</col>\n"
 "<col id=\"2\">9</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">Sony PlayStation</col>\n"
 "<col id=\"1\">-psx</col>\n"
 "<col id=\"2\">10</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">Super Nintendo Entertainment System/Super Famicom</col>\n"
 "<col id=\"1\">-snes</col>\n"
 "<col id=\"2\">11</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">Virtual Boy</col>\n"
 "<col id=\"1\">-vb</col>\n"
 "<col id=\"2\">12</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "<row>\n"
 "<col id=\"0\">WonderSwan (Color)</col>\n"
 "<col id=\"1\">-wswan</col>\n"
 "<col id=\"2\">13</col>\n"
+"<col id=\"3\">True</col>\n"
 "</row>\n"
 "</data>\n"
 "</object>\n"
@@ -624,6 +640,9 @@ static const char *mednaffe_glade =
 "</object>\n"
 "<object class=\"GtkTextBuffer\" id=\"textbuffererror\"/>\n"
 "<object class=\"GtkTextBuffer\" id=\"textbufferout\"/>\n"
+"<object class=\"GtkTreeModelFilter\" id=\"treemodelfilter1\">\n"
+"<property name=\"child_model\">liststore3</property>\n"
+"</object>\n"
 "<object class=\"GtkWindow\" id=\"topwindow\">\n"
 "<property name=\"can_focus\">False</property>\n"
 "<property name=\"title\">Mednaffe</property>\n"
@@ -708,6 +727,31 @@ static const char *mednaffe_glade =
 "</object>\n"
 "</child>\n"
 "<child>\n"
+"<object class=\"GtkMenuItem\" id=\"menuitem5\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"label\" translatable=\"yes\">_Edit</property>\n"
+"<property name=\"use_underline\">True</property>\n"
+"<child type=\"submenu\">\n"
+"<object class=\"GtkMenu\" id=\"menu6\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<child>\n"
+"<object class=\"GtkImageMenuItem\" id=\"Preferences\">\n"
+"<property name=\"label\">gtk-preferences</property>\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"use_underline\">True</property>\n"
+"<property name=\"use_stock\">True</property>\n"
+"<accelerator key=\"p\" signal=\"activate\" modifiers=\"GDK_CONTROL_MASK\"/>\n"
+"<signal name=\"activate\" handler=\"on_preferences_activate\" swapped=\"no\"/>\n"
+"</object>\n"
+"</child>\n"
+"</object>\n"
+"</child>\n"
+"</object>\n"
+"</child>\n"
+"<child>\n"
 "<object class=\"GtkMenuItem\" id=\"menuitem3\">\n"
 "<property name=\"visible\">True</property>\n"
 "<property name=\"can_focus\">False</property>\n"
@@ -955,6 +999,7 @@ static const char *mednaffe_glade =
 "<property name=\"model\">liststore5</property>\n"
 "<property name=\"headers_visible\">False</property>\n"
 "<property name=\"headers_clickable\">False</property>\n"
+"<property name=\"enable_search\">False</property>\n"
 "<child>\n"
 "<object class=\"GtkTreeViewColumn\" id=\"treeviewcolumn3\">\n"
 "<property name=\"title\" translatable=\"yes\">column</property>\n"
@@ -3124,9 +3169,10 @@ static const char *mednaffe_glade =
 "<property name=\"width_request\">400</property>\n"
 "<property name=\"visible\">True</property>\n"
 "<property name=\"can_focus\">True</property>\n"
-"<property name=\"model\">liststore3</property>\n"
+"<property name=\"model\">treemodelfilter1</property>\n"
 "<property name=\"headers_visible\">False</property>\n"
 "<property name=\"headers_clickable\">False</property>\n"
+"<property name=\"enable_search\">False</property>\n"
 "<child>\n"
 "<object class=\"GtkTreeViewColumn\" id=\"treeviewcolumn2\">\n"
 "<property name=\"title\" translatable=\"yes\">column</property>\n"
@@ -3854,6 +3900,18 @@ static const char *mednaffe_glade =
 "<child>\n"
 "<placeholder/>\n"
 "</child>\n"
+"<child>\n"
+"<placeholder/>\n"
+"</child>\n"
+"<child>\n"
+"<placeholder/>\n"
+"</child>\n"
+"<child>\n"
+"<placeholder/>\n"
+"</child>\n"
+"<child>\n"
+"<placeholder/>\n"
+"</child>\n"
 "</object>\n"
 "</child>\n"
 "</object>\n"
@@ -3997,6 +4055,18 @@ static const char *mednaffe_glade =
 "<child>\n"
 "<placeholder/>\n"
 "</child>\n"
+"<child>\n"
+"<placeholder/>\n"
+"</child>\n"
+"<child>\n"
+"<placeholder/>\n"
+"</child>\n"
+"<child>\n"
+"<placeholder/>\n"
+"</child>\n"
+"<child>\n"
+"<placeholder/>\n"
+"</child>\n"
 "</object>\n"
 "</child>\n"
 "</object>\n"
@@ -4743,178 +4813,6 @@ static const char *mednaffe_glade =
 "<property name=\"tab_fill\">False</property>\n"
 "</packing>\n"
 "</child>\n"
-"<child>\n"
-"<object class=\"GtkFrame\" id=\"frame18\">\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">False</property>\n"
-"<property name=\"border_width\">4</property>\n"
-"<property name=\"label_xalign\">0</property>\n"
-"<property name=\"shadow_type\">none</property>\n"
-"<child>\n"
-"<object class=\"GtkAlignment\" id=\"alignment21\">\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">False</property>\n"
-"<property name=\"left_padding\">12</property>\n"
-"<child>\n"
-"<object class=\"GtkVBox\" id=\"vbox28\">\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">False</property>\n"
-"<child>\n"
-"<object class=\"GtkCheckButton\" id=\"showtooltips\">\n"
-"<property name=\"label\" translatable=\"yes\">Show tooltips</property>\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">True</property>\n"
-"<property name=\"receives_default\">False</property>\n"
-"<property name=\"has_tooltip\">True</property>\n"
-"<property name=\"tooltip_text\" translatable=\"yes\">Tooltips are informative, but sometimes they can be annoying.\n"
-"You can disable them here.</property>\n"
-"<property name=\"active\">True</property>\n"
-"<property name=\"draw_indicator\">True</property>\n"
-"<signal name=\"toggled\" handler=\"on_showtooltips_toggled\" swapped=\"no\"/>\n"
-"</object>\n"
-"<packing>\n"
-"<property name=\"expand\">False</property>\n"
-"<property name=\"fill\">True</property>\n"
-"<property name=\"position\">0</property>\n"
-"</packing>\n"
-"</child>\n"
-"<child>\n"
-"<object class=\"GtkCheckButton\" id=\"remembersize\">\n"
-"<property name=\"label\" translatable=\"yes\">Remember window size</property>\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">True</property>\n"
-"<property name=\"receives_default\">False</property>\n"
-"<property name=\"active\">True</property>\n"
-"<property name=\"draw_indicator\">True</property>\n"
-"</object>\n"
-"<packing>\n"
-"<property name=\"expand\">False</property>\n"
-"<property name=\"fill\">True</property>\n"
-"<property name=\"position\">1</property>\n"
-"</packing>\n"
-"</child>\n"
-"<child>\n"
-"<object class=\"GtkVBox\" id=\"vbox26\">\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">False</property>\n"
-"<child>\n"
-"<object class=\"GtkLabel\" id=\"label71\">\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">False</property>\n"
-"<property name=\"xalign\">0</property>\n"
-"<property name=\"label\" translatable=\"yes\">Action when launch:</property>\n"
-"</object>\n"
-"<packing>\n"
-"<property name=\"expand\">False</property>\n"
-"<property name=\"fill\">True</property>\n"
-"<property name=\"padding\">3</property>\n"
-"<property name=\"position\">0</property>\n"
-"</packing>\n"
-"</child>\n"
-"<child>\n"
-"<object class=\"GtkAlignment\" id=\"alignment20\">\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">False</property>\n"
-"<property name=\"left_padding\">12</property>\n"
-"<child>\n"
-"<object class=\"GtkVBox\" id=\"vbox27\">\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">False</property>\n"
-"<child>\n"
-"<object class=\"GtkRadioButton\" id=\"rbnothing\">\n"
-"<property name=\"label\" translatable=\"yes\">Do nothing</property>\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">True</property>\n"
-"<property name=\"receives_default\">False</property>\n"
-"<property name=\"active\">True</property>\n"
-"<property name=\"draw_indicator\">True</property>\n"
-"<signal name=\"clicked\" handler=\"on_rbnothing_activate\" swapped=\"no\"/>\n"
-"</object>\n"
-"<packing>\n"
-"<property name=\"expand\">False</property>\n"
-"<property name=\"fill\">True</property>\n"
-"<property name=\"position\">0</property>\n"
-"</packing>\n"
-"</child>\n"
-"<child>\n"
-"<object class=\"GtkRadioButton\" id=\"rbminimize\">\n"
-"<property name=\"label\" translatable=\"yes\">Minimize</property>\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">True</property>\n"
-"<property name=\"receives_default\">False</property>\n"
-"<property name=\"active\">True</property>\n"
-"<property name=\"draw_indicator\">True</property>\n"
-"<property name=\"group\">rbnothing</property>\n"
-"<signal name=\"clicked\" handler=\"on_rbminimize_activate\" swapped=\"no\"/>\n"
-"</object>\n"
-"<packing>\n"
-"<property name=\"expand\">False</property>\n"
-"<property name=\"fill\">True</property>\n"
-"<property name=\"position\">1</property>\n"
-"</packing>\n"
-"</child>\n"
-"<child>\n"
-"<object class=\"GtkRadioButton\" id=\"rbhide\">\n"
-"<property name=\"label\" translatable=\"yes\">Hide</property>\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">True</property>\n"
-"<property name=\"receives_default\">False</property>\n"
-"<property name=\"active\">True</property>\n"
-"<property name=\"draw_indicator\">True</property>\n"
-"<property name=\"group\">rbminimize</property>\n"
-"<signal name=\"clicked\" handler=\"on_rbhide_activate\" swapped=\"no\"/>\n"
-"</object>\n"
-"<packing>\n"
-"<property name=\"expand\">False</property>\n"
-"<property name=\"fill\">True</property>\n"
-"<property name=\"position\">2</property>\n"
-"</packing>\n"
-"</child>\n"
-"</object>\n"
-"</child>\n"
-"</object>\n"
-"<packing>\n"
-"<property name=\"expand\">False</property>\n"
-"<property name=\"fill\">True</property>\n"
-"<property name=\"position\">2</property>\n"
-"</packing>\n"
-"</child>\n"
-"</object>\n"
-"<packing>\n"
-"<property name=\"expand\">False</property>\n"
-"<property name=\"fill\">True</property>\n"
-"<property name=\"padding\">12</property>\n"
-"<property name=\"position\">2</property>\n"
-"</packing>\n"
-"</child>\n"
-"</object>\n"
-"</child>\n"
-"</object>\n"
-"</child>\n"
-"<child type=\"label\">\n"
-"<object class=\"GtkLabel\" id=\"label73\">\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">False</property>\n"
-"<property name=\"label\" translatable=\"yes\"><b>Options</b></property>\n"
-"<property name=\"use_markup\">True</property>\n"
-"</object>\n"
-"</child>\n"
-"</object>\n"
-"<packing>\n"
-"<property name=\"position\">3</property>\n"
-"</packing>\n"
-"</child>\n"
-"<child type=\"tab\">\n"
-"<object class=\"GtkLabel\" id=\"label69\">\n"
-"<property name=\"visible\">True</property>\n"
-"<property name=\"can_focus\">False</property>\n"
-"<property name=\"label\" translatable=\"yes\"> GUI </property>\n"
-"</object>\n"
-"<packing>\n"
-"<property name=\"position\">3</property>\n"
-"<property name=\"tab_fill\">False</property>\n"
-"</packing>\n"
-"</child>\n"
 "</object>\n"
 "<packing>\n"
 "<property name=\"expand\">True</property>\n"
diff --git a/src/prefs.c b/src/prefs.c
new file mode 100644
index 0000000..5dbd49c
--- /dev/null
+++ b/src/prefs.c
@@ -0,0 +1,380 @@
+/*
+ * prefs.c
+ *
+ * Copyright 2013 AmatCoder
+ *
+ * This file is part of Mednaffe.
+ *
+ * Mednaffe is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Mednaffe is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Mednaffe; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "common.h"
+
+void save_combo(GKeyFile *key_file, guidata *gui)
+{
+  GtkTreeModel *combostore;
+  GtkTreeIter iter;
+  gint a_item, n_items;
+  gchar **array;
+  gboolean valid;
+  gint i=0;
+  
+  combostore = gtk_combo_box_get_model(GTK_COMBO_BOX(gui->cbpath));
+  a_item = gtk_combo_box_get_active(GTK_COMBO_BOX(gui->cbpath));
+  n_items = gtk_tree_model_iter_n_children(combostore, NULL);
+
+  /*const gchar* array[n_items];*/
+  array = g_new(gchar *, n_items+1);
+  array[n_items]=NULL; 
+  
+  valid = gtk_tree_model_get_iter_first (combostore, &iter);
+  while (valid)
+  {
+    gtk_tree_model_get (combostore, &iter, 0, &array[i], -1);
+    i++;
+    valid = gtk_tree_model_iter_next (combostore, &iter);
+  }
+
+  g_key_file_set_string_list(key_file, "GUI", "Folders",
+                                        (const gchar **)array, n_items);
+                                        
+  g_key_file_set_integer(key_file, "GUI", "Last Folder", a_item);
+  
+  g_strfreev(array);
+}
+
+void save_systems_showed(GKeyFile *key_file, guidata *gui)
+{
+  GtkTreeModel *model;
+  GtkTreeIter iter;
+  gboolean blist[13];
+  gboolean valid;
+  gint i=0;
+    
+  model = GTK_TREE_MODEL(gtk_builder_get_object(gui->builder, "liststore3"));
+  valid = gtk_tree_model_get_iter_first (model, &iter);
+  while (valid)
+  {
+    gtk_tree_model_get(model, &iter, 3, &blist[i], -1);
+    i++;
+    valid = gtk_tree_model_iter_next (model, &iter);
+  }
+  g_key_file_set_boolean_list(key_file, "GUI", "Show Systems", blist, 14);
+}
+
+void save_emu_options(GKeyFile *key_file, guidata *gui)
+{
+  GList *list = NULL;
+  GList *iterator = NULL;
+  
+  list = g_hash_table_get_keys(gui->clist);
+
+  for (iterator = list; iterator; iterator = iterator->next)
+  {
+    gchar *value;
+    
+    iterator->data = ((gchar *)iterator->data)+1;
+    value = g_strdup(g_hash_table_lookup(gui->hash, iterator->data));
+    iterator->data = ((gchar *)iterator->data)-1;
+    g_key_file_set_string(key_file, "Emulator", iterator->data, value);
+    g_free(value);
+  }
+  g_list_free(list); 
+}
+
+void save_prefs(guidata *gui)
+{
+  gchar *conf_file;
+  gchar *conf;
+  FILE *file;
+  GKeyFile *key_file;
+  GtkWidget *option;
+
+  #ifdef G_OS_WIN32
+    conf_file=g_strconcat(g_path_get_dirname(gui->binpath), "\\mednaffe.ini", NULL);
+  #else
+    conf_file=g_strconcat(g_get_user_config_dir(),"/mednaffe.conf", NULL);
+  #endif
+
+  key_file=g_key_file_new();
+  /*g_key_file_set_list_separator(key_file,  0x0D);*/
+
+  save_combo(key_file, gui);
+                     
+  option = GTK_WIDGET(gtk_builder_get_object(gui->settings,"showtooltips"));         
+  g_key_file_set_boolean(key_file, "GUI", "Tooltips",
+                         gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(option)));
+                         
+  option = GTK_WIDGET(gtk_builder_get_object(gui->settings,"remembersize"));                         
+  g_key_file_set_boolean(key_file, "GUI", "RememberSize",
+                         gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(option))); 
+  if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(option))) 
+  {
+	gint width;
+	gint height;
+	  
+	gtk_window_get_size(GTK_WINDOW(gui->topwindow), &width, &height);
+	if (width && height)
+	{
+      g_key_file_set_integer(key_file, "GUI", "Width", width);                   
+      g_key_file_set_integer(key_file, "GUI", "Height", height);
+    }
+  } 
+	                     
+  g_key_file_set_integer(key_file, "GUI", "Filter", gui->filter);                   
+  g_key_file_set_integer(key_file, "GUI", "View Mode", gui->listmode);                     
+  g_key_file_set_integer(key_file, "GUI", "ActionLaunch", gui->state);
+
+  if (gtk_tree_view_column_get_sort_order(gui->column) == GTK_SORT_DESCENDING)                                  
+    g_key_file_set_boolean(key_file, "GUI", "Reverse Sort", TRUE);
+
+  save_systems_showed(key_file, gui);
+  save_emu_options(key_file, gui);
+  
+  conf = g_key_file_to_data(key_file, NULL, NULL);
+
+  file=fopen(conf_file, "w");
+  fputs(conf, file);
+  fclose(file);
+
+  g_key_file_free(key_file);
+  g_free(conf);
+  g_free(conf_file);
+}
+
+void load_combo(GKeyFile *key_file, guidata *gui)
+{
+  GtkTreeModel *combostore;
+  GtkTreeIter iter; 
+  gsize n_items = 0;
+  gint a_item;
+  gchar **folders = NULL;
+  
+  combostore = gtk_combo_box_get_model(GTK_COMBO_BOX(gui->cbpath));
+
+  folders = g_key_file_get_string_list(key_file, "GUI", "Folders",
+                                                        &n_items, NULL);
+                                                        
+  a_item = g_key_file_get_integer(key_file, "GUI", "Last Folder", NULL);
+
+  if (folders!=NULL)
+  {
+    while (n_items>0)
+    {
+      n_items--;
+      gtk_list_store_prepend(GTK_LIST_STORE(combostore), &iter);
+      gtk_list_store_set(GTK_LIST_STORE(combostore), &iter, 0, folders[n_items], -1);
+    }
+  }
+  
+  gtk_combo_box_set_active(GTK_COMBO_BOX(gui->cbpath), a_item);
+    
+  g_strfreev(folders);
+}
+
+void load_systems_showed(GKeyFile *key_file, guidata *gui)
+{
+  GtkTreeIter iter, iter2;
+  GtkListStore *store;
+  GtkTreeModel *model;
+  gboolean *showed;
+  gsize length = 0;
+  gint n_items = 0;
+  
+  showed = g_key_file_get_boolean_list(key_file, "GUI", "Show Systems",
+                                                        &length, NULL);
+  if (showed)
+  {
+    store = GTK_LIST_STORE(gtk_builder_get_object(gui->builder, "liststore3"));                                                    
+    model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtk_builder_get_object(
+                                          gui->settings, "treeview1")));
+                                          
+    gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter);
+    gtk_tree_model_get_iter_first(model, &iter2);
+    while (n_items<14)
+    {
+      gtk_list_store_set(store, &iter, 3, showed[n_items], -1);
+      gtk_list_store_set(GTK_LIST_STORE(model), &iter2, 1, showed[n_items], -1);
+      gtk_tree_model_iter_next(GTK_TREE_MODEL(store), &iter);
+      gtk_tree_model_iter_next(model, &iter2);
+      n_items++;
+    }
+  g_free(showed);
+  }
+}
+
+void load_emu_options(GKeyFile *key_file, guidata *gui)
+{
+  gchar **ffekeys;
+  gsize length = 0;
+  
+  ffekeys = g_key_file_get_keys(key_file, "Emulator", &length, NULL);
+
+  if (length>0)
+  {
+    gint i=0;
+
+    while (ffekeys[i])
+    {
+      gchar *ffecopy;
+
+      ffecopy = g_strdup((ffekeys[i])+1);
+      g_hash_table_insert(gui->hash, ffecopy,
+                          g_key_file_get_string(key_file, "Emulator", 
+                          ffekeys[i], NULL));
+
+      g_hash_table_replace(gui->clist, ffekeys[i], ffekeys[i]);
+      i++;
+    }
+  }
+  g_free(ffekeys);
+}
+
+void load_prefs(guidata *gui)
+{
+  gchar *conf_file;  
+  GKeyFile *key_file;
+  gboolean value;
+  gint state;
+  GError *err = NULL;
+
+  #ifdef G_OS_WIN32
+    conf_file=g_strconcat(g_path_get_dirname(gui->binpath), "\\mednaffe.ini", NULL);
+  #else
+    conf_file=g_strconcat(g_get_user_config_dir(), "/mednaffe.conf", NULL);
+  #endif
+
+  key_file=g_key_file_new();
+  /*g_key_file_set_list_separator(key_file,  0x0D);*/
+
+  if (g_key_file_load_from_file(key_file, conf_file,
+                                G_KEY_FILE_NONE, NULL))
+  {  
+	load_combo(key_file, gui);                            
+    value = g_key_file_get_boolean(key_file, "GUI", "Reverse Sort", &err);
+    
+     if (err==NULL)
+     {
+      if (value) 
+        gtk_tree_view_column_set_sort_order(gui->column, GTK_SORT_DESCENDING);
+     }
+    else
+    {
+      g_error_free (err);
+      err=NULL;
+    }
+    
+    GtkWidget *option;
+    
+    option = GTK_WIDGET(gtk_builder_get_object(gui->settings,
+                                               "showtooltips"));      
+    value = g_key_file_get_boolean(key_file, "GUI", "Tooltips", &err);    
+    if (err==NULL)
+      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(option),value);
+    else
+    {
+      g_error_free (err);
+      err=NULL;
+    }
+    
+    option = GTK_WIDGET(gtk_builder_get_object(gui->settings,
+                                               "remembersize"));    
+    value = g_key_file_get_boolean(key_file, "GUI", "RememberSize", &err); 
+    if (err==NULL)
+      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(option),value);
+    else
+    {
+      g_error_free (err);
+      err=NULL;
+    }
+    if (value)
+    {
+	  gint width;
+	  gint height;
+	  
+	  width = g_key_file_get_integer(key_file, "GUI", "Width", NULL);
+	  height = g_key_file_get_integer(key_file, "GUI", "Height", NULL);
+	  
+	  if (width && height)
+	    gtk_window_resize(GTK_WINDOW(gui->topwindow), width, height);
+	}
+    
+    option = GTK_WIDGET(gtk_builder_get_object(gui->settings,
+                                               "recursivemenuitem"));
+    value = g_key_file_get_integer(key_file, "GUI", "Recursive", &err);
+    
+    if (err==NULL)
+      gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(option),value);
+    else
+    {
+      g_error_free (err);
+      err=NULL;
+    }
+
+    state=g_key_file_get_integer(key_file, "GUI", "Filter", NULL);
+
+    switch (state)
+    {
+      case 1:
+        option = GTK_WIDGET(gtk_builder_get_object(gui->settings, "radiomenuzip"));            
+        gtk_menu_item_activate (GTK_MENU_ITEM(option));
+      break;
+      
+      case 2:
+        option = GTK_WIDGET(gtk_builder_get_object(gui->settings, "radiomenucue"));            
+        gtk_menu_item_activate (GTK_MENU_ITEM(option));
+      break;
+      
+      default:
+      break;
+    }
+    
+    state=g_key_file_get_integer(key_file, "GUI", "ActionLaunch", NULL);
+
+    switch (state)
+    {
+      case 2:
+        option = GTK_WIDGET(gtk_builder_get_object(gui->settings, "rbhide"));
+        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(option), TRUE);
+      break;
+      
+      case 1:
+        option = GTK_WIDGET(gtk_builder_get_object(gui->settings, "rbminimize"));            
+        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(option), TRUE);
+      break;
+      
+      default:
+      break;
+    }
+    
+    state=g_key_file_get_integer(key_file, "GUI", "View Mode", NULL);
+
+    switch (state)
+    {
+      case 1:
+        option = GTK_WIDGET(gtk_builder_get_object(gui->settings, "recursivemenu"));            
+        gtk_menu_item_activate (GTK_MENU_ITEM(option));
+      break;
+      
+      default:
+      break;
+    }
+    
+    load_systems_showed(key_file, gui);
+    load_emu_options(key_file, gui);
+  }
+  g_key_file_free(key_file);
+  g_free(conf_file);
+}
diff --git a/src/prefs.h b/src/prefs.h
new file mode 100644
index 0000000..974239d
--- /dev/null
+++ b/src/prefs.h
@@ -0,0 +1,29 @@
+/*
+ * prefs.h
+ * 
+ * Copyright 2013 AmatCoder
+ * 
+ * This file is part of Mednaffe.
+ * 
+ * Mednaffe is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * Mednaffe is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Mednaffe; if not, see <http://www.gnu.org/licenses/>.
+ * 
+ */
+ 
+#ifndef PREFS_H
+#define PREFS_H
+
+  void save_prefs(guidata *gui);
+  void load_prefs(guidata *gui);
+
+#endif /* PREFS_H */
diff --git a/src/settings_glade.h b/src/settings_glade.h
new file mode 100644
index 0000000..5a5fac0
--- /dev/null
+++ b/src/settings_glade.h
@@ -0,0 +1,399 @@
+/*
+ * settings_glade.h
+ * 
+ * Copyright 2013 AmatCoder
+ * 
+ * This file is part of Mednaffe.
+ * 
+ * Mednaffe is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * Mednaffe is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Mednaffe; if not, see <http://www.gnu.org/licenses/>.
+ * 
+ */
+ 
+#ifndef SETTINGS_GLADE_H
+#define SETTINGS_GLADE_H
+
+static const char *settings_glade =
+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<interface>\n"
+"<requires lib=\"gtk+\" version=\"2.18\"/>\n"
+"<!-- interface-naming-policy project-wide -->\n"
+"<object class=\"GtkDialog\" id=\"dialog1\">\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"border_width\">5</property>\n"
+"<property name=\"title\" translatable=\"yes\">Preferences</property>\n"
+"<property name=\"modal\">True</property>\n"
+"<property name=\"destroy_with_parent\">True</property>\n"
+"<property name=\"type_hint\">dialog</property>\n"
+"<property name=\"skip_taskbar_hint\">True</property>\n"
+"<signal name=\"delete-event\" handler=\"close_prefs\" swapped=\"no\"/>\n"
+"<child internal-child=\"vbox\">\n"
+"<object class=\"GtkVBox\" id=\"dialog-vbox1\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"spacing\">2</property>\n"
+"<child internal-child=\"action_area\">\n"
+"<object class=\"GtkHButtonBox\" id=\"dialog-action_area1\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"layout_style\">end</property>\n"
+"<child>\n"
+"<object class=\"GtkButton\" id=\"button1\">\n"
+"<property name=\"label\">gtk-close</property>\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">True</property>\n"
+"<property name=\"receives_default\">True</property>\n"
+"<property name=\"use_stock\">True</property>\n"
+"<signal name=\"clicked\" handler=\"cancel_prefs\" swapped=\"no\"/>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">False</property>\n"
+"<property name=\"fill\">False</property>\n"
+"<property name=\"position\">0</property>\n"
+"</packing>\n"
+"</child>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">True</property>\n"
+"<property name=\"fill\">True</property>\n"
+"<property name=\"position\">0</property>\n"
+"</packing>\n"
+"</child>\n"
+"<child>\n"
+"<object class=\"GtkNotebook\" id=\"notebook1\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">True</property>\n"
+"<child>\n"
+"<object class=\"GtkFrame\" id=\"frame18\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"border_width\">4</property>\n"
+"<property name=\"label_xalign\">0</property>\n"
+"<property name=\"shadow_type\">none</property>\n"
+"<child>\n"
+"<object class=\"GtkAlignment\" id=\"alignment21\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"left_padding\">12</property>\n"
+"<child>\n"
+"<object class=\"GtkVBox\" id=\"vbox28\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<child>\n"
+"<object class=\"GtkCheckButton\" id=\"showtooltips\">\n"
+"<property name=\"label\" translatable=\"yes\">Show tooltips</property>\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">True</property>\n"
+"<property name=\"receives_default\">False</property>\n"
+"<property name=\"has_tooltip\">True</property>\n"
+"<property name=\"tooltip_text\" translatable=\"yes\">Tooltips are informative, but sometimes they can be annoying.\n"
+"You can disable them here.</property>\n"
+"<property name=\"active\">True</property>\n"
+"<property name=\"draw_indicator\">True</property>\n"
+"<signal name=\"toggled\" handler=\"on_showtooltips_toggled\" swapped=\"no\"/>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">False</property>\n"
+"<property name=\"fill\">True</property>\n"
+"<property name=\"position\">0</property>\n"
+"</packing>\n"
+"</child>\n"
+"<child>\n"
+"<object class=\"GtkCheckButton\" id=\"remembersize\">\n"
+"<property name=\"label\" translatable=\"yes\">Remember window size</property>\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">True</property>\n"
+"<property name=\"receives_default\">False</property>\n"
+"<property name=\"active\">True</property>\n"
+"<property name=\"draw_indicator\">True</property>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">False</property>\n"
+"<property name=\"fill\">True</property>\n"
+"<property name=\"position\">1</property>\n"
+"</packing>\n"
+"</child>\n"
+"<child>\n"
+"<object class=\"GtkVBox\" id=\"vbox26\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<child>\n"
+"<object class=\"GtkLabel\" id=\"label71\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"xalign\">0</property>\n"
+"<property name=\"label\" translatable=\"yes\">Action when launch:</property>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">False</property>\n"
+"<property name=\"fill\">True</property>\n"
+"<property name=\"padding\">3</property>\n"
+"<property name=\"position\">0</property>\n"
+"</packing>\n"
+"</child>\n"
+"<child>\n"
+"<object class=\"GtkAlignment\" id=\"alignment20\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"left_padding\">12</property>\n"
+"<child>\n"
+"<object class=\"GtkVBox\" id=\"vbox27\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<child>\n"
+"<object class=\"GtkRadioButton\" id=\"rbnothing\">\n"
+"<property name=\"label\" translatable=\"yes\">Do nothing</property>\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">True</property>\n"
+"<property name=\"receives_default\">False</property>\n"
+"<property name=\"active\">True</property>\n"
+"<property name=\"draw_indicator\">True</property>\n"
+"<signal name=\"clicked\" handler=\"on_rbnothing_activate\" swapped=\"no\"/>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">False</property>\n"
+"<property name=\"fill\">True</property>\n"
+"<property name=\"position\">0</property>\n"
+"</packing>\n"
+"</child>\n"
+"<child>\n"
+"<object class=\"GtkRadioButton\" id=\"rbminimize\">\n"
+"<property name=\"label\" translatable=\"yes\">Minimize</property>\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">True</property>\n"
+"<property name=\"receives_default\">False</property>\n"
+"<property name=\"draw_indicator\">True</property>\n"
+"<property name=\"group\">rbnothing</property>\n"
+"<signal name=\"clicked\" handler=\"on_rbminimize_activate\" swapped=\"no\"/>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">False</property>\n"
+"<property name=\"fill\">True</property>\n"
+"<property name=\"position\">1</property>\n"
+"</packing>\n"
+"</child>\n"
+"<child>\n"
+"<object class=\"GtkRadioButton\" id=\"rbhide\">\n"
+"<property name=\"label\" translatable=\"yes\">Hide</property>\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">True</property>\n"
+"<property name=\"receives_default\">False</property>\n"
+"<property name=\"draw_indicator\">True</property>\n"
+"<property name=\"group\">rbminimize</property>\n"
+"<signal name=\"clicked\" handler=\"on_rbhide_activate\" swapped=\"no\"/>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">False</property>\n"
+"<property name=\"fill\">True</property>\n"
+"<property name=\"position\">2</property>\n"
+"</packing>\n"
+"</child>\n"
+"</object>\n"
+"</child>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">False</property>\n"
+"<property name=\"fill\">True</property>\n"
+"<property name=\"position\">2</property>\n"
+"</packing>\n"
+"</child>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">False</property>\n"
+"<property name=\"fill\">True</property>\n"
+"<property name=\"padding\">12</property>\n"
+"<property name=\"position\">2</property>\n"
+"</packing>\n"
+"</child>\n"
+"</object>\n"
+"</child>\n"
+"</object>\n"
+"</child>\n"
+"<child type=\"label\">\n"
+"<object class=\"GtkLabel\" id=\"label73\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"label\" translatable=\"yes\"><b>Options</b></property>\n"
+"<property name=\"use_markup\">True</property>\n"
+"</object>\n"
+"</child>\n"
+"</object>\n"
+"</child>\n"
+"<child type=\"tab\">\n"
+"<object class=\"GtkLabel\" id=\"label1\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"label\" translatable=\"yes\">General</property>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"tab_fill\">False</property>\n"
+"</packing>\n"
+"</child>\n"
+"<child>\n"
+"<object class=\"GtkFrame\" id=\"frame1\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"border_width\">4</property>\n"
+"<property name=\"label_xalign\">0</property>\n"
+"<property name=\"shadow_type\">none</property>\n"
+"<child>\n"
+"<object class=\"GtkAlignment\" id=\"alignment1\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"top_padding\">12</property>\n"
+"<property name=\"left_padding\">12</property>\n"
+"<child>\n"
+"<object class=\"GtkTreeView\" id=\"treeview1\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">True</property>\n"
+"<property name=\"model\">liststore1</property>\n"
+"<property name=\"headers_clickable\">False</property>\n"
+"<property name=\"enable_search\">False</property>\n"
+"<child>\n"
+"<object class=\"GtkTreeViewColumn\" id=\"treeviewcolumn1\">\n"
+"<property name=\"title\" translatable=\"yes\">Systems</property>\n"
+"<child>\n"
+"<object class=\"GtkCellRendererText\" id=\"cellrenderertext1\"/>\n"
+"<attributes>\n"
+"<attribute name=\"text\">0</attribute>\n"
+"</attributes>\n"
+"</child>\n"
+"</object>\n"
+"</child>\n"
+"</object>\n"
+"</child>\n"
+"</object>\n"
+"</child>\n"
+"<child type=\"label\">\n"
+"<object class=\"GtkLabel\" id=\"label5\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"label\" translatable=\"yes\"><b>Show In List</b></property>\n"
+"<property name=\"use_markup\">True</property>\n"
+"</object>\n"
+"</child>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"position\">1</property>\n"
+"</packing>\n"
+"</child>\n"
+"<child type=\"tab\">\n"
+"<object class=\"GtkLabel\" id=\"label2\">\n"
+"<property name=\"visible\">True</property>\n"
+"<property name=\"can_focus\">False</property>\n"
+"<property name=\"label\" translatable=\"yes\">Systems</property>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"position\">1</property>\n"
+"<property name=\"tab_fill\">False</property>\n"
+"</packing>\n"
+"</child>\n"
+"</object>\n"
+"<packing>\n"
+"<property name=\"expand\">True</property>\n"
+"<property name=\"fill\">True</property>\n"
+"<property name=\"position\">1</property>\n"
+"</packing>\n"
+"</child>\n"
+"</object>\n"
+"</child>\n"
+"<action-widgets>\n"
+"<action-widget response=\"0\">button1</action-widget>\n"
+"</action-widgets>\n"
+"</object>\n"
+"<object class=\"GtkListStore\" id=\"liststore1\">\n"
+"<columns>\n"
+"<!-- column-name System -->\n"
+"<column type=\"gchararray\"/>\n"
+"<!-- column-name Show -->\n"
+"<column type=\"gboolean\"/>\n"
+"<!-- column-name gint1 -->\n"
+"<column type=\"gint\"/>\n"
+"</columns>\n"
+"<data>\n"
+"<row>\n"
+"<col id=\"0\">Atary Lynx</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">0</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">GameBoy (Color)</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">1</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">GameBoy Advance</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">2</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">Neo Geo Pocket (Color)</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">3</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">Nintendo Entertainment System/Famicom</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">4</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">5</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">PC-FX</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">6</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">Sega Game Gear</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">7</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">Sega Genesis/MegaDrive</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">8</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">Sega Master System</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">9</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">Sony PlayStation</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">10</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">Super Nintendo Entertainment System/Super Famicom</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">11</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">Virtual Boy</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">12</col>\n"
+"</row>\n"
+"<row>\n"
+"<col id=\"0\">WonderSwan (Color)</col>\n"
+"<col id=\"1\">True</col>\n"
+"<col id=\"2\">13</col>\n"
+"</row>\n"
+"</data>\n"
+"</object>\n"
+"</interface>\n"
+;
+
+#endif /* SETTINGS_GLADE_H */
diff --git a/src/toggles.c b/src/toggles.c
index 6960565..aedaa55 100644
--- a/src/toggles.c
+++ b/src/toggles.c
@@ -26,24 +26,20 @@ void select_rows(guidata *gui)
 {
   GtkTreeIter iter;
   GList *chain = NULL;
-
+  
   if (gtk_tree_model_get_iter_first(
         gtk_tree_view_get_model(GTK_TREE_VIEW(gui->systemlist)), &iter))
-  { 
     gtk_tree_selection_select_iter(
       gtk_tree_view_get_selection(GTK_TREE_VIEW(gui->systemlist)), &iter);
-    
-    gtk_tree_view_set_search_column(GTK_TREE_VIEW(gui->systemlist), -1);
-  }
   
+  if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(
+                          GTK_TREE_VIEW(gui->systemlist)), NULL, NULL))
+    gtk_widget_hide(gui->notebook); else gtk_widget_show(gui->notebook);
+      
   if (gtk_tree_model_get_iter_first(
           gtk_tree_view_get_model(GTK_TREE_VIEW(gui->globalist)), &iter))
-  {
     gtk_tree_selection_select_iter(gtk_tree_view_get_selection(
                                      GTK_TREE_VIEW(gui->globalist)), &iter);
-
-    gtk_tree_view_set_search_column(GTK_TREE_VIEW(gui->globalist), -1);
-  }
   
   chain = g_list_prepend(chain, gui->gamelist);
   

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mednaffe.git



More information about the Pkg-games-commits mailing list