gmult-8.0/data/gmult.desktop0000644000175000017500000000545611551324110015526 0ustar udienzudienz[Desktop Entry] Version=1.0 Name=Multiplication Puzzle Name[af]=Maal Raaisel Name[ar]=لغز متعدد Name[cs]=Multiplication Puzzle Name[da]=Multiplication Puzzle Name[de]=Multiplizierrätsel Name[en_GB]=Multiplication Puzzle Name[es]=Rompecabezas de multiplicaciones Name[eu]=Biderketa puzzlea Name[fi]=Kertolaskupulma Name[fr]=Jeu-devinette de multiplication Name[hu]=Szorzás Rejtvény Name[id]=Puzzle Multiplikasi Name[io]=Multiplikada Enigmato Name[it]=Moltiplicazione Cifrata Name[ja]=掛けるパズル Name[ms]=Teka-teki Darab Name[nl]=Vermenigvuldigingspuzzel Name[pl]=Multiplication Puzzle Name[pt_BR]=Enigma da Multiplicação Name[rm]=Puzzle da multiplicaziun Name[ro]=Joc de aritmetică Name[ru]=Игра "Умножение" Name[sr]=Слагалица са множењем Name[sv]=Multipliceringspussel Name[tr]=Çarpma Bulmacası Name[vi]=Câu đố nhân Name[zh_CN]=乘法猜数游戏 Name[zh_TW]=乘法字謎 Comment=Figure out which letters are which numbers Comment[af]=Bepaal watter letters is watter getalle Comment[ar]=لديك عدد التخمين الذي يقابل كل خطاب Comment[cs]=Zjistěte jaké číslice odpovídají písmenům Comment[da]=Regn ud hvilke bogstaver der repræsenterer hvilke tal Comment[de]=Finde heraus, welche Buchstaben welche Ziffern sind. Comment[en_GB]=Figure out which letters are which numbers Comment[es]=Averiguar cuáles letras son qué números Comment[eu]=Kalkulatu zein letra den zein zenbaki Comment[fi]=Yritä ratkaista, mikä kirjain vastaa mitä numeroa Comment[fr]=Vous devez deviner à quel nombre correspond chaque lettre Comment[hu]=Találja ki, hogy melyik betű melyik számnak felel meg Comment[id]=Tebak nomor mana berada pada huruf yang mana Comment[io]=Dechifrez nombri de literi Comment[it]=Indovina quale numero corrisponde a ogni lettera Comment[ja]=どの文字がどの数字かをあててください Comment[ms]=Tentukan aksara yang mana adalah nombor Comment[nl]=Probeer uit te vissen welke cijfers er schuilgaan achter de letters Comment[pl]=Stwierdź które są numery, które litery Comment[pt_BR]=Descubra quais números estão representados pelas letras. Comment[rm]=Chatta oura che custabs chi sun che nomers Comment[ro]=Deduceţi care litere corespund căror numere Comment[ru]=Определите каким буквам соответствуют цифры Comment[sr]=Пронађи која слова су који бројеви Comment[sv]=Lista ut vilka bokstäver som är vilka nummer Comment[tr]=Hangi harflerin hangi rakamlara karşılık geldiğini bulun Comment[vi]=Tính ra chữ cái nào là chữ số nào Comment[zh_CN]=猜出各个字母代表哪些数字 Comment[zh_TW]=推測出哪個文字代表哪個數字 Icon=gmult TryExec=gmult Exec=gmult Terminal=false StartupNotify=true Type=Application Categories=Game;LogicGame;GTK; gmult-8.0/data/gmult.desktop.in0000644000175000017500000000034611551155441016135 0ustar udienzudienz[Desktop Entry] Version=1.0 _Name=Multiplication Puzzle _Comment=Figure out which letters are which numbers Icon=gmult TryExec=gmult Exec=gmult Terminal=false StartupNotify=true Type=Application Categories=Game;LogicGame;GTK; gmult-8.0/data/Makefile.am0000644000175000017500000000127211551155441015040 0ustar udienzudienzicondir = $(datadir)/icons/hicolor/scalable/apps icon_DATA = gmult.svg @INTLTOOL_DESKTOP_RULE@ desktopdir = $(datadir)/applications desktop_in_files = gmult.desktop.in dist_desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) EXTRA_DIST = gmult.desktop.in gmult.svg DISTCLEANFILES = gmult.desktop gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor install-data-hook: update-icon-cache uninstall-hook: update-icon-cache update-icon-cache: @-if test -z "$(DESTDIR)"; then \ echo "Updating Gtk icon cache."; \ $(gtk_update_icon_cache); \ else \ echo "*** Icon cache not updated. After (un)install, run this:"; \ echo "*** $(gtk_update_icon_cache)"; \ fi gmult-8.0/data/gmult.svg0000644000175000017500000002146311551155441014661 0ustar udienzudienz image/svg+xml Michael Terry Eugenia Loli-Queru 2008-06-21 Multplication Puzle Icon M + × P gmult-8.0/data/Makefile.in0000644000175000017500000003314211551160265015052 0ustar udienzudienz# Makefile.in generated by automake 1.11.1 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. # 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. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = data DIST_COMMON = $(dist_desktop_DATA) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(icondir)" DATA = $(dist_desktop_DATA) $(icon_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ icondir = $(datadir)/icons/hicolor/scalable/apps icon_DATA = gmult.svg desktopdir = $(datadir)/applications desktop_in_files = gmult.desktop.in dist_desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) EXTRA_DIST = gmult.desktop.in gmult.svg DISTCLEANFILES = gmult.desktop gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu data/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-dist_desktopDATA: $(dist_desktop_DATA) @$(NORMAL_INSTALL) test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)" @list='$(dist_desktop_DATA)'; test -n "$(desktopdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-dist_desktopDATA: @$(NORMAL_UNINSTALL) @list='$(dist_desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(desktopdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(desktopdir)" && rm -f $$files install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) test -z "$(icondir)" || $(MKDIR_P) "$(DESTDIR)$(icondir)" @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(icondir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(icondir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dist_desktopDATA install-iconDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_desktopDATA uninstall-iconDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-data-hook install-dist_desktopDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-iconDATA 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-generic pdf pdf-am ps ps-am uninstall \ uninstall-am uninstall-dist_desktopDATA uninstall-hook \ uninstall-iconDATA @INTLTOOL_DESKTOP_RULE@ install-data-hook: update-icon-cache uninstall-hook: update-icon-cache update-icon-cache: @-if test -z "$(DESTDIR)"; then \ echo "Updating Gtk icon cache."; \ $(gtk_update_icon_cache); \ else \ echo "*** Icon cache not updated. After (un)install, run this:"; \ echo "*** $(gtk_update_icon_cache)"; \ fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gmult-8.0/gmult/GtkMult.vala0000644000175000017500000004010111551310352015443 0ustar udienzudienz/* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2004-2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ using GLib; public class GtkMult : Gtk.Window { public static int dpi; public MultPuzzle puzzle { get; private set; } public bool cheated { get; private set; } public Gtk.Statusbar status { get; private set; } public static const double ASPECT = 8.0/6.0; public void clear_guess_feedback () { if (status_timeout_id != 0) Source.remove (status_timeout_id); pop_guess_feedback (); } construct { vbox = new Gtk.VBox (false, 0); status = null; score = new Gtk.Label (""); canvas = null; status_timeout_id = 0; solve_action = null; hint_action = null; timer = new Timer(); timer_label = new Gtk.Label(""); timer_timeout_id = 0; // Convert pixel space to desired point size Value dpiValue = Value (typeof (int)); get_screen ().get_setting ("gtk-xft-dpi", dpiValue); this.dpi = dpiValue.get_int () / Pango.SCALE; var height = 4*dpi; set_default_size((int)(height*ASPECT), height); Gtk.VBox vb = new Gtk.VBox (false, 0); status_box = new Gtk.HBox (false, 0); vb.pack_start (setup_menu (), false, false, 0); vb.pack_start (vbox, true, true, 0); vb.pack_start (status_box, false, false, 0); var eb = new Gtk.EventBox(); eb.add(score); eb.set_border_width(5); status_box.pack_start(eb, false, false, 0); eb = new Gtk.EventBox(); eb.add(timer_label); eb.set_border_width(5); status_box.pack_start(eb, false, false, 0); add (vb); add_events (Gdk.EventMask.KEY_PRESS_MASK); key_press_event.connect(handle_key_press); set_title (_("Multiplication Puzzle")); new_puzzle (); destroy.connect(Gtk.main_quit); } static unichar a_char = _("A").get_char().toupper(); static unichar b_char = _("B").get_char().toupper(); static unichar c_char = _("C").get_char().toupper(); static unichar d_char = _("D").get_char().toupper(); static unichar e_char = _("E").get_char().toupper(); static unichar f_char = _("F").get_char().toupper(); static unichar g_char = _("G").get_char().toupper(); static unichar h_char = _("H").get_char().toupper(); static unichar i_char = _("I").get_char().toupper(); static unichar j_char = _("J").get_char().toupper(); static unichar 0_char = _("0").get_char().toupper(); static unichar 1_char = _("1").get_char().toupper(); static unichar 2_char = _("2").get_char().toupper(); static unichar 3_char = _("3").get_char().toupper(); static unichar 4_char = _("4").get_char().toupper(); static unichar 5_char = _("5").get_char().toupper(); static unichar 6_char = _("6").get_char().toupper(); static unichar 7_char = _("7").get_char().toupper(); static unichar 8_char = _("8").get_char().toupper(); static unichar 9_char = _("9").get_char().toupper(); private bool handle_key_press (Gdk.EventKey event) { // Don't recognize any keys if ctrl or alt are pressed. var state = (event.state & Gtk.accelerator_get_default_mod_mask()); state = state & (~0x03); // ignores shift and caps lock if (state != 0) return false; char ch; unichar ev_char = Gdk.keyval_to_unicode(Gdk.keyval_to_upper(event.keyval)); if (ev_char == a_char) ch = 'A'; else if (ev_char == b_char) ch = 'B'; else if (ev_char == c_char) ch = 'C'; else if (ev_char == d_char) ch = 'D'; else if (ev_char == e_char) ch = 'E'; else if (ev_char == f_char) ch = 'F'; else if (ev_char == g_char) ch = 'G'; else if (ev_char == h_char) ch = 'H'; else if (ev_char == i_char) ch = 'I'; else if (ev_char == j_char) ch = 'J'; else if (ev_char == 0_char) ch = '0'; else if (ev_char == 1_char) ch = '1'; else if (ev_char == 2_char) ch = '2'; else if (ev_char == 3_char) ch = '3'; else if (ev_char == 4_char) ch = '4'; else if (ev_char == 5_char) ch = '5'; else if (ev_char == 6_char) ch = '6'; else if (ev_char == 7_char) ch = '7'; else if (ev_char == 8_char) ch = '8'; else if (ev_char == 9_char) ch = '9'; else if (event.keyval == 65307) { // escape; vala needs keysyms this.canvas.clear_mode(); return true; } else return false; this.canvas.start_choice(ch); return true; } Gtk.Action solve_action; Gtk.Action hint_action; private Gtk.Widget setup_menu () { var action_group = new Gtk.ActionGroup ("gmult-actions"); var action = new Gtk.Action ("GameMenuAction", _("_Game"), null, null); action_group.add_action (action); action = new Gtk.Action ("NewAction", null, null, Gtk.Stock.NEW); action.activate.connect(on_menu_game_new); action_group.add_action_with_accel (action, "N"); action = new Gtk.Action ("HintAction", _("_Hint"), null, null); action.activate.connect(on_menu_game_hint); action_group.add_action_with_accel (action, "H"); this.hint_action = action; action = new Gtk.Action ("SolveAction", _("_Solve"), null, null); action.activate.connect(on_menu_game_solve); action_group.add_action (action); this.solve_action = action; action = new Gtk.Action ("CloseAction", null, null, Gtk.Stock.CLOSE); action.activate.connect(on_menu_game_close); action_group.add_action_with_accel (action, "W"); action = new Gtk.Action ("HelpMenuAction", _("_Help"), null, null); action_group.add_action (action); action = new Gtk.Action ("AboutAction", null, null, Gtk.Stock.ABOUT); action.activate.connect(on_menu_help_about); action_group.add_action (action); var ui = """ """; var manager = new Gtk.UIManager (); try { manager.add_ui_from_string (ui, -1); } catch (Error e) { error ("Internal error: bad ui string.\n"); } manager.insert_action_group (action_group, 0); add_accel_group (manager.get_accel_group ()); var menu_item = manager.get_widget ("/ui/menubar/GameMenu/New") as Gtk.MenuItem; menu_item.select.connect(on_menu_select_new); menu_item.deselect.connect(on_menu_deselect); menu_item = manager.get_widget ("/ui/menubar/GameMenu/Hint") as Gtk.MenuItem; menu_item.select.connect(on_menu_select_hint); menu_item.deselect.connect(on_menu_deselect); menu_item = manager.get_widget ("/ui/menubar/GameMenu/Solve") as Gtk.MenuItem; menu_item.select.connect(on_menu_select_solve); menu_item.deselect.connect(on_menu_deselect); menu_item = manager.get_widget ("/ui/menubar/GameMenu/Close") as Gtk.MenuItem; menu_item.select.connect(on_menu_select_close); menu_item.deselect.connect(on_menu_deselect); menu_item = manager.get_widget ("/ui/menubar/HelpMenu/About") as Gtk.MenuItem; menu_item.select.connect(on_menu_select_about); menu_item.deselect.connect(on_menu_deselect); return manager.get_widget ("/ui/menubar"); } private Canvas canvas; private Gtk.VBox vbox; private Timer timer; private Gtk.Label timer_label; private Gtk.Label score; private Gtk.HBox status_box; private uint status_timeout_id; private uint timer_timeout_id; private void new_puzzle () { if (canvas != null) vbox.remove (canvas); if (status != null) status_box.remove (status); // easiest way to reset the statusbar status = new Gtk.Statusbar (); status_box.pack_start (status, true, true, 0); status_box.reorder_child (status, 0); puzzle = new MultPuzzle (3, 2); canvas = new Canvas (this); vbox.pack_start (canvas, true, true, 0); Gdk.Geometry geom = Gdk.Geometry(); geom.min_aspect = ASPECT; geom.max_aspect = ASPECT; set_geometry_hints(canvas, geom, Gdk.WindowHints.ASPECT); timer.reset(); update_timer(); if (timer_timeout_id != 0) Source.remove(timer_timeout_id); timer_timeout_id = Timeout.add_seconds (1, update_timer); cheated = false; show_all (); update_score (); on_puzzle_change(puzzle); if (status_timeout_id != 0) Source.remove (status_timeout_id); status_timeout_id = 0; puzzle.guessed.connect(on_puzzle_guess); puzzle.changed.connect(on_puzzle_change); } private void on_puzzle_guess (MultPuzzle p, int digit, MultPuzzleChar letter, MultPuzzleGuessStatus response) { update_score (); var context_id = status.get_context_id ("guess-feedback"); clear_guess_feedback (); if (puzzle.is_done) { status.push (context_id, _("Congratulations!")); } else { string message_pattern = null; switch (response) { case MultPuzzleGuessStatus.WRONG: // Translators: First argument is letter, second is digit message_pattern = _("Incorrect — %1$s is not %2$s"); break; case MultPuzzleGuessStatus.CORRECT: // Translators: First argument is letter, second is digit message_pattern = _("Correct — %1$s is %2$s"); break; default: case MultPuzzleGuessStatus.KNOWN: case MultPuzzleGuessStatus.INVALID: // shouldn't happen break; } if (message_pattern != null) { var letter_str = "%c".printf ((char)letter); var digit_str = "%i".printf (digit); status.push (context_id, message_pattern.printf (_(letter_str), _(digit_str))); status_timeout_id = Timeout.add_seconds (5, pop_guess_feedback); } } } private void on_puzzle_change (MultPuzzle p) { solve_action.set_sensitive (!p.is_done); hint_action.set_sensitive (!p.is_done); } private bool pop_guess_feedback () { var context_id = status.get_context_id ("guess-feedback"); status.pop (context_id); status_timeout_id = 0; return false; } private void update_score () { var wrong = puzzle.wrong_guesses; var text = "%s: %i%s".printf (_("Incorrect Guesses"), wrong, cheated ? "*" : ""); score.set_text (text); } private bool update_timer() { if (puzzle.is_done) return false; var secs = (uint)timer.elapsed(null); var text = "%s: %02u:%02u:%02u".printf(_("Time"), secs/60/60, secs/60%60, secs%60); timer_label.set_text(text); return true; } private void on_menu_deselect () { var context_id = status.get_context_id ("menu-hover"); status.pop (context_id); } private void on_menu_game_close () { destroy (); } private void on_menu_select_close () { var context_id = status.get_context_id ("menu-hover"); clear_guess_feedback (); status.push (context_id, _("Close Multiplication Puzzle")); } private void on_menu_game_new () { new_puzzle (); } private void on_menu_select_new () { var context_id = status.get_context_id ("menu-hover"); clear_guess_feedback (); status.push (context_id, _("Start a new game")); } private void on_menu_game_solve () { cheated = true; puzzle.solve (); var context_id = status.get_context_id ("guess-feedback"); clear_guess_feedback (); status.push (context_id, _("Puzzle solved")); update_score (); } private void on_menu_select_solve () { var context_id = status.get_context_id ("menu-hover"); clear_guess_feedback (); status.push (context_id, _("Solve this game")); } private void on_menu_game_hint() { cheated = true; // Pick a random unknown digit. Keep trying until we actually solve one // (because the digit may not have been in the puzzle -- we want to be // more useful than that. var character = MultPuzzleChar.INVALID; var digit = 0; var needed = this.puzzle.get_needed_digits(); var num_needed = 0; foreach (bool n in needed) num_needed += n ? 1 : 0; if (num_needed == 0) // shouldn't happen return; var choice = Random.int_range(0, num_needed); for (int i = 0; i < 10; ++i) { if (needed[i] && choice == 0) { character = this.puzzle.solve_digit(i); digit = i; break; } else if (needed[i]) --choice; } var context_id = status.get_context_id ("guess-feedback"); clear_guess_feedback (); // Translators: First argument is letter, second is digit var message_pattern = _("%1$s is %2$s"); var letter_str = "%c".printf ((char)character); var digit_str = "%i".printf (digit); status.push (context_id, message_pattern.printf (_(letter_str), _(digit_str))); status_timeout_id = Timeout.add_seconds (5, pop_guess_feedback); update_score (); } private void on_menu_select_hint () { var context_id = status.get_context_id ("menu-hover"); clear_guess_feedback (); status.push (context_id, _("Reveal a digit at random")); } // These need to be class-wide to prevent an odd compiler syntax error. private const string[] authors = {"Michael Terry ", null}; private const string[] artists = {"Eugenia Loli-Queru ", "Michael Terry ", null}; private Gtk.AboutDialog about { get; set; default = null; } private void on_menu_help_about () { if (about != null) { about.present (); return; } about = new Gtk.AboutDialog (); about.title = _("About Multiplication Puzzle"); about.authors = authors; about.artists = artists; about.translator_credits = _("translator-credits"); about.logo_icon_name = Config.PACKAGE; about.version = Config.VERSION; about.copyright = "© 2003—2011 Michael Terry"; about.website = "https://launchpad.net/gmult"; about.license_type = Gtk.License.GPL_3_0; about.set_transient_for (this); about.response.connect((dlg, resp) => {dlg.destroy (); about = null;}); about.show (); } private void on_menu_select_about () { var context_id = status.get_context_id ("menu-hover"); clear_guess_feedback (); status.push (context_id, _("About Multiplication Puzzle")); } public static int main(string[] args) { GLib.Intl.textdomain (Config.GETTEXT_PACKAGE); GLib.Intl.bindtextdomain (Config.GETTEXT_PACKAGE, Config.LOCALE_DIR); GLib.Intl.bind_textdomain_codeset (Config.GETTEXT_PACKAGE, "UTF-8"); OptionContext context = new OptionContext (""); context.add_group (Gtk.get_option_group (false)); // allow console use try { context.parse (ref args); } catch (Error e) { printerr ("%s\n\n%s", e.message, context.get_help (true, null)); return 1; } Gtk.init (ref args); // to open display ('cause we passed false above) GLib.Environment.set_application_name (_("Multiplication Puzzle")); Gtk.IconTheme.get_default ().append_search_path (Config.THEME_DIR); Gtk.Window.set_default_icon_name (Config.PACKAGE); var window = new GtkMult (); window.show_all(); Gtk.main (); return 0; } } gmult-8.0/gmult/GtkMult.c0000644000175000017500000015256311551310360014761 0ustar udienzudienz/* GtkMult.c generated by valac 0.12.0, the Vala compiler * generated from GtkMult.vala, do not modify */ /* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2004-2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #include #define TYPE_GTK_MULT (gtk_mult_get_type ()) #define GTK_MULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GTK_MULT, GtkMult)) #define GTK_MULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GTK_MULT, GtkMultClass)) #define IS_GTK_MULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GTK_MULT)) #define IS_GTK_MULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GTK_MULT)) #define GTK_MULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GTK_MULT, GtkMultClass)) typedef struct _GtkMult GtkMult; typedef struct _GtkMultClass GtkMultClass; typedef struct _GtkMultPrivate GtkMultPrivate; #define TYPE_MULT_PUZZLE (mult_puzzle_get_type ()) #define MULT_PUZZLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULT_PUZZLE, MultPuzzle)) #define MULT_PUZZLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULT_PUZZLE, MultPuzzleClass)) #define IS_MULT_PUZZLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULT_PUZZLE)) #define IS_MULT_PUZZLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULT_PUZZLE)) #define MULT_PUZZLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULT_PUZZLE, MultPuzzleClass)) typedef struct _MultPuzzle MultPuzzle; typedef struct _MultPuzzleClass MultPuzzleClass; #define TYPE_CANVAS (canvas_get_type ()) #define CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CANVAS, Canvas)) #define CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CANVAS, CanvasClass)) #define IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CANVAS)) #define IS_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CANVAS)) #define CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CANVAS, CanvasClass)) typedef struct _Canvas Canvas; typedef struct _CanvasClass CanvasClass; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define TYPE_MULT_PUZZLE_CHAR (mult_puzzle_char_get_type ()) #define TYPE_MULT_PUZZLE_GUESS_STATUS (mult_puzzle_guess_status_get_type ()) #define _g_option_context_free0(var) ((var == NULL) ? NULL : (var = (g_option_context_free (var), NULL))) struct _GtkMult { GtkWindow parent_instance; GtkMultPrivate * priv; }; struct _GtkMultClass { GtkWindowClass parent_class; }; struct _GtkMultPrivate { MultPuzzle* _puzzle; gboolean _cheated; GtkStatusbar* _status; GtkAction* solve_action; GtkAction* hint_action; Canvas* canvas; GtkVBox* vbox; GTimer* timer; GtkLabel* timer_label; GtkLabel* score; GtkHBox* status_box; guint status_timeout_id; guint timer_timeout_id; GtkAboutDialog* _about; }; typedef enum { MULT_PUZZLE_CHAR_A = 65, MULT_PUZZLE_CHAR_B, MULT_PUZZLE_CHAR_C, MULT_PUZZLE_CHAR_D, MULT_PUZZLE_CHAR_E, MULT_PUZZLE_CHAR_F, MULT_PUZZLE_CHAR_G, MULT_PUZZLE_CHAR_H, MULT_PUZZLE_CHAR_I, MULT_PUZZLE_CHAR_J, MULT_PUZZLE_CHAR_INVALID } MultPuzzleChar; typedef enum { MULT_PUZZLE_GUESS_STATUS_WRONG, MULT_PUZZLE_GUESS_STATUS_CORRECT, MULT_PUZZLE_GUESS_STATUS_KNOWN, MULT_PUZZLE_GUESS_STATUS_INVALID } MultPuzzleGuessStatus; static gpointer gtk_mult_parent_class = NULL; extern gint gtk_mult_dpi; gint gtk_mult_dpi = 0; static gunichar gtk_mult_a_char; static gunichar gtk_mult_a_char = 0U; static gunichar gtk_mult_b_char; static gunichar gtk_mult_b_char = 0U; static gunichar gtk_mult_c_char; static gunichar gtk_mult_c_char = 0U; static gunichar gtk_mult_d_char; static gunichar gtk_mult_d_char = 0U; static gunichar gtk_mult_e_char; static gunichar gtk_mult_e_char = 0U; static gunichar gtk_mult_f_char; static gunichar gtk_mult_f_char = 0U; static gunichar gtk_mult_g_char; static gunichar gtk_mult_g_char = 0U; static gunichar gtk_mult_h_char; static gunichar gtk_mult_h_char = 0U; static gunichar gtk_mult_i_char; static gunichar gtk_mult_i_char = 0U; static gunichar gtk_mult_j_char; static gunichar gtk_mult_j_char = 0U; static gunichar gtk_mult_0_char; static gunichar gtk_mult_0_char = 0U; static gunichar gtk_mult_1_char; static gunichar gtk_mult_1_char = 0U; static gunichar gtk_mult_2_char; static gunichar gtk_mult_2_char = 0U; static gunichar gtk_mult_3_char; static gunichar gtk_mult_3_char = 0U; static gunichar gtk_mult_4_char; static gunichar gtk_mult_4_char = 0U; static gunichar gtk_mult_5_char; static gunichar gtk_mult_5_char = 0U; static gunichar gtk_mult_6_char; static gunichar gtk_mult_6_char = 0U; static gunichar gtk_mult_7_char; static gunichar gtk_mult_7_char = 0U; static gunichar gtk_mult_8_char; static gunichar gtk_mult_8_char = 0U; static gunichar gtk_mult_9_char; static gunichar gtk_mult_9_char = 0U; GType gtk_mult_get_type (void) G_GNUC_CONST; GType mult_puzzle_get_type (void) G_GNUC_CONST; GType canvas_get_type (void) G_GNUC_CONST; #define GTK_MULT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_GTK_MULT, GtkMultPrivate)) enum { GTK_MULT_DUMMY_PROPERTY, GTK_MULT_PUZZLE, GTK_MULT_CHEATED, GTK_MULT_STATUS }; #define GTK_MULT_ASPECT (8.0 / 6.0) void gtk_mult_clear_guess_feedback (GtkMult* self); static gboolean gtk_mult_pop_guess_feedback (GtkMult* self); static gboolean gtk_mult_handle_key_press (GtkMult* self, GdkEventKey* event); void canvas_clear_mode (Canvas* self); void canvas_start_choice (Canvas* self, gchar ch); static GtkWidget* gtk_mult_setup_menu (GtkMult* self); static void gtk_mult_on_menu_game_new (GtkMult* self); static void _gtk_mult_on_menu_game_new_gtk_action_activate (GtkAction* _sender, gpointer self); static void gtk_mult_on_menu_game_hint (GtkMult* self); static void _gtk_mult_on_menu_game_hint_gtk_action_activate (GtkAction* _sender, gpointer self); static void gtk_mult_on_menu_game_solve (GtkMult* self); static void _gtk_mult_on_menu_game_solve_gtk_action_activate (GtkAction* _sender, gpointer self); static void gtk_mult_on_menu_game_close (GtkMult* self); static void _gtk_mult_on_menu_game_close_gtk_action_activate (GtkAction* _sender, gpointer self); static void gtk_mult_on_menu_help_about (GtkMult* self); static void _gtk_mult_on_menu_help_about_gtk_action_activate (GtkAction* _sender, gpointer self); static void gtk_mult_on_menu_select_new (GtkMult* self); static void _gtk_mult_on_menu_select_new_gtk_menu_item_select (GtkMenuItem* _sender, gpointer self); static void gtk_mult_on_menu_deselect (GtkMult* self); static void _gtk_mult_on_menu_deselect_gtk_menu_item_deselect (GtkMenuItem* _sender, gpointer self); static void gtk_mult_on_menu_select_hint (GtkMult* self); static void _gtk_mult_on_menu_select_hint_gtk_menu_item_select (GtkMenuItem* _sender, gpointer self); static void gtk_mult_on_menu_select_solve (GtkMult* self); static void _gtk_mult_on_menu_select_solve_gtk_menu_item_select (GtkMenuItem* _sender, gpointer self); static void gtk_mult_on_menu_select_close (GtkMult* self); static void _gtk_mult_on_menu_select_close_gtk_menu_item_select (GtkMenuItem* _sender, gpointer self); static void gtk_mult_on_menu_select_about (GtkMult* self); static void _gtk_mult_on_menu_select_about_gtk_menu_item_select (GtkMenuItem* _sender, gpointer self); static void gtk_mult_new_puzzle (GtkMult* self); GtkStatusbar* gtk_mult_get_status (GtkMult* self); static void gtk_mult_set_status (GtkMult* self, GtkStatusbar* value); MultPuzzle* mult_puzzle_new (gint num_x, gint num_y); MultPuzzle* mult_puzzle_construct (GType object_type, gint num_x, gint num_y); static void gtk_mult_set_puzzle (GtkMult* self, MultPuzzle* value); Canvas* canvas_new (GtkMult* mult); Canvas* canvas_construct (GType object_type, GtkMult* mult); static gboolean gtk_mult_update_timer (GtkMult* self); static gboolean _gtk_mult_update_timer_gsource_func (gpointer self); static void gtk_mult_set_cheated (GtkMult* self, gboolean value); static void gtk_mult_update_score (GtkMult* self); static void gtk_mult_on_puzzle_change (GtkMult* self, MultPuzzle* p); MultPuzzle* gtk_mult_get_puzzle (GtkMult* self); GType mult_puzzle_char_get_type (void) G_GNUC_CONST; GType mult_puzzle_guess_status_get_type (void) G_GNUC_CONST; static void gtk_mult_on_puzzle_guess (GtkMult* self, MultPuzzle* p, gint digit, MultPuzzleChar letter, MultPuzzleGuessStatus response); static void _gtk_mult_on_puzzle_guess_mult_puzzle_guessed (MultPuzzle* _sender, gint digit, MultPuzzleChar letter, MultPuzzleGuessStatus status, gpointer self); static void _gtk_mult_on_puzzle_change_mult_puzzle_changed (MultPuzzle* _sender, gpointer self); gboolean mult_puzzle_get_is_done (MultPuzzle* self); static gboolean _gtk_mult_pop_guess_feedback_gsource_func (gpointer self); gint mult_puzzle_get_wrong_guesses (MultPuzzle* self); gboolean gtk_mult_get_cheated (GtkMult* self); void mult_puzzle_solve (MultPuzzle* self); gboolean* mult_puzzle_get_needed_digits (MultPuzzle* self, int* result_length1); MultPuzzleChar mult_puzzle_solve_digit (MultPuzzle* self, gint digit); static GtkAboutDialog* gtk_mult_get_about (GtkMult* self); static void gtk_mult_set_about (GtkMult* self, GtkAboutDialog* value); static void _lambda0_ (GtkDialog* dlg, gint resp, GtkMult* self); static void __lambda0__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self); gint gtk_mult_main (gchar** args, int args_length1); GtkMult* gtk_mult_new (void); GtkMult* gtk_mult_construct (GType object_type); static GObject * gtk_mult_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); static gboolean _gtk_mult_handle_key_press_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self); static void _gtk_main_quit_gtk_widget_destroy (GtkWidget* _sender, gpointer self); static void gtk_mult_finalize (GObject* obj); static void _vala_gtk_mult_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_gtk_mult_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); static const gchar* GTK_MULT_authors[2] = {"Michael Terry ", NULL}; static const gchar* GTK_MULT_artists[3] = {"Eugenia Loli-Queru ", "Michael Terry ", NULL}; static gunichar string_get_char (const gchar* self, glong index) { gunichar result = 0U; gunichar _tmp0_; g_return_val_if_fail (self != NULL, 0U); _tmp0_ = g_utf8_get_char (((gchar*) self) + index); result = _tmp0_; return result; } void gtk_mult_clear_guess_feedback (GtkMult* self) { g_return_if_fail (self != NULL); if (self->priv->status_timeout_id != 0) { g_source_remove (self->priv->status_timeout_id); } gtk_mult_pop_guess_feedback (self); } static gboolean gtk_mult_handle_key_press (GtkMult* self, GdkEventKey* event) { gboolean result = FALSE; GdkModifierType _tmp0_; GdkModifierType state; gchar ch = '\0'; guint _tmp1_; guint32 _tmp2_; gunichar ev_char; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = gtk_accelerator_get_default_mod_mask (); state = (*event).state & _tmp0_; state = state & (~0x03); if (state != 0) { result = FALSE; return result; } _tmp1_ = gdk_keyval_to_upper ((*event).keyval); _tmp2_ = gdk_keyval_to_unicode (_tmp1_); ev_char = (gunichar) _tmp2_; if (ev_char == gtk_mult_a_char) { ch = 'A'; } else { if (ev_char == gtk_mult_b_char) { ch = 'B'; } else { if (ev_char == gtk_mult_c_char) { ch = 'C'; } else { if (ev_char == gtk_mult_d_char) { ch = 'D'; } else { if (ev_char == gtk_mult_e_char) { ch = 'E'; } else { if (ev_char == gtk_mult_f_char) { ch = 'F'; } else { if (ev_char == gtk_mult_g_char) { ch = 'G'; } else { if (ev_char == gtk_mult_h_char) { ch = 'H'; } else { if (ev_char == gtk_mult_i_char) { ch = 'I'; } else { if (ev_char == gtk_mult_j_char) { ch = 'J'; } else { if (ev_char == gtk_mult_0_char) { ch = '0'; } else { if (ev_char == gtk_mult_1_char) { ch = '1'; } else { if (ev_char == gtk_mult_2_char) { ch = '2'; } else { if (ev_char == gtk_mult_3_char) { ch = '3'; } else { if (ev_char == gtk_mult_4_char) { ch = '4'; } else { if (ev_char == gtk_mult_5_char) { ch = '5'; } else { if (ev_char == gtk_mult_6_char) { ch = '6'; } else { if (ev_char == gtk_mult_7_char) { ch = '7'; } else { if (ev_char == gtk_mult_8_char) { ch = '8'; } else { if (ev_char == gtk_mult_9_char) { ch = '9'; } else { if ((*event).keyval == 65307) { canvas_clear_mode (self->priv->canvas); result = TRUE; return result; } else { result = FALSE; return result; } } } } } } } } } } } } } } } } } } } } } canvas_start_choice (self->priv->canvas, ch); result = TRUE; return result; } static void _gtk_mult_on_menu_game_new_gtk_action_activate (GtkAction* _sender, gpointer self) { gtk_mult_on_menu_game_new (self); } static void _gtk_mult_on_menu_game_hint_gtk_action_activate (GtkAction* _sender, gpointer self) { gtk_mult_on_menu_game_hint (self); } static gpointer _g_object_ref0 (gpointer self) { return self ? g_object_ref (self) : NULL; } static void _gtk_mult_on_menu_game_solve_gtk_action_activate (GtkAction* _sender, gpointer self) { gtk_mult_on_menu_game_solve (self); } static void _gtk_mult_on_menu_game_close_gtk_action_activate (GtkAction* _sender, gpointer self) { gtk_mult_on_menu_game_close (self); } static void _gtk_mult_on_menu_help_about_gtk_action_activate (GtkAction* _sender, gpointer self) { gtk_mult_on_menu_help_about (self); } static void _gtk_mult_on_menu_select_new_gtk_menu_item_select (GtkMenuItem* _sender, gpointer self) { gtk_mult_on_menu_select_new (self); } static void _gtk_mult_on_menu_deselect_gtk_menu_item_deselect (GtkMenuItem* _sender, gpointer self) { gtk_mult_on_menu_deselect (self); } static void _gtk_mult_on_menu_select_hint_gtk_menu_item_select (GtkMenuItem* _sender, gpointer self) { gtk_mult_on_menu_select_hint (self); } static void _gtk_mult_on_menu_select_solve_gtk_menu_item_select (GtkMenuItem* _sender, gpointer self) { gtk_mult_on_menu_select_solve (self); } static void _gtk_mult_on_menu_select_close_gtk_menu_item_select (GtkMenuItem* _sender, gpointer self) { gtk_mult_on_menu_select_close (self); } static void _gtk_mult_on_menu_select_about_gtk_menu_item_select (GtkMenuItem* _sender, gpointer self) { gtk_mult_on_menu_select_about (self); } static GtkWidget* gtk_mult_setup_menu (GtkMult* self) { GtkWidget* result = NULL; GtkActionGroup* _tmp0_ = NULL; GtkActionGroup* action_group; const gchar* _tmp1_ = NULL; GtkAction* _tmp2_ = NULL; GtkAction* action; GtkAction* _tmp3_ = NULL; const gchar* _tmp4_ = NULL; GtkAction* _tmp5_ = NULL; GtkAction* _tmp6_; const gchar* _tmp7_ = NULL; GtkAction* _tmp8_ = NULL; GtkAction* _tmp9_; GtkAction* _tmp10_ = NULL; const gchar* _tmp11_ = NULL; GtkAction* _tmp12_ = NULL; GtkAction* _tmp13_ = NULL; gchar* _tmp14_; gchar* ui; GtkUIManager* _tmp15_ = NULL; GtkUIManager* manager; GtkAccelGroup* _tmp16_ = NULL; GtkWidget* _tmp17_ = NULL; GtkWidget* _tmp18_; GtkMenuItem* _tmp19_; GtkMenuItem* menu_item; GtkWidget* _tmp20_ = NULL; GtkWidget* _tmp21_; GtkMenuItem* _tmp22_; GtkWidget* _tmp23_ = NULL; GtkWidget* _tmp24_; GtkMenuItem* _tmp25_; GtkWidget* _tmp26_ = NULL; GtkWidget* _tmp27_; GtkMenuItem* _tmp28_; GtkWidget* _tmp29_ = NULL; GtkWidget* _tmp30_; GtkMenuItem* _tmp31_; GtkWidget* _tmp32_ = NULL; GtkWidget* _tmp33_; GError * _inner_error_ = NULL; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = gtk_action_group_new ("gmult-actions"); action_group = _tmp0_; _tmp1_ = _ ("_Game"); _tmp2_ = gtk_action_new ("GameMenuAction", _tmp1_, NULL, NULL); action = _tmp2_; gtk_action_group_add_action (action_group, action); _tmp3_ = gtk_action_new ("NewAction", NULL, NULL, GTK_STOCK_NEW); _g_object_unref0 (action); action = _tmp3_; g_signal_connect_object (action, "activate", (GCallback) _gtk_mult_on_menu_game_new_gtk_action_activate, self, 0); gtk_action_group_add_action_with_accel (action_group, action, "N"); _tmp4_ = _ ("_Hint"); _tmp5_ = gtk_action_new ("HintAction", _tmp4_, NULL, NULL); _g_object_unref0 (action); action = _tmp5_; g_signal_connect_object (action, "activate", (GCallback) _gtk_mult_on_menu_game_hint_gtk_action_activate, self, 0); gtk_action_group_add_action_with_accel (action_group, action, "H"); _tmp6_ = _g_object_ref0 (action); _g_object_unref0 (self->priv->hint_action); self->priv->hint_action = _tmp6_; _tmp7_ = _ ("_Solve"); _tmp8_ = gtk_action_new ("SolveAction", _tmp7_, NULL, NULL); _g_object_unref0 (action); action = _tmp8_; g_signal_connect_object (action, "activate", (GCallback) _gtk_mult_on_menu_game_solve_gtk_action_activate, self, 0); gtk_action_group_add_action (action_group, action); _tmp9_ = _g_object_ref0 (action); _g_object_unref0 (self->priv->solve_action); self->priv->solve_action = _tmp9_; _tmp10_ = gtk_action_new ("CloseAction", NULL, NULL, GTK_STOCK_CLOSE); _g_object_unref0 (action); action = _tmp10_; g_signal_connect_object (action, "activate", (GCallback) _gtk_mult_on_menu_game_close_gtk_action_activate, self, 0); gtk_action_group_add_action_with_accel (action_group, action, "W"); _tmp11_ = _ ("_Help"); _tmp12_ = gtk_action_new ("HelpMenuAction", _tmp11_, NULL, NULL); _g_object_unref0 (action); action = _tmp12_; gtk_action_group_add_action (action_group, action); _tmp13_ = gtk_action_new ("AboutAction", NULL, NULL, GTK_STOCK_ABOUT); _g_object_unref0 (action); action = _tmp13_; g_signal_connect_object (action, "activate", (GCallback) _gtk_mult_on_menu_help_about_gtk_action_activate, self, 0); gtk_action_group_add_action (action_group, action); _tmp14_ = g_strdup ("\n" \ "\n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ ""); ui = _tmp14_; _tmp15_ = gtk_ui_manager_new (); manager = _tmp15_; gtk_ui_manager_add_ui_from_string (manager, ui, (gssize) (-1), &_inner_error_); if (_inner_error_ != NULL) { goto __catch0_g_error; } goto __finally0; __catch0_g_error: { GError * e; e = _inner_error_; _inner_error_ = NULL; g_error ("GtkMult.vala:206: Internal error: bad ui string.\n"); _g_error_free0 (e); } __finally0: if (_inner_error_ != NULL) { _g_object_unref0 (manager); _g_free0 (ui); _g_object_unref0 (action); _g_object_unref0 (action_group); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return NULL; } gtk_ui_manager_insert_action_group (manager, action_group, 0); _tmp16_ = gtk_ui_manager_get_accel_group (manager); gtk_window_add_accel_group ((GtkWindow*) self, _tmp16_); _tmp17_ = gtk_ui_manager_get_widget (manager, "/ui/menubar/GameMenu/New"); _tmp18_ = _tmp17_; _tmp19_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp18_) ? ((GtkMenuItem*) _tmp18_) : NULL); menu_item = _tmp19_; g_signal_connect_object (menu_item, "select", (GCallback) _gtk_mult_on_menu_select_new_gtk_menu_item_select, self, 0); g_signal_connect_object (menu_item, "deselect", (GCallback) _gtk_mult_on_menu_deselect_gtk_menu_item_deselect, self, 0); _tmp20_ = gtk_ui_manager_get_widget (manager, "/ui/menubar/GameMenu/Hint"); _tmp21_ = _tmp20_; _tmp22_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp21_) ? ((GtkMenuItem*) _tmp21_) : NULL); _g_object_unref0 (menu_item); menu_item = _tmp22_; g_signal_connect_object (menu_item, "select", (GCallback) _gtk_mult_on_menu_select_hint_gtk_menu_item_select, self, 0); g_signal_connect_object (menu_item, "deselect", (GCallback) _gtk_mult_on_menu_deselect_gtk_menu_item_deselect, self, 0); _tmp23_ = gtk_ui_manager_get_widget (manager, "/ui/menubar/GameMenu/Solve"); _tmp24_ = _tmp23_; _tmp25_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp24_) ? ((GtkMenuItem*) _tmp24_) : NULL); _g_object_unref0 (menu_item); menu_item = _tmp25_; g_signal_connect_object (menu_item, "select", (GCallback) _gtk_mult_on_menu_select_solve_gtk_menu_item_select, self, 0); g_signal_connect_object (menu_item, "deselect", (GCallback) _gtk_mult_on_menu_deselect_gtk_menu_item_deselect, self, 0); _tmp26_ = gtk_ui_manager_get_widget (manager, "/ui/menubar/GameMenu/Close"); _tmp27_ = _tmp26_; _tmp28_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp27_) ? ((GtkMenuItem*) _tmp27_) : NULL); _g_object_unref0 (menu_item); menu_item = _tmp28_; g_signal_connect_object (menu_item, "select", (GCallback) _gtk_mult_on_menu_select_close_gtk_menu_item_select, self, 0); g_signal_connect_object (menu_item, "deselect", (GCallback) _gtk_mult_on_menu_deselect_gtk_menu_item_deselect, self, 0); _tmp29_ = gtk_ui_manager_get_widget (manager, "/ui/menubar/HelpMenu/About"); _tmp30_ = _tmp29_; _tmp31_ = _g_object_ref0 (GTK_IS_MENU_ITEM (_tmp30_) ? ((GtkMenuItem*) _tmp30_) : NULL); _g_object_unref0 (menu_item); menu_item = _tmp31_; g_signal_connect_object (menu_item, "select", (GCallback) _gtk_mult_on_menu_select_about_gtk_menu_item_select, self, 0); g_signal_connect_object (menu_item, "deselect", (GCallback) _gtk_mult_on_menu_deselect_gtk_menu_item_deselect, self, 0); _tmp32_ = gtk_ui_manager_get_widget (manager, "/ui/menubar"); _tmp33_ = _g_object_ref0 (_tmp32_); result = _tmp33_; _g_object_unref0 (menu_item); _g_object_unref0 (manager); _g_free0 (ui); _g_object_unref0 (action); _g_object_unref0 (action_group); return result; } static gboolean _gtk_mult_update_timer_gsource_func (gpointer self) { gboolean result; result = gtk_mult_update_timer (self); return result; } static void _gtk_mult_on_puzzle_guess_mult_puzzle_guessed (MultPuzzle* _sender, gint digit, MultPuzzleChar letter, MultPuzzleGuessStatus status, gpointer self) { gtk_mult_on_puzzle_guess (self, _sender, digit, letter, status); } static void _gtk_mult_on_puzzle_change_mult_puzzle_changed (MultPuzzle* _sender, gpointer self) { gtk_mult_on_puzzle_change (self, _sender); } static void gtk_mult_new_puzzle (GtkMult* self) { GtkStatusbar* _tmp0_ = NULL; GtkStatusbar* _tmp1_; MultPuzzle* _tmp2_ = NULL; MultPuzzle* _tmp3_; Canvas* _tmp4_ = NULL; GdkGeometry geom = {0}; guint _tmp5_; g_return_if_fail (self != NULL); if (self->priv->canvas != NULL) { gtk_container_remove ((GtkContainer*) self->priv->vbox, (GtkWidget*) self->priv->canvas); } if (self->priv->_status != NULL) { gtk_container_remove ((GtkContainer*) self->priv->status_box, (GtkWidget*) self->priv->_status); } _tmp0_ = (GtkStatusbar*) gtk_statusbar_new (); _tmp1_ = g_object_ref_sink (_tmp0_); gtk_mult_set_status (self, _tmp1_); _g_object_unref0 (_tmp1_); gtk_box_pack_start ((GtkBox*) self->priv->status_box, (GtkWidget*) self->priv->_status, TRUE, TRUE, (guint) 0); gtk_box_reorder_child ((GtkBox*) self->priv->status_box, (GtkWidget*) self->priv->_status, 0); _tmp2_ = mult_puzzle_new (3, 2); _tmp3_ = _tmp2_; gtk_mult_set_puzzle (self, _tmp3_); _g_object_unref0 (_tmp3_); _tmp4_ = canvas_new (self); _g_object_unref0 (self->priv->canvas); self->priv->canvas = g_object_ref_sink (_tmp4_); gtk_box_pack_start ((GtkBox*) self->priv->vbox, (GtkWidget*) self->priv->canvas, TRUE, TRUE, (guint) 0); memset (&geom, 0, sizeof (GdkGeometry)); geom.min_aspect = GTK_MULT_ASPECT; geom.max_aspect = GTK_MULT_ASPECT; gtk_window_set_geometry_hints ((GtkWindow*) self, (GtkWidget*) self->priv->canvas, &geom, GDK_HINT_ASPECT); g_timer_reset (self->priv->timer); gtk_mult_update_timer (self); if (self->priv->timer_timeout_id != 0) { g_source_remove (self->priv->timer_timeout_id); } _tmp5_ = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) 1, _gtk_mult_update_timer_gsource_func, g_object_ref (self), g_object_unref); self->priv->timer_timeout_id = _tmp5_; gtk_mult_set_cheated (self, FALSE); gtk_widget_show_all ((GtkWidget*) self); gtk_mult_update_score (self); gtk_mult_on_puzzle_change (self, self->priv->_puzzle); if (self->priv->status_timeout_id != 0) { g_source_remove (self->priv->status_timeout_id); } self->priv->status_timeout_id = (guint) 0; g_signal_connect_object (self->priv->_puzzle, "guessed", (GCallback) _gtk_mult_on_puzzle_guess_mult_puzzle_guessed, self, 0); g_signal_connect_object (self->priv->_puzzle, "changed", (GCallback) _gtk_mult_on_puzzle_change_mult_puzzle_changed, self, 0); } static gboolean _gtk_mult_pop_guess_feedback_gsource_func (gpointer self) { gboolean result; result = gtk_mult_pop_guess_feedback (self); return result; } static void gtk_mult_on_puzzle_guess (GtkMult* self, MultPuzzle* p, gint digit, MultPuzzleChar letter, MultPuzzleGuessStatus response) { guint _tmp0_; guint context_id; gboolean _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (p != NULL); gtk_mult_update_score (self); _tmp0_ = gtk_statusbar_get_context_id (self->priv->_status, "guess-feedback"); context_id = _tmp0_; gtk_mult_clear_guess_feedback (self); _tmp1_ = mult_puzzle_get_is_done (self->priv->_puzzle); if (_tmp1_) { const gchar* _tmp2_ = NULL; _tmp2_ = _ ("Congratulations!"); gtk_statusbar_push (self->priv->_status, context_id, _tmp2_); } else { gchar* message_pattern; message_pattern = NULL; switch (response) { case MULT_PUZZLE_GUESS_STATUS_WRONG: { const gchar* _tmp3_ = NULL; gchar* _tmp4_; _tmp3_ = _ ("Incorrect — %1$s is not %2$s"); _tmp4_ = g_strdup (_tmp3_); _g_free0 (message_pattern); message_pattern = _tmp4_; break; } case MULT_PUZZLE_GUESS_STATUS_CORRECT: { const gchar* _tmp5_ = NULL; gchar* _tmp6_; _tmp5_ = _ ("Correct — %1$s is %2$s"); _tmp6_ = g_strdup (_tmp5_); _g_free0 (message_pattern); message_pattern = _tmp6_; break; } default: case MULT_PUZZLE_GUESS_STATUS_KNOWN: case MULT_PUZZLE_GUESS_STATUS_INVALID: { break; } } if (message_pattern != NULL) { gchar* _tmp7_ = NULL; gchar* letter_str; gchar* _tmp8_ = NULL; gchar* digit_str; const gchar* _tmp9_ = NULL; const gchar* _tmp10_ = NULL; gchar* _tmp11_ = NULL; gchar* _tmp12_; guint _tmp13_; _tmp7_ = g_strdup_printf ("%c", (gint) ((gchar) letter)); letter_str = _tmp7_; _tmp8_ = g_strdup_printf ("%i", digit); digit_str = _tmp8_; _tmp9_ = _ (letter_str); _tmp10_ = _ (digit_str); _tmp11_ = g_strdup_printf (message_pattern, _tmp9_, _tmp10_); _tmp12_ = _tmp11_; gtk_statusbar_push (self->priv->_status, context_id, _tmp12_); _g_free0 (_tmp12_); _tmp13_ = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) 5, _gtk_mult_pop_guess_feedback_gsource_func, g_object_ref (self), g_object_unref); self->priv->status_timeout_id = _tmp13_; _g_free0 (digit_str); _g_free0 (letter_str); } _g_free0 (message_pattern); } } static void gtk_mult_on_puzzle_change (GtkMult* self, MultPuzzle* p) { gboolean _tmp0_; gboolean _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (p != NULL); _tmp0_ = mult_puzzle_get_is_done (p); gtk_action_set_sensitive (self->priv->solve_action, !_tmp0_); _tmp1_ = mult_puzzle_get_is_done (p); gtk_action_set_sensitive (self->priv->hint_action, !_tmp1_); } static gboolean gtk_mult_pop_guess_feedback (GtkMult* self) { gboolean result = FALSE; guint _tmp0_; guint context_id; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = gtk_statusbar_get_context_id (self->priv->_status, "guess-feedback"); context_id = _tmp0_; gtk_statusbar_pop (self->priv->_status, context_id); self->priv->status_timeout_id = (guint) 0; result = FALSE; return result; } static void gtk_mult_update_score (GtkMult* self) { gint _tmp0_; gint wrong; const gchar* _tmp1_ = NULL; const gchar* _tmp2_ = NULL; gchar* _tmp3_ = NULL; gchar* text; g_return_if_fail (self != NULL); _tmp0_ = mult_puzzle_get_wrong_guesses (self->priv->_puzzle); wrong = _tmp0_; if (self->priv->_cheated) { _tmp1_ = "*"; } else { _tmp1_ = ""; } _tmp2_ = _ ("Incorrect Guesses"); _tmp3_ = g_strdup_printf ("%s: %i%s", _tmp2_, wrong, _tmp1_); text = _tmp3_; gtk_label_set_text (self->priv->score, text); _g_free0 (text); } static gboolean gtk_mult_update_timer (GtkMult* self) { gboolean result = FALSE; gboolean _tmp0_; gdouble _tmp1_; guint secs; const gchar* _tmp2_ = NULL; gchar* _tmp3_ = NULL; gchar* text; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = mult_puzzle_get_is_done (self->priv->_puzzle); if (_tmp0_) { result = FALSE; return result; } _tmp1_ = g_timer_elapsed (self->priv->timer, NULL); secs = (guint) _tmp1_; _tmp2_ = _ ("Time"); _tmp3_ = g_strdup_printf ("%s: %02u:%02u:%02u", _tmp2_, (secs / 60) / 60, (secs / 60) % 60, secs % 60); text = _tmp3_; gtk_label_set_text (self->priv->timer_label, text); result = TRUE; _g_free0 (text); return result; } static void gtk_mult_on_menu_deselect (GtkMult* self) { guint _tmp0_; guint context_id; g_return_if_fail (self != NULL); _tmp0_ = gtk_statusbar_get_context_id (self->priv->_status, "menu-hover"); context_id = _tmp0_; gtk_statusbar_pop (self->priv->_status, context_id); } static void gtk_mult_on_menu_game_close (GtkMult* self) { g_return_if_fail (self != NULL); gtk_widget_destroy ((GtkWidget*) self); } static void gtk_mult_on_menu_select_close (GtkMult* self) { guint _tmp0_; guint context_id; const gchar* _tmp1_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = gtk_statusbar_get_context_id (self->priv->_status, "menu-hover"); context_id = _tmp0_; gtk_mult_clear_guess_feedback (self); _tmp1_ = _ ("Close Multiplication Puzzle"); gtk_statusbar_push (self->priv->_status, context_id, _tmp1_); } static void gtk_mult_on_menu_game_new (GtkMult* self) { g_return_if_fail (self != NULL); gtk_mult_new_puzzle (self); } static void gtk_mult_on_menu_select_new (GtkMult* self) { guint _tmp0_; guint context_id; const gchar* _tmp1_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = gtk_statusbar_get_context_id (self->priv->_status, "menu-hover"); context_id = _tmp0_; gtk_mult_clear_guess_feedback (self); _tmp1_ = _ ("Start a new game"); gtk_statusbar_push (self->priv->_status, context_id, _tmp1_); } static void gtk_mult_on_menu_game_solve (GtkMult* self) { guint _tmp0_; guint context_id; const gchar* _tmp1_ = NULL; g_return_if_fail (self != NULL); gtk_mult_set_cheated (self, TRUE); mult_puzzle_solve (self->priv->_puzzle); _tmp0_ = gtk_statusbar_get_context_id (self->priv->_status, "guess-feedback"); context_id = _tmp0_; gtk_mult_clear_guess_feedback (self); _tmp1_ = _ ("Puzzle solved"); gtk_statusbar_push (self->priv->_status, context_id, _tmp1_); gtk_mult_update_score (self); } static void gtk_mult_on_menu_select_solve (GtkMult* self) { guint _tmp0_; guint context_id; const gchar* _tmp1_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = gtk_statusbar_get_context_id (self->priv->_status, "menu-hover"); context_id = _tmp0_; gtk_mult_clear_guess_feedback (self); _tmp1_ = _ ("Solve this game"); gtk_statusbar_push (self->priv->_status, context_id, _tmp1_); } static void gtk_mult_on_menu_game_hint (GtkMult* self) { MultPuzzleChar character; gint digit; gint _tmp0_; gboolean* _tmp1_ = NULL; gboolean* needed; gint needed_length1; gint _needed_size_; gint num_needed; gint32 _tmp3_; gint32 choice; guint _tmp7_; guint context_id; const gchar* _tmp8_ = NULL; gchar* _tmp9_; gchar* message_pattern; gchar* _tmp10_ = NULL; gchar* letter_str; gchar* _tmp11_ = NULL; gchar* digit_str; const gchar* _tmp12_ = NULL; const gchar* _tmp13_ = NULL; gchar* _tmp14_ = NULL; gchar* _tmp15_; guint _tmp16_; g_return_if_fail (self != NULL); gtk_mult_set_cheated (self, TRUE); character = MULT_PUZZLE_CHAR_INVALID; digit = 0; _tmp1_ = mult_puzzle_get_needed_digits (self->priv->_puzzle, &_tmp0_); needed = _tmp1_; needed_length1 = _tmp0_; _needed_size_ = _tmp0_; num_needed = 0; { gboolean* n_collection; int n_collection_length1; int n_it; n_collection = needed; n_collection_length1 = needed_length1; for (n_it = 0; n_it < needed_length1; n_it = n_it + 1) { gboolean n; n = n_collection[n_it]; { gint _tmp2_ = 0; if (n) { _tmp2_ = 1; } else { _tmp2_ = 0; } num_needed = num_needed + _tmp2_; } } } if (num_needed == 0) { needed = (g_free (needed), NULL); return; } _tmp3_ = g_random_int_range ((gint32) 0, (gint32) num_needed); choice = _tmp3_; { gint i; i = 0; { gboolean _tmp4_; _tmp4_ = TRUE; while (TRUE) { gboolean _tmp5_ = FALSE; if (!_tmp4_) { i = i + 1; } _tmp4_ = FALSE; if (!(i < 10)) { break; } if (needed[i]) { _tmp5_ = choice == 0; } else { _tmp5_ = FALSE; } if (_tmp5_) { MultPuzzleChar _tmp6_; _tmp6_ = mult_puzzle_solve_digit (self->priv->_puzzle, i); character = _tmp6_; digit = i; break; } else { if (needed[i]) { choice = choice - 1; } } } } } _tmp7_ = gtk_statusbar_get_context_id (self->priv->_status, "guess-feedback"); context_id = _tmp7_; gtk_mult_clear_guess_feedback (self); _tmp8_ = _ ("%1$s is %2$s"); _tmp9_ = g_strdup (_tmp8_); message_pattern = _tmp9_; _tmp10_ = g_strdup_printf ("%c", (gint) ((gchar) character)); letter_str = _tmp10_; _tmp11_ = g_strdup_printf ("%i", digit); digit_str = _tmp11_; _tmp12_ = _ (letter_str); _tmp13_ = _ (digit_str); _tmp14_ = g_strdup_printf (message_pattern, _tmp12_, _tmp13_); _tmp15_ = _tmp14_; gtk_statusbar_push (self->priv->_status, context_id, _tmp15_); _g_free0 (_tmp15_); _tmp16_ = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) 5, _gtk_mult_pop_guess_feedback_gsource_func, g_object_ref (self), g_object_unref); self->priv->status_timeout_id = _tmp16_; gtk_mult_update_score (self); _g_free0 (digit_str); _g_free0 (letter_str); _g_free0 (message_pattern); needed = (g_free (needed), NULL); } static void gtk_mult_on_menu_select_hint (GtkMult* self) { guint _tmp0_; guint context_id; const gchar* _tmp1_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = gtk_statusbar_get_context_id (self->priv->_status, "menu-hover"); context_id = _tmp0_; gtk_mult_clear_guess_feedback (self); _tmp1_ = _ ("Reveal a digit at random"); gtk_statusbar_push (self->priv->_status, context_id, _tmp1_); } static void _lambda0_ (GtkDialog* dlg, gint resp, GtkMult* self) { g_return_if_fail (dlg != NULL); gtk_widget_destroy ((GtkWidget*) dlg); gtk_mult_set_about (self, NULL); } static void __lambda0__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) { _lambda0_ (_sender, response_id, self); } static void gtk_mult_on_menu_help_about (GtkMult* self) { GtkAboutDialog* _tmp0_ = NULL; GtkAboutDialog* _tmp1_; const gchar* _tmp2_ = NULL; const gchar* _tmp3_ = NULL; g_return_if_fail (self != NULL); if (self->priv->_about != NULL) { gtk_window_present ((GtkWindow*) self->priv->_about); return; } _tmp0_ = (GtkAboutDialog*) gtk_about_dialog_new (); _tmp1_ = g_object_ref_sink (_tmp0_); gtk_mult_set_about (self, _tmp1_); _g_object_unref0 (_tmp1_); _tmp2_ = _ ("About Multiplication Puzzle"); gtk_window_set_title ((GtkWindow*) self->priv->_about, _tmp2_); gtk_about_dialog_set_authors (self->priv->_about, GTK_MULT_authors); gtk_about_dialog_set_artists (self->priv->_about, GTK_MULT_artists); _tmp3_ = _ ("translator-credits"); gtk_about_dialog_set_translator_credits (self->priv->_about, _tmp3_); gtk_about_dialog_set_logo_icon_name (self->priv->_about, PACKAGE); gtk_about_dialog_set_version (self->priv->_about, VERSION); gtk_about_dialog_set_copyright (self->priv->_about, "© 2003—2011 Michael Terry"); gtk_about_dialog_set_website (self->priv->_about, "https://launchpad.net/gmult"); gtk_about_dialog_set_license_type (self->priv->_about, GTK_LICENSE_GPL_3_0); gtk_window_set_transient_for ((GtkWindow*) self->priv->_about, (GtkWindow*) self); g_signal_connect_object ((GtkDialog*) self->priv->_about, "response", (GCallback) __lambda0__gtk_dialog_response, self, 0); gtk_widget_show ((GtkWidget*) self->priv->_about); } static void gtk_mult_on_menu_select_about (GtkMult* self) { guint _tmp0_; guint context_id; const gchar* _tmp1_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = gtk_statusbar_get_context_id (self->priv->_status, "menu-hover"); context_id = _tmp0_; gtk_mult_clear_guess_feedback (self); _tmp1_ = _ ("About Multiplication Puzzle"); gtk_statusbar_push (self->priv->_status, context_id, _tmp1_); } gint gtk_mult_main (gchar** args, int args_length1) { gint result = 0; GOptionContext* _tmp0_ = NULL; GOptionContext* context; GOptionGroup* _tmp1_ = NULL; const gchar* _tmp4_ = NULL; GtkIconTheme* _tmp5_ = NULL; GtkMult* _tmp6_ = NULL; GtkMult* window; GError * _inner_error_ = NULL; textdomain (GETTEXT_PACKAGE); bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); _tmp0_ = g_option_context_new (""); context = _tmp0_; _tmp1_ = gtk_get_option_group (FALSE); g_option_context_add_group (context, _tmp1_); g_option_context_parse (context, &args_length1, &args, &_inner_error_); if (_inner_error_ != NULL) { goto __catch1_g_error; } goto __finally1; __catch1_g_error: { GError * e; gchar* _tmp2_ = NULL; gchar* _tmp3_; e = _inner_error_; _inner_error_ = NULL; _tmp2_ = g_option_context_get_help (context, TRUE, NULL); _tmp3_ = _tmp2_; g_printerr ("%s\n\n%s", e->message, _tmp3_); _g_free0 (_tmp3_); result = 1; _g_error_free0 (e); _g_option_context_free0 (context); return result; } __finally1: if (_inner_error_ != NULL) { _g_option_context_free0 (context); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return 0; } gtk_init (&args_length1, &args); _tmp4_ = _ ("Multiplication Puzzle"); g_set_application_name (_tmp4_); _tmp5_ = gtk_icon_theme_get_default (); gtk_icon_theme_append_search_path (_tmp5_, THEME_DIR); gtk_window_set_default_icon_name (PACKAGE); _tmp6_ = gtk_mult_new (); window = g_object_ref_sink (_tmp6_); gtk_widget_show_all ((GtkWidget*) window); gtk_main (); result = 0; _g_object_unref0 (window); _g_option_context_free0 (context); return result; } int main (int argc, char ** argv) { g_type_init (); return gtk_mult_main (argv, argc); } GtkMult* gtk_mult_construct (GType object_type) { GtkMult * self = NULL; self = (GtkMult*) g_object_new (object_type, NULL); return self; } GtkMult* gtk_mult_new (void) { return gtk_mult_construct (TYPE_GTK_MULT); } MultPuzzle* gtk_mult_get_puzzle (GtkMult* self) { MultPuzzle* result; g_return_val_if_fail (self != NULL, NULL); result = self->priv->_puzzle; return result; } static void gtk_mult_set_puzzle (GtkMult* self, MultPuzzle* value) { MultPuzzle* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_puzzle); self->priv->_puzzle = _tmp0_; g_object_notify ((GObject *) self, "puzzle"); } gboolean gtk_mult_get_cheated (GtkMult* self) { gboolean result; g_return_val_if_fail (self != NULL, FALSE); result = self->priv->_cheated; return result; } static void gtk_mult_set_cheated (GtkMult* self, gboolean value) { g_return_if_fail (self != NULL); self->priv->_cheated = value; g_object_notify ((GObject *) self, "cheated"); } GtkStatusbar* gtk_mult_get_status (GtkMult* self) { GtkStatusbar* result; g_return_val_if_fail (self != NULL, NULL); result = self->priv->_status; return result; } static void gtk_mult_set_status (GtkMult* self, GtkStatusbar* value) { GtkStatusbar* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_status); self->priv->_status = _tmp0_; g_object_notify ((GObject *) self, "status"); } static GtkAboutDialog* gtk_mult_get_about (GtkMult* self) { GtkAboutDialog* result; g_return_val_if_fail (self != NULL, NULL); result = self->priv->_about; return result; } static void gtk_mult_set_about (GtkMult* self, GtkAboutDialog* value) { GtkAboutDialog* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_about); self->priv->_about = _tmp0_; } static gboolean _gtk_mult_handle_key_press_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) { gboolean result; result = gtk_mult_handle_key_press (self, event); return result; } static void _gtk_main_quit_gtk_widget_destroy (GtkWidget* _sender, gpointer self) { gtk_main_quit (); } static GObject * gtk_mult_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { GObject * obj; GObjectClass * parent_class; GtkMult * self; GtkVBox* _tmp0_ = NULL; GtkLabel* _tmp1_ = NULL; GTimer* _tmp2_ = NULL; GtkLabel* _tmp3_ = NULL; GValue dpiValue = {0}; GdkScreen* _tmp4_ = NULL; gint _tmp5_; gint height; GtkVBox* _tmp6_ = NULL; GtkVBox* vb; GtkHBox* _tmp7_ = NULL; GtkWidget* _tmp8_ = NULL; GtkWidget* _tmp9_; GtkEventBox* _tmp10_ = NULL; GtkEventBox* eb; GtkEventBox* _tmp11_ = NULL; const gchar* _tmp12_ = NULL; parent_class = G_OBJECT_CLASS (gtk_mult_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = GTK_MULT (obj); _tmp0_ = (GtkVBox*) gtk_vbox_new (FALSE, 0); _g_object_unref0 (self->priv->vbox); self->priv->vbox = g_object_ref_sink (_tmp0_); gtk_mult_set_status (self, NULL); _tmp1_ = (GtkLabel*) gtk_label_new (""); _g_object_unref0 (self->priv->score); self->priv->score = g_object_ref_sink (_tmp1_); _g_object_unref0 (self->priv->canvas); self->priv->canvas = NULL; self->priv->status_timeout_id = (guint) 0; _g_object_unref0 (self->priv->solve_action); self->priv->solve_action = NULL; _g_object_unref0 (self->priv->hint_action); self->priv->hint_action = NULL; _tmp2_ = g_timer_new (); _g_timer_destroy0 (self->priv->timer); self->priv->timer = _tmp2_; _tmp3_ = (GtkLabel*) gtk_label_new (""); _g_object_unref0 (self->priv->timer_label); self->priv->timer_label = g_object_ref_sink (_tmp3_); self->priv->timer_timeout_id = (guint) 0; g_value_init (&dpiValue, G_TYPE_INT); _tmp4_ = gtk_window_get_screen ((GtkWindow*) self); gdk_screen_get_setting (_tmp4_, "gtk-xft-dpi", &dpiValue); _tmp5_ = g_value_get_int (&dpiValue); gtk_mult_dpi = _tmp5_ / PANGO_SCALE; height = 4 * gtk_mult_dpi; gtk_window_set_default_size ((GtkWindow*) self, (gint) (height * GTK_MULT_ASPECT), height); _tmp6_ = (GtkVBox*) gtk_vbox_new (FALSE, 0); vb = g_object_ref_sink (_tmp6_); _tmp7_ = (GtkHBox*) gtk_hbox_new (FALSE, 0); _g_object_unref0 (self->priv->status_box); self->priv->status_box = g_object_ref_sink (_tmp7_); _tmp8_ = gtk_mult_setup_menu (self); _tmp9_ = _tmp8_; gtk_box_pack_start ((GtkBox*) vb, _tmp9_, FALSE, FALSE, (guint) 0); _g_object_unref0 (_tmp9_); gtk_box_pack_start ((GtkBox*) vb, (GtkWidget*) self->priv->vbox, TRUE, TRUE, (guint) 0); gtk_box_pack_start ((GtkBox*) vb, (GtkWidget*) self->priv->status_box, FALSE, FALSE, (guint) 0); _tmp10_ = (GtkEventBox*) gtk_event_box_new (); eb = g_object_ref_sink (_tmp10_); gtk_container_add ((GtkContainer*) eb, (GtkWidget*) self->priv->score); gtk_container_set_border_width ((GtkContainer*) eb, (guint) 5); gtk_box_pack_start ((GtkBox*) self->priv->status_box, (GtkWidget*) eb, FALSE, FALSE, (guint) 0); _tmp11_ = (GtkEventBox*) gtk_event_box_new (); _g_object_unref0 (eb); eb = g_object_ref_sink (_tmp11_); gtk_container_add ((GtkContainer*) eb, (GtkWidget*) self->priv->timer_label); gtk_container_set_border_width ((GtkContainer*) eb, (guint) 5); gtk_box_pack_start ((GtkBox*) self->priv->status_box, (GtkWidget*) eb, FALSE, FALSE, (guint) 0); gtk_container_add ((GtkContainer*) self, (GtkWidget*) vb); gtk_widget_add_events ((GtkWidget*) self, (gint) GDK_KEY_PRESS_MASK); g_signal_connect_object ((GtkWidget*) self, "key-press-event", (GCallback) _gtk_mult_handle_key_press_gtk_widget_key_press_event, self, 0); _tmp12_ = _ ("Multiplication Puzzle"); gtk_window_set_title ((GtkWindow*) self, _tmp12_); gtk_mult_new_puzzle (self); g_signal_connect ((GtkWidget*) self, "destroy", (GCallback) _gtk_main_quit_gtk_widget_destroy, NULL); _g_object_unref0 (eb); _g_object_unref0 (vb); G_IS_VALUE (&dpiValue) ? (g_value_unset (&dpiValue), NULL) : NULL; return obj; } static void gtk_mult_class_init (GtkMultClass * klass) { const gchar* _tmp0_ = NULL; gunichar _tmp1_; gunichar _tmp2_; const gchar* _tmp3_ = NULL; gunichar _tmp4_; gunichar _tmp5_; const gchar* _tmp6_ = NULL; gunichar _tmp7_; gunichar _tmp8_; const gchar* _tmp9_ = NULL; gunichar _tmp10_; gunichar _tmp11_; const gchar* _tmp12_ = NULL; gunichar _tmp13_; gunichar _tmp14_; const gchar* _tmp15_ = NULL; gunichar _tmp16_; gunichar _tmp17_; const gchar* _tmp18_ = NULL; gunichar _tmp19_; gunichar _tmp20_; const gchar* _tmp21_ = NULL; gunichar _tmp22_; gunichar _tmp23_; const gchar* _tmp24_ = NULL; gunichar _tmp25_; gunichar _tmp26_; const gchar* _tmp27_ = NULL; gunichar _tmp28_; gunichar _tmp29_; const gchar* _tmp30_ = NULL; gunichar _tmp31_; gunichar _tmp32_; const gchar* _tmp33_ = NULL; gunichar _tmp34_; gunichar _tmp35_; const gchar* _tmp36_ = NULL; gunichar _tmp37_; gunichar _tmp38_; const gchar* _tmp39_ = NULL; gunichar _tmp40_; gunichar _tmp41_; const gchar* _tmp42_ = NULL; gunichar _tmp43_; gunichar _tmp44_; const gchar* _tmp45_ = NULL; gunichar _tmp46_; gunichar _tmp47_; const gchar* _tmp48_ = NULL; gunichar _tmp49_; gunichar _tmp50_; const gchar* _tmp51_ = NULL; gunichar _tmp52_; gunichar _tmp53_; const gchar* _tmp54_ = NULL; gunichar _tmp55_; gunichar _tmp56_; const gchar* _tmp57_ = NULL; gunichar _tmp58_; gunichar _tmp59_; gtk_mult_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (GtkMultPrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_gtk_mult_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_gtk_mult_set_property; G_OBJECT_CLASS (klass)->constructor = gtk_mult_constructor; G_OBJECT_CLASS (klass)->finalize = gtk_mult_finalize; g_object_class_install_property (G_OBJECT_CLASS (klass), GTK_MULT_PUZZLE, g_param_spec_object ("puzzle", "puzzle", "puzzle", TYPE_MULT_PUZZLE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), GTK_MULT_CHEATED, g_param_spec_boolean ("cheated", "cheated", "cheated", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), GTK_MULT_STATUS, g_param_spec_object ("status", "status", "status", GTK_TYPE_STATUSBAR, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); _tmp0_ = _ ("A"); _tmp1_ = string_get_char (_tmp0_, (glong) 0); _tmp2_ = g_unichar_toupper (_tmp1_); gtk_mult_a_char = _tmp2_; _tmp3_ = _ ("B"); _tmp4_ = string_get_char (_tmp3_, (glong) 0); _tmp5_ = g_unichar_toupper (_tmp4_); gtk_mult_b_char = _tmp5_; _tmp6_ = _ ("C"); _tmp7_ = string_get_char (_tmp6_, (glong) 0); _tmp8_ = g_unichar_toupper (_tmp7_); gtk_mult_c_char = _tmp8_; _tmp9_ = _ ("D"); _tmp10_ = string_get_char (_tmp9_, (glong) 0); _tmp11_ = g_unichar_toupper (_tmp10_); gtk_mult_d_char = _tmp11_; _tmp12_ = _ ("E"); _tmp13_ = string_get_char (_tmp12_, (glong) 0); _tmp14_ = g_unichar_toupper (_tmp13_); gtk_mult_e_char = _tmp14_; _tmp15_ = _ ("F"); _tmp16_ = string_get_char (_tmp15_, (glong) 0); _tmp17_ = g_unichar_toupper (_tmp16_); gtk_mult_f_char = _tmp17_; _tmp18_ = _ ("G"); _tmp19_ = string_get_char (_tmp18_, (glong) 0); _tmp20_ = g_unichar_toupper (_tmp19_); gtk_mult_g_char = _tmp20_; _tmp21_ = _ ("H"); _tmp22_ = string_get_char (_tmp21_, (glong) 0); _tmp23_ = g_unichar_toupper (_tmp22_); gtk_mult_h_char = _tmp23_; _tmp24_ = _ ("I"); _tmp25_ = string_get_char (_tmp24_, (glong) 0); _tmp26_ = g_unichar_toupper (_tmp25_); gtk_mult_i_char = _tmp26_; _tmp27_ = _ ("J"); _tmp28_ = string_get_char (_tmp27_, (glong) 0); _tmp29_ = g_unichar_toupper (_tmp28_); gtk_mult_j_char = _tmp29_; _tmp30_ = _ ("0"); _tmp31_ = string_get_char (_tmp30_, (glong) 0); _tmp32_ = g_unichar_toupper (_tmp31_); gtk_mult_0_char = _tmp32_; _tmp33_ = _ ("1"); _tmp34_ = string_get_char (_tmp33_, (glong) 0); _tmp35_ = g_unichar_toupper (_tmp34_); gtk_mult_1_char = _tmp35_; _tmp36_ = _ ("2"); _tmp37_ = string_get_char (_tmp36_, (glong) 0); _tmp38_ = g_unichar_toupper (_tmp37_); gtk_mult_2_char = _tmp38_; _tmp39_ = _ ("3"); _tmp40_ = string_get_char (_tmp39_, (glong) 0); _tmp41_ = g_unichar_toupper (_tmp40_); gtk_mult_3_char = _tmp41_; _tmp42_ = _ ("4"); _tmp43_ = string_get_char (_tmp42_, (glong) 0); _tmp44_ = g_unichar_toupper (_tmp43_); gtk_mult_4_char = _tmp44_; _tmp45_ = _ ("5"); _tmp46_ = string_get_char (_tmp45_, (glong) 0); _tmp47_ = g_unichar_toupper (_tmp46_); gtk_mult_5_char = _tmp47_; _tmp48_ = _ ("6"); _tmp49_ = string_get_char (_tmp48_, (glong) 0); _tmp50_ = g_unichar_toupper (_tmp49_); gtk_mult_6_char = _tmp50_; _tmp51_ = _ ("7"); _tmp52_ = string_get_char (_tmp51_, (glong) 0); _tmp53_ = g_unichar_toupper (_tmp52_); gtk_mult_7_char = _tmp53_; _tmp54_ = _ ("8"); _tmp55_ = string_get_char (_tmp54_, (glong) 0); _tmp56_ = g_unichar_toupper (_tmp55_); gtk_mult_8_char = _tmp56_; _tmp57_ = _ ("9"); _tmp58_ = string_get_char (_tmp57_, (glong) 0); _tmp59_ = g_unichar_toupper (_tmp58_); gtk_mult_9_char = _tmp59_; } static void gtk_mult_instance_init (GtkMult * self) { self->priv = GTK_MULT_GET_PRIVATE (self); self->priv->_about = NULL; } static void gtk_mult_finalize (GObject* obj) { GtkMult * self; self = GTK_MULT (obj); _g_object_unref0 (self->priv->_puzzle); _g_object_unref0 (self->priv->_status); _g_object_unref0 (self->priv->solve_action); _g_object_unref0 (self->priv->hint_action); _g_object_unref0 (self->priv->canvas); _g_object_unref0 (self->priv->vbox); _g_timer_destroy0 (self->priv->timer); _g_object_unref0 (self->priv->timer_label); _g_object_unref0 (self->priv->score); _g_object_unref0 (self->priv->status_box); _g_object_unref0 (self->priv->_about); G_OBJECT_CLASS (gtk_mult_parent_class)->finalize (obj); } GType gtk_mult_get_type (void) { static volatile gsize gtk_mult_type_id__volatile = 0; if (g_once_init_enter (>k_mult_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (GtkMultClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gtk_mult_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GtkMult), 0, (GInstanceInitFunc) gtk_mult_instance_init, NULL }; GType gtk_mult_type_id; gtk_mult_type_id = g_type_register_static (GTK_TYPE_WINDOW, "GtkMult", &g_define_type_info, 0); g_once_init_leave (>k_mult_type_id__volatile, gtk_mult_type_id); } return gtk_mult_type_id__volatile; } static void _vala_gtk_mult_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { GtkMult * self; self = GTK_MULT (object); switch (property_id) { case GTK_MULT_PUZZLE: g_value_set_object (value, gtk_mult_get_puzzle (self)); break; case GTK_MULT_CHEATED: g_value_set_boolean (value, gtk_mult_get_cheated (self)); break; case GTK_MULT_STATUS: g_value_set_object (value, gtk_mult_get_status (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void _vala_gtk_mult_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { GtkMult * self; self = GTK_MULT (object); switch (property_id) { case GTK_MULT_PUZZLE: gtk_mult_set_puzzle (self, g_value_get_object (value)); break; case GTK_MULT_CHEATED: gtk_mult_set_cheated (self, g_value_get_boolean (value)); break; case GTK_MULT_STATUS: gtk_mult_set_status (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } gmult-8.0/gmult/Makefile.am0000644000175000017500000000131411551160257015255 0ustar udienzudienzbin_PROGRAMS = gmult gmult_CFLAGS = \ $(GTK_CFLAGS) \ -DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" gmult_LDADD = $(GTK_LIBS) @INTLLIBS@ gmult_VALASOURCES = \ Canvas.vala \ CharBox.vala \ DigitBox.vala \ GtkMult.vala \ MultPuzzle.vala \ TableBox.vala gmult_VALABUILTSOURCES = \ $(gmult_VALASOURCES:.vala=.c) gmult_SOURCES = \ $(gmult_VALABUILTSOURCES) if MAINTAINER_MODE VALA_CFLAGS = \ --vapidir $(top_srcdir)/vapi \ --pkg gtk+-3.0 \ --pkg gio-2.0 \ --pkg config BUILT_SOURCES = vala.stamp vala.stamp: $(gmult_VALASOURCES) $(AM_V_GEN)$(VALAC) -C $(VALA_CFLAGS) $^ @touch $@ endif EXTRA_DIST = $(gmult_VALASOURCES) if MAINTAINER_MODE CLEANFILES = $(BUILT_SOURCES) $(gmult_VALABUILTSOURCES) endif gmult-8.0/gmult/TableBox.c0000644000175000017500000004157611551170315015077 0ustar udienzudienz/* TableBox.c generated by valac 0.12.0, the Vala compiler * generated from TableBox.vala, do not modify */ /* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2004-2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ #include #include #include #include #include #include #define TYPE_CHAR_BOX (char_box_get_type ()) #define CHAR_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHAR_BOX, CharBox)) #define CHAR_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHAR_BOX, CharBoxClass)) #define IS_CHAR_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHAR_BOX)) #define IS_CHAR_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHAR_BOX)) #define CHAR_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHAR_BOX, CharBoxClass)) typedef struct _CharBox CharBox; typedef struct _CharBoxClass CharBoxClass; typedef struct _CharBoxPrivate CharBoxPrivate; #define TYPE_TABLE_BOX (table_box_get_type ()) #define TABLE_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TABLE_BOX, TableBox)) #define TABLE_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TABLE_BOX, TableBoxClass)) #define IS_TABLE_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TABLE_BOX)) #define IS_TABLE_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TABLE_BOX)) #define TABLE_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TABLE_BOX, TableBoxClass)) typedef struct _TableBox TableBox; typedef struct _TableBoxClass TableBoxClass; typedef struct _TableBoxPrivate TableBoxPrivate; #define TYPE_CANVAS (canvas_get_type ()) #define CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CANVAS, Canvas)) #define CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CANVAS, CanvasClass)) #define IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CANVAS)) #define IS_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CANVAS)) #define CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CANVAS, CanvasClass)) typedef struct _Canvas Canvas; typedef struct _CanvasClass CanvasClass; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define TYPE_MULT_PUZZLE (mult_puzzle_get_type ()) #define MULT_PUZZLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULT_PUZZLE, MultPuzzle)) #define MULT_PUZZLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULT_PUZZLE, MultPuzzleClass)) #define IS_MULT_PUZZLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULT_PUZZLE)) #define IS_MULT_PUZZLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULT_PUZZLE)) #define MULT_PUZZLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULT_PUZZLE, MultPuzzleClass)) typedef struct _MultPuzzle MultPuzzle; typedef struct _MultPuzzleClass MultPuzzleClass; #define TYPE_MULT_PUZZLE_CHAR (mult_puzzle_char_get_type ()) #define TYPE_MULT_PUZZLE_GUESS_STATUS (mult_puzzle_guess_status_get_type ()) #define _g_free0(var) (var = (g_free (var), NULL)) struct _CharBox { GtkEventBox parent_instance; CharBoxPrivate * priv; }; struct _CharBoxClass { GtkEventBoxClass parent_class; }; struct _TableBox { CharBox parent_instance; TableBoxPrivate * priv; }; struct _TableBoxClass { CharBoxClass parent_class; }; struct _TableBoxPrivate { Canvas* _canvas; gchar _character; gboolean did_enter; gboolean drag_status; }; typedef enum { MULT_PUZZLE_CHAR_A = 65, MULT_PUZZLE_CHAR_B, MULT_PUZZLE_CHAR_C, MULT_PUZZLE_CHAR_D, MULT_PUZZLE_CHAR_E, MULT_PUZZLE_CHAR_F, MULT_PUZZLE_CHAR_G, MULT_PUZZLE_CHAR_H, MULT_PUZZLE_CHAR_I, MULT_PUZZLE_CHAR_J, MULT_PUZZLE_CHAR_INVALID } MultPuzzleChar; typedef enum { MULT_PUZZLE_GUESS_STATUS_WRONG, MULT_PUZZLE_GUESS_STATUS_CORRECT, MULT_PUZZLE_GUESS_STATUS_KNOWN, MULT_PUZZLE_GUESS_STATUS_INVALID } MultPuzzleGuessStatus; static gpointer table_box_parent_class = NULL; GType char_box_get_type (void) G_GNUC_CONST; GType table_box_get_type (void) G_GNUC_CONST; GType canvas_get_type (void) G_GNUC_CONST; #define TABLE_BOX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TABLE_BOX, TableBoxPrivate)) enum { TABLE_BOX_DUMMY_PROPERTY, TABLE_BOX_CANVAS, TABLE_BOX_CHARACTER }; TableBox* table_box_new (gchar c, Canvas* can); TableBox* table_box_construct (GType object_type, gchar c, Canvas* can); static gboolean table_box_handle_drag_motion (TableBox* self, GdkDragContext* context, gint x, gint y, guint time_); Canvas* table_box_get_canvas (TableBox* self); void canvas_highlight_box (Canvas* self, CharBox* box, gboolean digit_box, gboolean hover, gboolean all); static void table_box_handle_drag_leave (TableBox* self, GdkDragContext* context, guint time_); static gboolean table_box_handle_drag_drop (TableBox* self, GdkDragContext* context, gint x, gint y, guint time_); static void table_box_handle_data_received (TableBox* self, GdkDragContext* context, gint x, gint y, GtkSelectionData* data, guint info, guint time_); GType mult_puzzle_get_type (void) G_GNUC_CONST; MultPuzzle* canvas_get_puzzle (Canvas* self); GType mult_puzzle_char_get_type (void) G_GNUC_CONST; gboolean* mult_puzzle_get_letter_guesses (MultPuzzle* self, MultPuzzleChar letter, int* result_length1); gchar table_box_get_character (TableBox* self); GType mult_puzzle_guess_status_get_type (void) G_GNUC_CONST; MultPuzzleGuessStatus mult_puzzle_guess (MultPuzzle* self, gint digit, MultPuzzleChar letter); static void table_box_set_canvas (TableBox* self, Canvas* value); static void table_box_set_character (TableBox* self, gchar value); static GObject * table_box_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); void char_box_set_letter (CharBox* self, const gchar* value); void char_box_set_border (CharBox* self, GtkShadowType value); static void _table_box_handle_data_received_gtk_widget_drag_data_received (GtkWidget* _sender, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time_, gpointer self); static gboolean _table_box_handle_drag_motion_gtk_widget_drag_motion (GtkWidget* _sender, GdkDragContext* context, gint x, gint y, guint time_, gpointer self); static void _table_box_handle_drag_leave_gtk_widget_drag_leave (GtkWidget* _sender, GdkDragContext* context, guint time_, gpointer self); static gboolean _table_box_handle_drag_drop_gtk_widget_drag_drop (GtkWidget* _sender, GdkDragContext* context, gint x, gint y, guint time_, gpointer self); static void table_box_finalize (GObject* obj); static void _vala_table_box_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_table_box_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); TableBox* table_box_construct (GType object_type, gchar c, Canvas* can) { TableBox * self = NULL; g_return_val_if_fail (can != NULL, NULL); self = (TableBox*) g_object_new (object_type, "character", c, "canvas", can, NULL); return self; } TableBox* table_box_new (gchar c, Canvas* can) { return table_box_construct (TYPE_TABLE_BOX, c, can); } static gboolean table_box_handle_drag_motion (TableBox* self, GdkDragContext* context, gint x, gint y, guint time_) { gboolean result = FALSE; GdkAtom _tmp0_; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (context != NULL, FALSE); if (!self->priv->did_enter) { canvas_highlight_box (self->priv->_canvas, (CharBox*) self, FALSE, TRUE, TRUE); self->priv->did_enter = TRUE; } self->priv->drag_status = FALSE; _tmp0_ = gdk_atom_intern_static_string ("STRING"); gtk_drag_get_data ((GtkWidget*) self, context, _tmp0_, (guint32) time_); if (!self->priv->drag_status) { canvas_highlight_box (self->priv->_canvas, (CharBox*) self, FALSE, TRUE, TRUE); } result = self->priv->drag_status; return result; } static void table_box_handle_drag_leave (TableBox* self, GdkDragContext* context, guint time_) { g_return_if_fail (self != NULL); g_return_if_fail (context != NULL); canvas_highlight_box (self->priv->_canvas, (CharBox*) self, FALSE, FALSE, TRUE); self->priv->did_enter = FALSE; } static gboolean table_box_handle_drag_drop (TableBox* self, GdkDragContext* context, gint x, gint y, guint time_) { gboolean result = FALSE; GdkAtom _tmp0_; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (context != NULL, FALSE); self->priv->drag_status = TRUE; _tmp0_ = gdk_atom_intern_static_string ("STRING"); gtk_drag_get_data ((GtkWidget*) self, context, _tmp0_, (guint32) time_); if (!self->priv->drag_status) { canvas_highlight_box (self->priv->_canvas, (CharBox*) self, FALSE, TRUE, TRUE); } result = TRUE; return result; } static void table_box_handle_data_received (TableBox* self, GdkDragContext* context, gint x, gint y, GtkSelectionData* data, guint info, guint time_) { gint _tmp0_; guchar* _tmp1_ = NULL; gint digit; g_return_if_fail (self != NULL); g_return_if_fail (context != NULL); g_return_if_fail (data != NULL); _tmp0_ = gtk_selection_data_get_length (data); if (_tmp0_ <= 0) { return; } _tmp1_ = gtk_selection_data_get_data (data); digit = _tmp1_[0] - 48; if (!self->priv->drag_status) { MultPuzzle* _tmp2_ = NULL; gint _tmp3_; gboolean* _tmp4_ = NULL; gboolean* guesses; gint guesses_length1; gint _guesses_size_; _tmp2_ = canvas_get_puzzle (self->priv->_canvas); _tmp4_ = mult_puzzle_get_letter_guesses (_tmp2_, (MultPuzzleChar) self->priv->_character, &_tmp3_); guesses = _tmp4_; guesses_length1 = _tmp3_; _guesses_size_ = _tmp3_; if (!guesses[digit]) { self->priv->drag_status = TRUE; gdk_drag_status (context, GDK_ACTION_COPY, (guint32) time_); } guesses = (g_free (guesses), NULL); } else { MultPuzzle* _tmp5_ = NULL; MultPuzzleGuessStatus _tmp6_; MultPuzzleGuessStatus rv; _tmp5_ = canvas_get_puzzle (self->priv->_canvas); _tmp6_ = mult_puzzle_guess (_tmp5_, digit, (MultPuzzleChar) self->priv->_character); rv = _tmp6_; gtk_drag_finish (context, rv == MULT_PUZZLE_GUESS_STATUS_CORRECT, FALSE, (guint32) time_); } } Canvas* table_box_get_canvas (TableBox* self) { Canvas* result; g_return_val_if_fail (self != NULL, NULL); result = self->priv->_canvas; return result; } static gpointer _g_object_ref0 (gpointer self) { return self ? g_object_ref (self) : NULL; } static void table_box_set_canvas (TableBox* self, Canvas* value) { Canvas* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_canvas); self->priv->_canvas = _tmp0_; g_object_notify ((GObject *) self, "canvas"); } gchar table_box_get_character (TableBox* self) { gchar result; g_return_val_if_fail (self != NULL, '\0'); result = self->priv->_character; return result; } static void table_box_set_character (TableBox* self, gchar value) { g_return_if_fail (self != NULL); self->priv->_character = value; g_object_notify ((GObject *) self, "character"); } static void _table_box_handle_data_received_gtk_widget_drag_data_received (GtkWidget* _sender, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time_, gpointer self) { table_box_handle_data_received (self, context, x, y, selection_data, info, time_); } static gboolean _table_box_handle_drag_motion_gtk_widget_drag_motion (GtkWidget* _sender, GdkDragContext* context, gint x, gint y, guint time_, gpointer self) { gboolean result; result = table_box_handle_drag_motion (self, context, x, y, time_); return result; } static void _table_box_handle_drag_leave_gtk_widget_drag_leave (GtkWidget* _sender, GdkDragContext* context, guint time_, gpointer self) { table_box_handle_drag_leave (self, context, time_); } static gboolean _table_box_handle_drag_drop_gtk_widget_drag_drop (GtkWidget* _sender, GdkDragContext* context, gint x, gint y, guint time_, gpointer self) { gboolean result; result = table_box_handle_drag_drop (self, context, x, y, time_); return result; } static GObject * table_box_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { GObject * obj; GObjectClass * parent_class; TableBox * self; gchar* _tmp0_ = NULL; gchar* _tmp1_; GtkTargetEntry* _tmp2_ = NULL; GtkTargetEntry* entries; gint entries_length1; gint _entries_size_; parent_class = G_OBJECT_CLASS (table_box_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = TABLE_BOX (obj); self->priv->did_enter = FALSE; self->priv->drag_status = TRUE; _tmp0_ = g_strdup_printf ("%c", (gint) self->priv->_character); _tmp1_ = _tmp0_; char_box_set_letter ((CharBox*) self, _tmp1_); _g_free0 (_tmp1_); char_box_set_border ((CharBox*) self, GTK_SHADOW_IN); _tmp2_ = g_new0 (GtkTargetEntry, 1); entries = _tmp2_; entries_length1 = 1; _entries_size_ = 1; entries[0].target = "STRING"; entries[0].flags = (guint) GTK_TARGET_SAME_APP; entries[0].info = (guint) 0; gtk_drag_dest_set ((GtkWidget*) self, 0, entries, entries_length1, GDK_ACTION_MOVE); g_signal_connect_object ((GtkWidget*) self, "drag-data-received", (GCallback) _table_box_handle_data_received_gtk_widget_drag_data_received, self, 0); g_signal_connect_object ((GtkWidget*) self, "drag-motion", (GCallback) _table_box_handle_drag_motion_gtk_widget_drag_motion, self, 0); g_signal_connect_object ((GtkWidget*) self, "drag-leave", (GCallback) _table_box_handle_drag_leave_gtk_widget_drag_leave, self, 0); g_signal_connect_object ((GtkWidget*) self, "drag-drop", (GCallback) _table_box_handle_drag_drop_gtk_widget_drag_drop, self, 0); entries = (g_free (entries), NULL); return obj; } static void table_box_class_init (TableBoxClass * klass) { table_box_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (TableBoxPrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_table_box_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_table_box_set_property; G_OBJECT_CLASS (klass)->constructor = table_box_constructor; G_OBJECT_CLASS (klass)->finalize = table_box_finalize; g_object_class_install_property (G_OBJECT_CLASS (klass), TABLE_BOX_CANVAS, g_param_spec_object ("canvas", "canvas", "canvas", TYPE_CANVAS, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (G_OBJECT_CLASS (klass), TABLE_BOX_CHARACTER, g_param_spec_char ("character", "character", "character", G_MININT8, G_MAXINT8, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); } static void table_box_instance_init (TableBox * self) { self->priv = TABLE_BOX_GET_PRIVATE (self); } static void table_box_finalize (GObject* obj) { TableBox * self; self = TABLE_BOX (obj); _g_object_unref0 (self->priv->_canvas); G_OBJECT_CLASS (table_box_parent_class)->finalize (obj); } GType table_box_get_type (void) { static volatile gsize table_box_type_id__volatile = 0; if (g_once_init_enter (&table_box_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (TableBoxClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) table_box_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TableBox), 0, (GInstanceInitFunc) table_box_instance_init, NULL }; GType table_box_type_id; table_box_type_id = g_type_register_static (TYPE_CHAR_BOX, "TableBox", &g_define_type_info, 0); g_once_init_leave (&table_box_type_id__volatile, table_box_type_id); } return table_box_type_id__volatile; } static void _vala_table_box_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { TableBox * self; self = TABLE_BOX (object); switch (property_id) { case TABLE_BOX_CANVAS: g_value_set_object (value, table_box_get_canvas (self)); break; case TABLE_BOX_CHARACTER: g_value_set_char (value, table_box_get_character (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void _vala_table_box_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { TableBox * self; self = TABLE_BOX (object); switch (property_id) { case TABLE_BOX_CANVAS: table_box_set_canvas (self, g_value_get_object (value)); break; case TABLE_BOX_CHARACTER: table_box_set_character (self, g_value_get_char (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } gmult-8.0/gmult/Canvas.vala0000644000175000017500000003667611551174776015337 0ustar udienzudienz/* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ using GLib; public enum CanvasMode {NONE, DIGIT, CHAR} // This is a stupid little construction that vala needs to get lengths right struct ArrayBox { public CharBox[] array; } public class Canvas : Gtk.EventBox { public MultPuzzle puzzle { get; construct; } public GtkMult mult { get; construct; } public Canvas (GtkMult mult) { Object(mult: mult); } public void clear_mode () { set_mode (CanvasMode.NONE, null); } private string mode_letter; private CanvasMode mode; public void set_mode (CanvasMode m, CharBox? box) { mode = m; mode_letter = box == null ? null : box.letter ; foreach (CharBox b in mult_boxes) highlight_box (b, false, false, false); foreach (CharBox b in digit_boxes) highlight_box (b, true, false, false); var context_id = mult.status.get_context_id ("guess-prompt"); mult.status.pop(context_id); // There might be an existing prompt if (mode != CanvasMode.NONE) { mult.clear_guess_feedback(); mult.status.push (context_id, "%s = ?".printf (_(mode_letter))); } } public void start_choice (char ch) { // First, see if digit or letter, then find box weak List boxes = ch.isdigit() ? digit_boxes : mult_boxes; string str = "%c".printf(ch); foreach (CharBox b in boxes) if (str == b.letter) { if (ch.isdigit()) start_digit_choice (b); else start_char_choice (b); break; } } public void start_digit_choice (CharBox b) { if (mode == CanvasMode.CHAR) // this is really an end-char-choice, not a start-digit-choice { if (b.get_state_flags() != Gtk.StateFlags.INSENSITIVE) puzzle.guess (b.letter[0].digit_value (), (MultPuzzleChar)mode_letter[0]); clear_mode (); } else set_mode (CanvasMode.DIGIT, b); } public void start_char_choice (CharBox b) { if (mode == CanvasMode.DIGIT) // this is really an end-digit-choice, not a start-char-choice { if (b.get_state_flags() != Gtk.StateFlags.INSENSITIVE) puzzle.guess (mode_letter[0].digit_value (), (MultPuzzleChar)b.letter[0]); clear_mode (); } else set_mode (CanvasMode.CHAR, b); } private int min_box_request; private int num_box_rows; private int num_box_cols; // Not counting two digit cols private int min_width; private int min_height; private Gtk.Fixed fixed; private Gtk.Widget vsep; private Gtk.Widget hsep1; private Gtk.Widget hsep2; private List mult_boxes; private List digit_boxes; private CharBox[] xboxes; private CharBox[] yboxes; private CharBox[] zboxes; private ArrayBox[] addboxes; private CharBox[] digitboxes; private CharBox plusbox; private CharBox timesbox; // Standard buffer between widgets private static const int SPACING = 6; construct { this.puzzle = mult.puzzle; this.mode = CanvasMode.NONE; this.mode_letter = null; this.min_box_request = -1; this.mult_boxes = null; this.digit_boxes = null; this.fixed = new Gtk.Fixed(); add(this.fixed); this.vsep = new Gtk.VSeparator(); this.hsep1 = new Gtk.HSeparator(); this.hsep2 = new Gtk.HSeparator(); this.fixed.add(this.vsep); this.fixed.add(this.hsep1); this.fixed.add(this.hsep2); this.plusbox = new CharBox("+", Gtk.ShadowType.NONE); this.fixed.add(this.plusbox); this.timesbox = new CharBox("×", Gtk.ShadowType.NONE); this.fixed.add(this.timesbox); string x = this.puzzle.get_multiplicand(); string y = this.puzzle.get_multiplier(); string z = this.puzzle.get_answer(); this.num_box_rows = 3 + (int)y.length; this.num_box_cols = 1 + (int)z.length; this.xboxes = new CharBox[x.length]; this.yboxes = new CharBox[y.length]; this.zboxes = new CharBox[z.length]; this.digitboxes = new CharBox[10]; this.addboxes = new ArrayBox[this.puzzle.get_num_addends()]; for (int i = 0; i < this.addboxes.length; ++i) this.addboxes[i].array = new CharBox[this.puzzle.get_addend(i).length]; // Calculate minimum amount of space needed. int vsep_width, hsep1_height; // FIXME: vala bindings are broken, we'll just fake preferred width //vsep.get_preferred_width(null, out vsep_width); hsep1.get_preferred_height(null, out hsep1_height); vsep_width = hsep1_height; this.min_width = 12 + (this.num_box_cols-1)*SPACING + SPACING + vsep_width + SPACING*4 + 12; this.min_height = 12 + (this.num_box_rows+1)*SPACING + hsep1_height*2 + 12; set_size_request(min_width, min_height); /* Gtk.TargetEntry[] entries = new Gtk.TargetEntry[1]; entries[0].target = "STRING"; entries[0].flags = Gtk.TargetFlags.SAME_APP; entries[0].info = 0; Gtk.drag_dest_set (this, 0, entries, Gdk.DragAction.MOVE); */ add_events (Gdk.EventMask.BUTTON_RELEASE_MASK); button_release_event.connect(handle_none_release); this.fixed.size_allocate.connect(handle_size_allocate); handle_puzzle_change(this.puzzle); this.puzzle.changed.connect(handle_puzzle_change); } private void layout_mult_string(CharBox[] boxes, int row, int indent, int w, int mult_x_offset, int mult_y_offset) { indent = this.num_box_cols - indent; int x = mult_x_offset + indent*(w+SPACING); int y = mult_y_offset + row*(w+SPACING); if (row >= 2) // addend y += this.hsep1.get_allocated_height() + SPACING; if (row == this.num_box_rows - 1) // answer y += this.hsep2.get_allocated_height() + SPACING; foreach (CharBox b in boxes) { Gdk.Rectangle alloc = {x, y, w, w}; allocate_box(b, alloc); x += w+SPACING; } } private void allocate_box(CharBox b, Gdk.Rectangle rect) { b.size_allocate(rect); b.points = (int) ((rect.height) * (72.0/GtkMult.dpi)); } private void handle_size_allocate(Gdk.Rectangle rect) { int w = (int) ((rect.width - this.min_width) / (this.num_box_cols + 2)); int h = (int) ((rect.height - this.min_height) / this.num_box_rows); // From here on, we only use 'w' because we want a square box w = (w > h) ? h : w; int mult_x_offset = rect.x + 12 + (rect.width - this.min_width - w*(this.num_box_cols+2))/2; int mult_y_offset = rect.y + 12 + (rect.height - this.min_height - w*this.num_box_rows)/2; mult_x_offset = mult_x_offset > (rect.width/2) ? (rect.width/2) : mult_x_offset; mult_y_offset = mult_y_offset > (rect.height/2) ? (rect.height/2) : mult_y_offset; layout_mult_string(this.xboxes, 0, this.xboxes.length, w, mult_x_offset, mult_y_offset); layout_mult_string(this.yboxes, 1, this.yboxes.length, w, mult_x_offset, mult_y_offset); for (int i = 0; i < this.addboxes.length; ++i) layout_mult_string(this.addboxes[i].array, 2 + i, this.addboxes[i].array.length + i, w, mult_x_offset, mult_y_offset); layout_mult_string(this.zboxes, this.num_box_rows - 1, this.zboxes.length, w, mult_x_offset, mult_y_offset); // *** Horizontal separators *** int hsep1_height, hsep2_height; hsep1.get_preferred_height(null, out hsep1_height); hsep2.get_preferred_height(null, out hsep2_height); Gdk.Rectangle rec = Gdk.Rectangle(); rec.x = mult_x_offset; rec.y = mult_y_offset + 2*(w+SPACING); rec.width = this.num_box_cols*w + (this.num_box_cols-1)*SPACING; rec.height = hsep1_height; this.hsep1.size_allocate(rec); rec.x = mult_x_offset; rec.y = mult_y_offset + (int)(2+this.puzzle.get_num_addends())*(w+SPACING) + hsep1_height + SPACING; rec.width = this.num_box_cols*w + (this.num_box_cols-1)*SPACING; rec.height = hsep2_height; this.hsep2.size_allocate(rec); // *** Symbols **** rec.x = mult_x_offset; rec.y = mult_y_offset + w + SPACING; rec.width = w; rec.height = w; allocate_box(this.timesbox, rec); rec.x = mult_x_offset; rec.y = mult_y_offset + (int)(1+this.puzzle.get_num_addends())*(w+SPACING) + hsep1_height + SPACING; rec.width = w; rec.height = w; allocate_box(this.plusbox, rec); // *** Vertical separator *** int vsep_width; // FIXME: vala bindings are broken, we'll just fake preferred width //vsep.get_preferred_width(null, out vsep_width); vsep_width = hsep1_height; rec.x = mult_x_offset + this.num_box_cols*(w+SPACING) + SPACING; rec.y = mult_y_offset; rec.width = vsep_width; rec.height = rect.height - (mult_y_offset-rect.y)*2; this.vsep.size_allocate(rec); // *** Digits *** int digit_y_offset = rect.y + 12 + (rect.height - 12 - 12 - 5*w - 4*SPACING)/2; rec.width = w; rec.height = w; rec.x = rec.x + SPACING*2; for (int i = 0; i < 5; ++i) { rec.y = digit_y_offset + i*(w+SPACING); allocate_box(this.digitboxes[i*2], rec); } rec.x = rec.x + w + SPACING; for (int i = 0; i < 5; ++i) { rec.y = digit_y_offset + i*(w+SPACING); allocate_box(this.digitboxes[i*2 + 1], rec); } } private CharBox create_mult_box(unichar ch) { CharBox b; if (ch.isdigit ()) b = new CharBox("%c".printf((char)ch), Gtk.ShadowType.NONE); else { b = new TableBox((char)ch, this); b.add_events (Gdk.EventMask.BUTTON_RELEASE_MASK | Gdk.EventMask.ENTER_NOTIFY_MASK | Gdk.EventMask.LEAVE_NOTIFY_MASK); b.button_release_event.connect((e) => { return handle_release (b, e, false);}); b.enter_notify_event.connect((e) => { highlight_box (b, false, true, true); return false;}); b.leave_notify_event.connect((e) => { highlight_box (b, false, false, true); return false;}); mult_boxes.append(b); } return b; } private CharBox create_digit_box(bool[] unknown, int i) { CharBox b; if (unknown[i] == true) { var digit_str = "%i".printf(i); b = new DigitBox(this, digit_str); b.add_events (Gdk.EventMask.BUTTON_RELEASE_MASK | Gdk.EventMask.ENTER_NOTIFY_MASK | Gdk.EventMask.LEAVE_NOTIFY_MASK); b.button_release_event.connect((e) => { return handle_release (b, e, true);}); b.enter_notify_event.connect((e) => { highlight_box (b, true, true, true); return false;}); b.leave_notify_event.connect((e) => { highlight_box (b, true, false, true); return false;}); digit_boxes.append(b); } else b = new CharBox (" ", Gtk.ShadowType.NONE); return b; } private void handle_puzzle_change(MultPuzzle p) { // Create CharBoxes for all the pieces of the puzzle. this.mult_boxes = new List(); this.digit_boxes = new List(); var multiplicand = this.puzzle.get_multiplicand(); for (int i = 0; i < multiplicand.length; ++i) { this.xboxes[i] = create_mult_box(multiplicand[i]); this.xboxes[i].show_all(); this.fixed.add(this.xboxes[i]); } var multiplier = this.puzzle.get_multiplier(); for (int i = 0; i < multiplier.length; ++i) { this.yboxes[i] = create_mult_box(multiplier[i]); this.yboxes[i].show_all(); this.fixed.add(this.yboxes[i]); } for (int i = 0; i < this.puzzle.get_num_addends(); ++i) { var addend = this.puzzle.get_addend(i); for (int j = 0; j < addend.length; ++j) { this.addboxes[i].array[j] = create_mult_box(addend[j]); this.addboxes[i].array[j].show_all(); this.fixed.add(this.addboxes[i].array[j]); } } var answer = this.puzzle.get_answer(); for (int i = 0; i < answer.length; ++i) { this.zboxes[i] = create_mult_box(answer[i]); this.zboxes[i].show_all(); this.fixed.add(this.zboxes[i]); } var unknown = this.puzzle.get_unknown_digits(); for (int i = 0; i < 10; i++) { this.digitboxes[i] = create_digit_box(unknown, i); this.digitboxes[i].show_all(); this.fixed.add(this.digitboxes[i]); } if (p.is_done) { this.sensitive = false; for (int i = 0; i < 10; i++) this.digitboxes[i].highlight = Gtk.StateFlags.INSENSITIVE; } } public void highlight_box (CharBox box, bool digit_box, bool hover, bool all) { if (all) { weak List boxes = digit_box ? digit_boxes : mult_boxes; foreach (CharBox b in boxes) if (b != box && b.letter == box.letter) highlight_box (b, digit_box, hover, false); } CanvasMode native_mode = digit_box ? CanvasMode.DIGIT : CanvasMode.CHAR; if (mode == native_mode) { if (mode_letter == box.letter) { box.highlight = Gtk.StateFlags.ACTIVE; return; } } else if (mode != CanvasMode.NONE) { if (digit_box) { var unknowns = puzzle.get_unknown_digits (); var guesses = puzzle.get_letter_guesses ((MultPuzzleChar)mode_letter[0]); int digit = box.letter[0].digit_value (); if (!unknowns[digit] || guesses[digit]) { box.highlight = Gtk.StateFlags.INSENSITIVE; return; } } else { int digit = mode_letter[0].digit_value (); if (puzzle.get_letter_guesses ((MultPuzzleChar)box.letter[0])[digit]) { box.highlight = Gtk.StateFlags.INSENSITIVE; return; } } if (hover) { box.highlight = Gtk.StateFlags.PRELIGHT; return; } } else { if (hover) { box.highlight = Gtk.StateFlags.PRELIGHT; return; } } box.highlight = Gtk.StateFlags.NORMAL; } private bool handle_release (CharBox box, Gdk.EventButton event, bool digit_box) { if (!box.visible) // in drag return false; // Make sure pointer is still in our box. This ignores trying to grab // when the widget doesn't support it. int x, y, w, h; box.get_pointer (out x, out y); w = get_window().get_width(); h = get_window().get_height(); if (x.clamp(0, w) != x || y.clamp(0, h) != y) return false; if (event.button == 1) { if (digit_box) start_digit_choice (box); else start_char_choice (box); return true; } return false; } private bool handle_none_release (Gdk.EventButton event) { // Make sure pointer is still in our box. This ignores trying to grab // when the widget doesn't support it. int x, y, w, h; get_pointer (out x, out y); w = get_window().get_width(); h = get_window().get_height(); if (x.clamp(0, w) != x || y.clamp(0, h) != y) return false; if (event.button == 1) clear_mode (); return true; } } gmult-8.0/gmult/CharBox.c0000644000175000017500000003075411551310030014707 0ustar udienzudienz/* CharBox.c generated by valac 0.12.0, the Vala compiler * generated from CharBox.vala, do not modify */ /* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2004-2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #define TYPE_CHAR_BOX (char_box_get_type ()) #define CHAR_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHAR_BOX, CharBox)) #define CHAR_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHAR_BOX, CharBoxClass)) #define IS_CHAR_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHAR_BOX)) #define IS_CHAR_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHAR_BOX)) #define CHAR_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHAR_BOX, CharBoxClass)) typedef struct _CharBox CharBox; typedef struct _CharBoxClass CharBoxClass; typedef struct _CharBoxPrivate CharBoxPrivate; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _CharBox { GtkEventBox parent_instance; CharBoxPrivate * priv; }; struct _CharBoxClass { GtkEventBoxClass parent_class; }; struct _CharBoxPrivate { gchar* _letter; GtkShadowType _border; gint _points; GtkStateFlags _highlight; GtkDrawingArea* area; }; static gpointer char_box_parent_class = NULL; void gtk_style_context_get_color (GtkStyleContext* context, GtkStateFlags state, GdkRGBA* color); GType char_box_get_type (void) G_GNUC_CONST; #define CHAR_BOX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CHAR_BOX, CharBoxPrivate)) enum { CHAR_BOX_DUMMY_PROPERTY, CHAR_BOX_LETTER, CHAR_BOX_BORDER, CHAR_BOX_POINTS, CHAR_BOX_HIGHLIGHT }; static gboolean char_box_draw_request (CharBox* self, cairo_t* ctx); GtkStateFlags char_box_get_highlight (CharBox* self); GtkShadowType char_box_get_border (CharBox* self); gint char_box_get_points (CharBox* self); const gchar* char_box_get_letter (CharBox* self); CharBox* char_box_new (const gchar* letter, GtkShadowType border); CharBox* char_box_construct (GType object_type, const gchar* letter, GtkShadowType border); void char_box_set_letter (CharBox* self, const gchar* value); void char_box_set_border (CharBox* self, GtkShadowType value); void char_box_set_points (CharBox* self, gint value); void char_box_set_highlight (CharBox* self, GtkStateFlags value); static GObject * char_box_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); static gboolean _char_box_draw_request_gtk_widget_draw (GtkWidget* _sender, cairo_t* cr, gpointer self); static void char_box_finalize (GObject* obj); static void _vala_char_box_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_char_box_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); static gpointer _g_object_ref0 (gpointer self) { return self ? g_object_ref (self) : NULL; } static gboolean char_box_draw_request (CharBox* self, cairo_t* ctx) { gboolean result = FALSE; gint _tmp0_; gint w; gint _tmp1_; gint h; GtkStyleContext* _tmp2_ = NULL; GtkStyleContext* _tmp3_; GtkStyleContext* style; GtkStateFlags _tmp4_; GtkStateFlags _tmp5_; GdkRGBA color = {0}; GtkStateFlags _tmp6_; GdkRGBA _tmp7_ = {0}; cairo_text_extents_t te = {0}; const gchar* _tmp8_ = NULL; cairo_text_extents_t _tmp9_ = {0}; cairo_font_extents_t fe = {0}; cairo_font_extents_t _tmp10_ = {0}; const gchar* _tmp11_ = NULL; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (ctx != NULL, FALSE); _tmp0_ = gtk_widget_get_allocated_width ((GtkWidget*) self->priv->area); w = _tmp0_; _tmp1_ = gtk_widget_get_allocated_height ((GtkWidget*) self->priv->area); h = _tmp1_; _tmp2_ = gtk_widget_get_style_context ((GtkWidget*) self); _tmp3_ = _g_object_ref0 (_tmp2_); style = _tmp3_; gtk_style_context_save (style); gtk_style_context_add_class (style, GTK_STYLE_CLASS_RUBBERBAND); _tmp4_ = char_box_get_highlight (self); gtk_style_context_set_state (style, _tmp4_); _tmp5_ = char_box_get_highlight (self); if (_tmp5_ != GTK_STATE_FLAG_NORMAL) { gtk_render_background (style, ctx, (gdouble) 0, (gdouble) 0, (gdouble) w, (gdouble) h); } if (self->priv->_border != GTK_SHADOW_NONE) { gtk_render_frame (style, ctx, (gdouble) 0, (gdouble) 0, (gdouble) w, (gdouble) h); } _tmp6_ = char_box_get_highlight (self); gtk_style_context_get_color (style, _tmp6_, &_tmp7_); color = _tmp7_; cairo_set_source_rgba (ctx, color.red, color.green, color.blue, color.alpha); cairo_set_font_size (ctx, (gdouble) self->priv->_points); memset (&te, 0, sizeof (cairo_text_extents_t)); _tmp8_ = _ (self->priv->_letter); cairo_text_extents (ctx, _tmp8_, &_tmp9_); te = _tmp9_; memset (&fe, 0, sizeof (cairo_font_extents_t)); cairo_font_extents (ctx, &_tmp10_); fe = _tmp10_; cairo_move_to (ctx, ((w / 2) - te.x_bearing) - (te.width / 2), ((h / 2) - fe.descent) + (fe.height / 2)); _tmp11_ = _ (self->priv->_letter); cairo_show_text (ctx, _tmp11_); gtk_style_context_restore (style); result = TRUE; _g_object_unref0 (style); return result; } CharBox* char_box_construct (GType object_type, const gchar* letter, GtkShadowType border) { CharBox * self = NULL; g_return_val_if_fail (letter != NULL, NULL); self = (CharBox*) g_object_new (object_type, NULL); char_box_set_letter (self, letter); char_box_set_border (self, border); return self; } CharBox* char_box_new (const gchar* letter, GtkShadowType border) { return char_box_construct (TYPE_CHAR_BOX, letter, border); } const gchar* char_box_get_letter (CharBox* self) { const gchar* result; g_return_val_if_fail (self != NULL, NULL); result = self->priv->_letter; return result; } void char_box_set_letter (CharBox* self, const gchar* value) { gchar* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = g_strdup (value); _g_free0 (self->priv->_letter); self->priv->_letter = _tmp0_; g_object_notify ((GObject *) self, "letter"); } GtkShadowType char_box_get_border (CharBox* self) { GtkShadowType result; g_return_val_if_fail (self != NULL, 0); result = self->priv->_border; return result; } void char_box_set_border (CharBox* self, GtkShadowType value) { g_return_if_fail (self != NULL); self->priv->_border = value; g_object_notify ((GObject *) self, "border"); } gint char_box_get_points (CharBox* self) { gint result; g_return_val_if_fail (self != NULL, 0); result = self->priv->_points; return result; } void char_box_set_points (CharBox* self, gint value) { g_return_if_fail (self != NULL); self->priv->_points = value; g_object_notify ((GObject *) self, "points"); } GtkStateFlags char_box_get_highlight (CharBox* self) { GtkStateFlags result; g_return_val_if_fail (self != NULL, 0); result = self->priv->_highlight; return result; } void char_box_set_highlight (CharBox* self, GtkStateFlags value) { g_return_if_fail (self != NULL); self->priv->_highlight = value; gtk_widget_queue_draw ((GtkWidget*) self); g_object_notify ((GObject *) self, "highlight"); } static gboolean _char_box_draw_request_gtk_widget_draw (GtkWidget* _sender, cairo_t* cr, gpointer self) { gboolean result; result = char_box_draw_request (self, cr); return result; } static GObject * char_box_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { GObject * obj; GObjectClass * parent_class; CharBox * self; GtkDrawingArea* _tmp0_ = NULL; parent_class = G_OBJECT_CLASS (char_box_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = CHAR_BOX (obj); _tmp0_ = (GtkDrawingArea*) gtk_drawing_area_new (); _g_object_unref0 (self->priv->area); self->priv->area = g_object_ref_sink (_tmp0_); g_signal_connect_object ((GtkWidget*) self->priv->area, "draw", (GCallback) _char_box_draw_request_gtk_widget_draw, self, 0); gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->priv->area); return obj; } static void char_box_class_init (CharBoxClass * klass) { char_box_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (CharBoxPrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_char_box_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_char_box_set_property; G_OBJECT_CLASS (klass)->constructor = char_box_constructor; G_OBJECT_CLASS (klass)->finalize = char_box_finalize; g_object_class_install_property (G_OBJECT_CLASS (klass), CHAR_BOX_LETTER, g_param_spec_string ("letter", "letter", "letter", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), CHAR_BOX_BORDER, g_param_spec_enum ("border", "border", "border", GTK_TYPE_SHADOW_TYPE, GTK_SHADOW_NONE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), CHAR_BOX_POINTS, g_param_spec_int ("points", "points", "points", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), CHAR_BOX_HIGHLIGHT, g_param_spec_flags ("highlight", "highlight", "highlight", GTK_TYPE_STATE_FLAGS, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); } static void char_box_instance_init (CharBox * self) { gchar* _tmp0_; self->priv = CHAR_BOX_GET_PRIVATE (self); _tmp0_ = g_strdup ("?"); self->priv->_letter = _tmp0_; self->priv->_border = GTK_SHADOW_NONE; self->priv->_highlight = GTK_STATE_FLAG_NORMAL; } static void char_box_finalize (GObject* obj) { CharBox * self; self = CHAR_BOX (obj); _g_free0 (self->priv->_letter); _g_object_unref0 (self->priv->area); G_OBJECT_CLASS (char_box_parent_class)->finalize (obj); } GType char_box_get_type (void) { static volatile gsize char_box_type_id__volatile = 0; if (g_once_init_enter (&char_box_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (CharBoxClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) char_box_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CharBox), 0, (GInstanceInitFunc) char_box_instance_init, NULL }; GType char_box_type_id; char_box_type_id = g_type_register_static (GTK_TYPE_EVENT_BOX, "CharBox", &g_define_type_info, 0); g_once_init_leave (&char_box_type_id__volatile, char_box_type_id); } return char_box_type_id__volatile; } static void _vala_char_box_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { CharBox * self; self = CHAR_BOX (object); switch (property_id) { case CHAR_BOX_LETTER: g_value_set_string (value, char_box_get_letter (self)); break; case CHAR_BOX_BORDER: g_value_set_enum (value, char_box_get_border (self)); break; case CHAR_BOX_POINTS: g_value_set_int (value, char_box_get_points (self)); break; case CHAR_BOX_HIGHLIGHT: g_value_set_flags (value, char_box_get_highlight (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void _vala_char_box_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { CharBox * self; self = CHAR_BOX (object); switch (property_id) { case CHAR_BOX_LETTER: char_box_set_letter (self, g_value_get_string (value)); break; case CHAR_BOX_BORDER: char_box_set_border (self, g_value_get_enum (value)); break; case CHAR_BOX_POINTS: char_box_set_points (self, g_value_get_int (value)); break; case CHAR_BOX_HIGHLIGHT: char_box_set_highlight (self, g_value_get_flags (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } gmult-8.0/gmult/DigitBox.vala0000644000175000017500000000620211551171665015605 0ustar udienzudienz/* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ using GLib; public class DigitBox : CharBox { public Canvas canvas { get; construct; } public DigitBox (Canvas canvas, string letter) { Object(canvas: canvas, letter: letter); } construct { this.border = Gtk.ShadowType.OUT; Gtk.TargetEntry[] entries = new Gtk.TargetEntry[1]; entries[0].target = "STRING"; entries[0].flags = Gtk.TargetFlags.SAME_APP; entries[0].info = 0; Gtk.drag_source_set (this, Gdk.ModifierType.BUTTON1_MASK, entries, Gdk.DragAction.MOVE); drag_data_get.connect(handle_drag_get); drag_begin.connect(handle_drag_begin); drag_end.connect(handle_drag_end); // Translators: If there's a better alternative to Arabic numerals for // your language, please use it instead of these digits. Note // that it still has to make sense when used as part of the math puzzle. N_("0"); N_("1"); N_("2"); N_("3"); N_("4"); N_("5"); N_("6"); N_("7"); N_("8"); N_("9"); } private void handle_drag_begin (Gdk.DragContext context) { // Set mode, immediately invalidate/redraw ourselves to get new highlight canvas.set_mode (CanvasMode.DIGIT, this); get_window().invalidate_region (get_window().get_visible_region (), true); get_window().process_updates (true); // Make drag icon be identical to this widget int width, height; width = get_window().get_width(); height = get_window().get_height(); var surface = get_window().create_similar_surface(Cairo.Content.COLOR, width, height); Cairo.Context ctx = new Cairo.Context(surface); Gdk.cairo_set_source_window(ctx, get_window(), 0, 0); ctx.paint(); int x, y; get_pointer (out x, out y); // Sometimes, if pointer has moved a lot since it started moving with drag, // x or y can be out of range. This causes the drag icon to look odd. // So we clamp values to be safe. x = x.clamp(0, width); y = y.clamp(0, height); surface.set_device_offset(-x, -y); Gtk.drag_set_icon_surface (context, surface); hide (); } private void handle_drag_end (Gdk.DragContext context) { show (); } private void handle_drag_get (Gdk.DragContext context, Gtk.SelectionData data, uint info, uint time_) { data.set_text (letter, (int)letter.length); } } gmult-8.0/gmult/DigitBox.c0000644000175000017500000003271311551173071015103 0ustar udienzudienz/* DigitBox.c generated by valac 0.12.0, the Vala compiler * generated from DigitBox.vala, do not modify */ /* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ #include #include #include #include #include #include #include #include #include #define TYPE_CHAR_BOX (char_box_get_type ()) #define CHAR_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHAR_BOX, CharBox)) #define CHAR_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHAR_BOX, CharBoxClass)) #define IS_CHAR_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHAR_BOX)) #define IS_CHAR_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHAR_BOX)) #define CHAR_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHAR_BOX, CharBoxClass)) typedef struct _CharBox CharBox; typedef struct _CharBoxClass CharBoxClass; typedef struct _CharBoxPrivate CharBoxPrivate; #define TYPE_DIGIT_BOX (digit_box_get_type ()) #define DIGIT_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIGIT_BOX, DigitBox)) #define DIGIT_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIGIT_BOX, DigitBoxClass)) #define IS_DIGIT_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIGIT_BOX)) #define IS_DIGIT_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIGIT_BOX)) #define DIGIT_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIGIT_BOX, DigitBoxClass)) typedef struct _DigitBox DigitBox; typedef struct _DigitBoxClass DigitBoxClass; typedef struct _DigitBoxPrivate DigitBoxPrivate; #define TYPE_CANVAS (canvas_get_type ()) #define CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CANVAS, Canvas)) #define CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CANVAS, CanvasClass)) #define IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CANVAS)) #define IS_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CANVAS)) #define CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CANVAS, CanvasClass)) typedef struct _Canvas Canvas; typedef struct _CanvasClass CanvasClass; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define TYPE_CANVAS_MODE (canvas_mode_get_type ()) #define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) #define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL))) struct _CharBox { GtkEventBox parent_instance; CharBoxPrivate * priv; }; struct _CharBoxClass { GtkEventBoxClass parent_class; }; struct _DigitBox { CharBox parent_instance; DigitBoxPrivate * priv; }; struct _DigitBoxClass { CharBoxClass parent_class; }; struct _DigitBoxPrivate { Canvas* _canvas; }; typedef enum { CANVAS_MODE_NONE, CANVAS_MODE_DIGIT, CANVAS_MODE_CHAR } CanvasMode; static gpointer digit_box_parent_class = NULL; GType char_box_get_type (void) G_GNUC_CONST; GType digit_box_get_type (void) G_GNUC_CONST; GType canvas_get_type (void) G_GNUC_CONST; #define DIGIT_BOX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DIGIT_BOX, DigitBoxPrivate)) enum { DIGIT_BOX_DUMMY_PROPERTY, DIGIT_BOX_CANVAS }; DigitBox* digit_box_new (Canvas* canvas, const gchar* letter); DigitBox* digit_box_construct (GType object_type, Canvas* canvas, const gchar* letter); static void digit_box_handle_drag_begin (DigitBox* self, GdkDragContext* context); Canvas* digit_box_get_canvas (DigitBox* self); GType canvas_mode_get_type (void) G_GNUC_CONST; void canvas_set_mode (Canvas* self, CanvasMode m, CharBox* box); static void digit_box_handle_drag_end (DigitBox* self, GdkDragContext* context); static void digit_box_handle_drag_get (DigitBox* self, GdkDragContext* context, GtkSelectionData* data, guint info, guint time_); const gchar* char_box_get_letter (CharBox* self); static void digit_box_set_canvas (DigitBox* self, Canvas* value); static GObject * digit_box_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); void char_box_set_border (CharBox* self, GtkShadowType value); static void _digit_box_handle_drag_get_gtk_widget_drag_data_get (GtkWidget* _sender, GdkDragContext* context, GtkSelectionData* selection_data, guint info, guint time_, gpointer self); static void _digit_box_handle_drag_begin_gtk_widget_drag_begin (GtkWidget* _sender, GdkDragContext* context, gpointer self); static void _digit_box_handle_drag_end_gtk_widget_drag_end (GtkWidget* _sender, GdkDragContext* context, gpointer self); static void digit_box_finalize (GObject* obj); static void _vala_digit_box_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_digit_box_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); DigitBox* digit_box_construct (GType object_type, Canvas* canvas, const gchar* letter) { DigitBox * self = NULL; g_return_val_if_fail (canvas != NULL, NULL); g_return_val_if_fail (letter != NULL, NULL); self = (DigitBox*) g_object_new (object_type, "canvas", canvas, "letter", letter, NULL); return self; } DigitBox* digit_box_new (Canvas* canvas, const gchar* letter) { return digit_box_construct (TYPE_DIGIT_BOX, canvas, letter); } static gpointer _cairo_surface_reference0 (gpointer self) { return self ? cairo_surface_reference (self) : NULL; } static void digit_box_handle_drag_begin (DigitBox* self, GdkDragContext* context) { GdkWindow* _tmp0_ = NULL; GdkWindow* _tmp1_ = NULL; cairo_region_t* _tmp2_ = NULL; GdkWindow* _tmp3_ = NULL; gint width = 0; gint height = 0; GdkWindow* _tmp4_ = NULL; gint _tmp5_; GdkWindow* _tmp6_ = NULL; gint _tmp7_; GdkWindow* _tmp8_ = NULL; cairo_surface_t* _tmp9_ = NULL; cairo_surface_t* _tmp10_; cairo_surface_t* surface; cairo_t* _tmp11_ = NULL; cairo_t* ctx; GdkWindow* _tmp12_ = NULL; gint x = 0; gint y = 0; gint _tmp13_; gint _tmp14_; gint _tmp15_; gint _tmp16_; g_return_if_fail (self != NULL); g_return_if_fail (context != NULL); canvas_set_mode (self->priv->_canvas, CANVAS_MODE_DIGIT, (CharBox*) self); _tmp0_ = gtk_widget_get_window ((GtkWidget*) self); _tmp1_ = gtk_widget_get_window ((GtkWidget*) self); _tmp2_ = gdk_window_get_visible_region (_tmp1_); gdk_window_invalidate_region (_tmp0_, _tmp2_, TRUE); _tmp3_ = gtk_widget_get_window ((GtkWidget*) self); gdk_window_process_updates (_tmp3_, TRUE); _tmp4_ = gtk_widget_get_window ((GtkWidget*) self); _tmp5_ = gdk_window_get_width (_tmp4_); width = _tmp5_; _tmp6_ = gtk_widget_get_window ((GtkWidget*) self); _tmp7_ = gdk_window_get_height (_tmp6_); height = _tmp7_; _tmp8_ = gtk_widget_get_window ((GtkWidget*) self); _tmp9_ = gdk_window_create_similar_surface (_tmp8_, CAIRO_CONTENT_COLOR, width, height); _tmp10_ = _cairo_surface_reference0 (_tmp9_); surface = _tmp10_; _tmp11_ = cairo_create (surface); ctx = _tmp11_; _tmp12_ = gtk_widget_get_window ((GtkWidget*) self); gdk_cairo_set_source_window (ctx, _tmp12_, (gdouble) 0, (gdouble) 0); cairo_paint (ctx); gtk_widget_get_pointer ((GtkWidget*) self, &_tmp13_, &_tmp14_); x = _tmp13_; y = _tmp14_; _tmp15_ = CLAMP (x, 0, width); x = _tmp15_; _tmp16_ = CLAMP (y, 0, height); y = _tmp16_; cairo_surface_set_device_offset (surface, (gdouble) (-x), (gdouble) (-y)); gtk_drag_set_icon_surface (context, surface); gtk_widget_hide ((GtkWidget*) self); _cairo_destroy0 (ctx); _cairo_surface_destroy0 (surface); } static void digit_box_handle_drag_end (DigitBox* self, GdkDragContext* context) { g_return_if_fail (self != NULL); g_return_if_fail (context != NULL); gtk_widget_show ((GtkWidget*) self); } static void digit_box_handle_drag_get (DigitBox* self, GdkDragContext* context, GtkSelectionData* data, guint info, guint time_) { const gchar* _tmp0_ = NULL; const gchar* _tmp1_ = NULL; gint _tmp2_; g_return_if_fail (self != NULL); g_return_if_fail (context != NULL); g_return_if_fail (data != NULL); _tmp0_ = char_box_get_letter ((CharBox*) self); _tmp1_ = char_box_get_letter ((CharBox*) self); _tmp2_ = strlen (_tmp1_); gtk_selection_data_set_text (data, _tmp0_, (gint) _tmp2_); } Canvas* digit_box_get_canvas (DigitBox* self) { Canvas* result; g_return_val_if_fail (self != NULL, NULL); result = self->priv->_canvas; return result; } static gpointer _g_object_ref0 (gpointer self) { return self ? g_object_ref (self) : NULL; } static void digit_box_set_canvas (DigitBox* self, Canvas* value) { Canvas* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_canvas); self->priv->_canvas = _tmp0_; g_object_notify ((GObject *) self, "canvas"); } static void _digit_box_handle_drag_get_gtk_widget_drag_data_get (GtkWidget* _sender, GdkDragContext* context, GtkSelectionData* selection_data, guint info, guint time_, gpointer self) { digit_box_handle_drag_get (self, context, selection_data, info, time_); } static void _digit_box_handle_drag_begin_gtk_widget_drag_begin (GtkWidget* _sender, GdkDragContext* context, gpointer self) { digit_box_handle_drag_begin (self, context); } static void _digit_box_handle_drag_end_gtk_widget_drag_end (GtkWidget* _sender, GdkDragContext* context, gpointer self) { digit_box_handle_drag_end (self, context); } static GObject * digit_box_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { GObject * obj; GObjectClass * parent_class; DigitBox * self; GtkTargetEntry* _tmp0_ = NULL; GtkTargetEntry* entries; gint entries_length1; gint _entries_size_; parent_class = G_OBJECT_CLASS (digit_box_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = DIGIT_BOX (obj); char_box_set_border ((CharBox*) self, GTK_SHADOW_OUT); _tmp0_ = g_new0 (GtkTargetEntry, 1); entries = _tmp0_; entries_length1 = 1; _entries_size_ = 1; entries[0].target = "STRING"; entries[0].flags = (guint) GTK_TARGET_SAME_APP; entries[0].info = (guint) 0; gtk_drag_source_set ((GtkWidget*) self, GDK_BUTTON1_MASK, entries, entries_length1, GDK_ACTION_MOVE); g_signal_connect_object ((GtkWidget*) self, "drag-data-get", (GCallback) _digit_box_handle_drag_get_gtk_widget_drag_data_get, self, 0); g_signal_connect_object ((GtkWidget*) self, "drag-begin", (GCallback) _digit_box_handle_drag_begin_gtk_widget_drag_begin, self, 0); g_signal_connect_object ((GtkWidget*) self, "drag-end", (GCallback) _digit_box_handle_drag_end_gtk_widget_drag_end, self, 0); entries = (g_free (entries), NULL); return obj; } static void digit_box_class_init (DigitBoxClass * klass) { digit_box_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (DigitBoxPrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_digit_box_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_digit_box_set_property; G_OBJECT_CLASS (klass)->constructor = digit_box_constructor; G_OBJECT_CLASS (klass)->finalize = digit_box_finalize; g_object_class_install_property (G_OBJECT_CLASS (klass), DIGIT_BOX_CANVAS, g_param_spec_object ("canvas", "canvas", "canvas", TYPE_CANVAS, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); } static void digit_box_instance_init (DigitBox * self) { self->priv = DIGIT_BOX_GET_PRIVATE (self); } static void digit_box_finalize (GObject* obj) { DigitBox * self; self = DIGIT_BOX (obj); _g_object_unref0 (self->priv->_canvas); G_OBJECT_CLASS (digit_box_parent_class)->finalize (obj); } GType digit_box_get_type (void) { static volatile gsize digit_box_type_id__volatile = 0; if (g_once_init_enter (&digit_box_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (DigitBoxClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) digit_box_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DigitBox), 0, (GInstanceInitFunc) digit_box_instance_init, NULL }; GType digit_box_type_id; digit_box_type_id = g_type_register_static (TYPE_CHAR_BOX, "DigitBox", &g_define_type_info, 0); g_once_init_leave (&digit_box_type_id__volatile, digit_box_type_id); } return digit_box_type_id__volatile; } static void _vala_digit_box_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { DigitBox * self; self = DIGIT_BOX (object); switch (property_id) { case DIGIT_BOX_CANVAS: g_value_set_object (value, digit_box_get_canvas (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void _vala_digit_box_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { DigitBox * self; self = DIGIT_BOX (object); switch (property_id) { case DIGIT_BOX_CANVAS: digit_box_set_canvas (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } gmult-8.0/gmult/MultPuzzle.vala0000644000175000017500000002146711551157472016241 0ustar udienzudienz/* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2004-2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ using GLib; public enum MultPuzzleGuessStatus { WRONG, CORRECT, KNOWN, INVALID } public enum MultPuzzleChar { A = 65, B, C, D, E, F, G, H, I, J, INVALID } public class MultPuzzle : Object { /* Properties */ public int num_x_digits { get; construct; default = 3; } public int num_y_digits { get; construct; default = 2; } public int total_guesses { get; private set; default = 0; } public int wrong_guesses { get; private set; default = 0; } public int correct_guesses { get; private set; default = 0; } public bool is_done { get; private set; default = false; } /* Signals */ public signal void guessed(int digit, MultPuzzleChar letter, MultPuzzleGuessStatus status); public signal void changed(); /* Constructors */ public MultPuzzle(int num_x, int num_y) { Object(num_x_digits: num_x, num_y_digits: num_y); } /* Methods */ public string get_multiplicand() { return x; } public string get_multiplier() { return y; } public string get_answer() { return z; } public uint get_num_addends() {return addends.length;} public string? get_addend(int n) { if (n < 0 || n >= addends.length) return null; return addends[n]; } public MultPuzzleGuessStatus guess(int digit, MultPuzzleChar letter) { if (digit < 0 || digit > 9 || letter == MultPuzzleChar.INVALID) return MultPuzzleGuessStatus.INVALID; MultPuzzleGuessStatus rv; if (symbols[digit] == letter) { solve_digit (digit); total_guesses ++; correct_guesses ++; have_guessed[((int)letter - (int)MultPuzzleChar.A) * 10 + digit] = true; rv = MultPuzzleGuessStatus.CORRECT; } else if (symbols[digit] == MultPuzzleChar.INVALID) { rv = MultPuzzleGuessStatus.KNOWN; } else { total_guesses ++; wrong_guesses ++; have_guessed[((int)letter - (int)MultPuzzleChar.A) * 10 + digit] = true; rv = MultPuzzleGuessStatus.WRONG; } guessed (digit, letter, rv); return rv; } public void solve() { for (int i = 0; i < 10; i++) solve_digit(i); } public MultPuzzleChar solve_digit(int digit) { if (digit < 0 || digit > 9) return MultPuzzleChar.INVALID; if (!this.needed[digit]) return MultPuzzleChar.INVALID; replace (ref x, digit); replace (ref y, digit); replace (ref z, digit); for (int i = 0; i < addends.length; ++i) { string addend = addends[i]; replace (ref addend, digit); addends[i] = addend; } var symbol = symbols[digit]; symbols[digit] = MultPuzzleChar.INVALID; needed[digit] = false; unknown[digit] = false; bool any_left = false; foreach (bool g in needed) if (g) { any_left = true; break; } if (!any_left) is_done = true; changed (); return symbol; } public bool[] get_unknown_digits() { bool[] rv = new bool[unknown.length]; for (int i = 0; i < unknown.length; i++) rv[i] = unknown[i]; return rv; } public bool[] get_needed_digits() { bool[] rv = new bool[needed.length]; for (int i = 0; i < needed.length; i++) rv[i] = needed[i]; return rv; } public bool[] get_letter_guesses(MultPuzzleChar letter) { bool[] rv = new bool[10]; if (letter == MultPuzzleChar.INVALID) for (int i = 0; i < 10; i++) rv[i] = false; else for (int i = 0; i < 10; i++) rv[i] = have_guessed[((int)letter - (int)MultPuzzleChar.A) * 10 + i]; return rv; } /* Private methods */ // pads a string with 0's in the front if it is less than the minimum private void expand_num_string (ref string n, size_t minimum) { if (n.length >= minimum) return; size_t difference = minimum - n.length; StringBuilder rv = new StringBuilder (); for (size_t i = 0; i < difference; ++i) rv.append_c ('0'); rv.append (n); n = rv.str; } private static void shuffle(MultPuzzleChar[] symbolList) { /** * Here, we need to pick a spot from 0...9, and place the first digit there. * Then, we pick a spot k from 0...8, and place the next digit in the kth free spot. * Repeat. */ for (int i = 0; i < 10; i++) { int spot = Random.int_range(0, 10 - i); int j; for (j = 0; j < 10; j++) { if (symbolList[j] == MultPuzzleChar.INVALID) { if (spot-- == 0) break; } } symbolList[j] = (MultPuzzleChar)(i + 65); } } private void replace(ref string n, int digit) { StringBuilder rv = new StringBuilder (); weak string np = n; while (np.length > 0) { unichar ch = np.get_char (); if ((int)ch == (int)symbols[digit]) rv.append_c ((char)(digit + 48)); else rv.append_unichar (ch); np = np.next_char (); } n = rv.str; } /* Modifies a list of characters, replacing each that represents an unguessed incoming integer with the appropriate letter. */ private void interpret(ref string n) { StringBuilder rv = new StringBuilder (); weak string np = n; while (np.length > 0) { unichar ch = np.get_char (); if (ch.isdigit ()) rv.append_c ((char)symbols[ch.digit_value ()]); else rv.append_unichar (ch); np = np.next_char (); } n = rv.str; } /* n is a string full of digit characters */ private void note_needed(string n) { weak string np = n; while (np.length > 0) { unichar ch = np.get_char (); if (ch.isdigit ()) needed[ch.digit_value ()] = true; np = np.next_char (); } } private static int num_with_n_digits(int n) { int32 low, high; if (n <= 1) low = 0; else low = (int32) Math.pow (10, n - 1); high = (int32) Math.pow (10, n); return Random.int_range(low, high); } /* Private members */ private MultPuzzleChar[] symbols; // the character for each digit 0-9 /* if a digit has yet to be guessed, its value is true else, if a digit has been guessed, or does not appear on the board, its value is false */ private bool[] needed; // if a digit has yet to be guessed, its value is true, else false private bool[] unknown; // if a guess has been made for a digit, the value for the digit will be true // rows are letters, columns are digits private bool[] have_guessed; // X is the multiplicand, Y the multiplier, and Z the answer. private string x; private string y; private string z; // This is a list of the addends resulting from the list of X and Y. private string[] addends; construct { needed = new bool[10]; unknown = new bool[10]; symbols = new MultPuzzleChar[10]; have_guessed = new bool[100]; for (int i = 0; i < 10; ++i) { this.needed[i] = false; this.unknown[i] = true; this.symbols[i] = MultPuzzleChar.INVALID; for (int j = 0; j < 10; j++) have_guessed[i * 10 + j] = false; } shuffle (symbols); // Get value for x and y. int valX = num_with_n_digits (num_x_digits); int valY; do { valY = num_with_n_digits (num_y_digits); } while (valY % 10 == 0); int valZ = valX * valY; x = valX.to_string (); y = valY.to_string (); z = valZ.to_string (); expand_num_string (ref z, x.length + y.length); // Calculate addends. addends = new string[y.length]; for (int i = 0; i < y.length; i++) { int addend = valX * (y[y.length - i - 1].digit_value()); string addend_str = addend.to_string (); expand_num_string (ref addend_str, x.length + 1); note_needed (addend_str); interpret (ref addend_str); addends[i] = addend_str; } note_needed (x); note_needed (y); note_needed (z); interpret (ref x); interpret (ref y); interpret (ref z); } } gmult-8.0/gmult/MultPuzzle.c0000644000175000017500000010437511551170315015527 0ustar udienzudienz/* MultPuzzle.c generated by valac 0.12.0, the Vala compiler * generated from MultPuzzle.vala, do not modify */ /* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2004-2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ #include #include #include #include #include #include #define TYPE_MULT_PUZZLE_GUESS_STATUS (mult_puzzle_guess_status_get_type ()) #define TYPE_MULT_PUZZLE_CHAR (mult_puzzle_char_get_type ()) #define TYPE_MULT_PUZZLE (mult_puzzle_get_type ()) #define MULT_PUZZLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULT_PUZZLE, MultPuzzle)) #define MULT_PUZZLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULT_PUZZLE, MultPuzzleClass)) #define IS_MULT_PUZZLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULT_PUZZLE)) #define IS_MULT_PUZZLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULT_PUZZLE)) #define MULT_PUZZLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULT_PUZZLE, MultPuzzleClass)) typedef struct _MultPuzzle MultPuzzle; typedef struct _MultPuzzleClass MultPuzzleClass; typedef struct _MultPuzzlePrivate MultPuzzlePrivate; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) typedef enum { MULT_PUZZLE_GUESS_STATUS_WRONG, MULT_PUZZLE_GUESS_STATUS_CORRECT, MULT_PUZZLE_GUESS_STATUS_KNOWN, MULT_PUZZLE_GUESS_STATUS_INVALID } MultPuzzleGuessStatus; typedef enum { MULT_PUZZLE_CHAR_A = 65, MULT_PUZZLE_CHAR_B, MULT_PUZZLE_CHAR_C, MULT_PUZZLE_CHAR_D, MULT_PUZZLE_CHAR_E, MULT_PUZZLE_CHAR_F, MULT_PUZZLE_CHAR_G, MULT_PUZZLE_CHAR_H, MULT_PUZZLE_CHAR_I, MULT_PUZZLE_CHAR_J, MULT_PUZZLE_CHAR_INVALID } MultPuzzleChar; struct _MultPuzzle { GObject parent_instance; MultPuzzlePrivate * priv; }; struct _MultPuzzleClass { GObjectClass parent_class; }; struct _MultPuzzlePrivate { gint _num_x_digits; gint _num_y_digits; gint _total_guesses; gint _wrong_guesses; gint _correct_guesses; gboolean _is_done; MultPuzzleChar* symbols; gint symbols_length1; gint _symbols_size_; gboolean* needed; gint needed_length1; gint _needed_size_; gboolean* unknown; gint unknown_length1; gint _unknown_size_; gboolean* have_guessed; gint have_guessed_length1; gint _have_guessed_size_; gchar* x; gchar* y; gchar* z; gchar** addends; gint addends_length1; gint _addends_size_; }; static gpointer mult_puzzle_parent_class = NULL; GType mult_puzzle_guess_status_get_type (void) G_GNUC_CONST; GType mult_puzzle_char_get_type (void) G_GNUC_CONST; GType mult_puzzle_get_type (void) G_GNUC_CONST; #define MULT_PUZZLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MULT_PUZZLE, MultPuzzlePrivate)) enum { MULT_PUZZLE_DUMMY_PROPERTY, MULT_PUZZLE_NUM_X_DIGITS, MULT_PUZZLE_NUM_Y_DIGITS, MULT_PUZZLE_TOTAL_GUESSES, MULT_PUZZLE_WRONG_GUESSES, MULT_PUZZLE_CORRECT_GUESSES, MULT_PUZZLE_IS_DONE }; MultPuzzle* mult_puzzle_new (gint num_x, gint num_y); MultPuzzle* mult_puzzle_construct (GType object_type, gint num_x, gint num_y); gchar* mult_puzzle_get_multiplicand (MultPuzzle* self); gchar* mult_puzzle_get_multiplier (MultPuzzle* self); gchar* mult_puzzle_get_answer (MultPuzzle* self); guint mult_puzzle_get_num_addends (MultPuzzle* self); gchar* mult_puzzle_get_addend (MultPuzzle* self, gint n); MultPuzzleGuessStatus mult_puzzle_guess (MultPuzzle* self, gint digit, MultPuzzleChar letter); MultPuzzleChar mult_puzzle_solve_digit (MultPuzzle* self, gint digit); gint mult_puzzle_get_total_guesses (MultPuzzle* self); static void mult_puzzle_set_total_guesses (MultPuzzle* self, gint value); gint mult_puzzle_get_correct_guesses (MultPuzzle* self); static void mult_puzzle_set_correct_guesses (MultPuzzle* self, gint value); gint mult_puzzle_get_wrong_guesses (MultPuzzle* self); static void mult_puzzle_set_wrong_guesses (MultPuzzle* self, gint value); void mult_puzzle_solve (MultPuzzle* self); static void mult_puzzle_replace (MultPuzzle* self, gchar** n, gint digit); static void mult_puzzle_set_is_done (MultPuzzle* self, gboolean value); gboolean* mult_puzzle_get_unknown_digits (MultPuzzle* self, int* result_length1); gboolean* mult_puzzle_get_needed_digits (MultPuzzle* self, int* result_length1); gboolean* mult_puzzle_get_letter_guesses (MultPuzzle* self, MultPuzzleChar letter, int* result_length1); static void mult_puzzle_expand_num_string (MultPuzzle* self, gchar** n, gsize minimum); static void mult_puzzle_shuffle (MultPuzzleChar* symbolList, int symbolList_length1); static void mult_puzzle_interpret (MultPuzzle* self, gchar** n); static void mult_puzzle_note_needed (MultPuzzle* self, const gchar* n); static gint mult_puzzle_num_with_n_digits (gint n); gint mult_puzzle_get_num_x_digits (MultPuzzle* self); static void mult_puzzle_set_num_x_digits (MultPuzzle* self, gint value); gint mult_puzzle_get_num_y_digits (MultPuzzle* self); static void mult_puzzle_set_num_y_digits (MultPuzzle* self, gint value); gboolean mult_puzzle_get_is_done (MultPuzzle* self); static void g_cclosure_user_marshal_VOID__INT_ENUM_ENUM (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); static GObject * mult_puzzle_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); static void mult_puzzle_finalize (GObject* obj); static void _vala_mult_puzzle_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_mult_puzzle_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); GType mult_puzzle_guess_status_get_type (void) { static volatile gsize mult_puzzle_guess_status_type_id__volatile = 0; if (g_once_init_enter (&mult_puzzle_guess_status_type_id__volatile)) { static const GEnumValue values[] = {{MULT_PUZZLE_GUESS_STATUS_WRONG, "MULT_PUZZLE_GUESS_STATUS_WRONG", "wrong"}, {MULT_PUZZLE_GUESS_STATUS_CORRECT, "MULT_PUZZLE_GUESS_STATUS_CORRECT", "correct"}, {MULT_PUZZLE_GUESS_STATUS_KNOWN, "MULT_PUZZLE_GUESS_STATUS_KNOWN", "known"}, {MULT_PUZZLE_GUESS_STATUS_INVALID, "MULT_PUZZLE_GUESS_STATUS_INVALID", "invalid"}, {0, NULL, NULL}}; GType mult_puzzle_guess_status_type_id; mult_puzzle_guess_status_type_id = g_enum_register_static ("MultPuzzleGuessStatus", values); g_once_init_leave (&mult_puzzle_guess_status_type_id__volatile, mult_puzzle_guess_status_type_id); } return mult_puzzle_guess_status_type_id__volatile; } GType mult_puzzle_char_get_type (void) { static volatile gsize mult_puzzle_char_type_id__volatile = 0; if (g_once_init_enter (&mult_puzzle_char_type_id__volatile)) { static const GEnumValue values[] = {{MULT_PUZZLE_CHAR_A, "MULT_PUZZLE_CHAR_A", "a"}, {MULT_PUZZLE_CHAR_B, "MULT_PUZZLE_CHAR_B", "b"}, {MULT_PUZZLE_CHAR_C, "MULT_PUZZLE_CHAR_C", "c"}, {MULT_PUZZLE_CHAR_D, "MULT_PUZZLE_CHAR_D", "d"}, {MULT_PUZZLE_CHAR_E, "MULT_PUZZLE_CHAR_E", "e"}, {MULT_PUZZLE_CHAR_F, "MULT_PUZZLE_CHAR_F", "f"}, {MULT_PUZZLE_CHAR_G, "MULT_PUZZLE_CHAR_G", "g"}, {MULT_PUZZLE_CHAR_H, "MULT_PUZZLE_CHAR_H", "h"}, {MULT_PUZZLE_CHAR_I, "MULT_PUZZLE_CHAR_I", "i"}, {MULT_PUZZLE_CHAR_J, "MULT_PUZZLE_CHAR_J", "j"}, {MULT_PUZZLE_CHAR_INVALID, "MULT_PUZZLE_CHAR_INVALID", "invalid"}, {0, NULL, NULL}}; GType mult_puzzle_char_type_id; mult_puzzle_char_type_id = g_enum_register_static ("MultPuzzleChar", values); g_once_init_leave (&mult_puzzle_char_type_id__volatile, mult_puzzle_char_type_id); } return mult_puzzle_char_type_id__volatile; } MultPuzzle* mult_puzzle_construct (GType object_type, gint num_x, gint num_y) { MultPuzzle * self = NULL; self = (MultPuzzle*) g_object_new (object_type, "num-x-digits", num_x, "num-y-digits", num_y, NULL); return self; } MultPuzzle* mult_puzzle_new (gint num_x, gint num_y) { return mult_puzzle_construct (TYPE_MULT_PUZZLE, num_x, num_y); } gchar* mult_puzzle_get_multiplicand (MultPuzzle* self) { gchar* result = NULL; gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_strdup (self->priv->x); result = _tmp0_; return result; } gchar* mult_puzzle_get_multiplier (MultPuzzle* self) { gchar* result = NULL; gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_strdup (self->priv->y); result = _tmp0_; return result; } gchar* mult_puzzle_get_answer (MultPuzzle* self) { gchar* result = NULL; gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_strdup (self->priv->z); result = _tmp0_; return result; } guint mult_puzzle_get_num_addends (MultPuzzle* self) { guint result = 0U; g_return_val_if_fail (self != NULL, 0U); result = (guint) self->priv->addends_length1; return result; } gchar* mult_puzzle_get_addend (MultPuzzle* self, gint n) { gchar* result = NULL; gboolean _tmp0_ = FALSE; gchar* _tmp1_; g_return_val_if_fail (self != NULL, NULL); if (n < 0) { _tmp0_ = TRUE; } else { _tmp0_ = n >= self->priv->addends_length1; } if (_tmp0_) { result = NULL; return result; } _tmp1_ = g_strdup (self->priv->addends[n]); result = _tmp1_; return result; } MultPuzzleGuessStatus mult_puzzle_guess (MultPuzzle* self, gint digit, MultPuzzleChar letter) { MultPuzzleGuessStatus result = 0; gboolean _tmp0_ = FALSE; gboolean _tmp1_ = FALSE; MultPuzzleGuessStatus rv = 0; g_return_val_if_fail (self != NULL, 0); if (digit < 0) { _tmp1_ = TRUE; } else { _tmp1_ = digit > 9; } if (_tmp1_) { _tmp0_ = TRUE; } else { _tmp0_ = letter == MULT_PUZZLE_CHAR_INVALID; } if (_tmp0_) { result = MULT_PUZZLE_GUESS_STATUS_INVALID; return result; } if (self->priv->symbols[digit] == letter) { gint _tmp2_; gint _tmp3_; mult_puzzle_solve_digit (self, digit); _tmp2_ = self->priv->_total_guesses; mult_puzzle_set_total_guesses (self, _tmp2_ + 1); _tmp3_ = self->priv->_correct_guesses; mult_puzzle_set_correct_guesses (self, _tmp3_ + 1); self->priv->have_guessed[((((gint) letter) - ((gint) MULT_PUZZLE_CHAR_A)) * 10) + digit] = TRUE; rv = MULT_PUZZLE_GUESS_STATUS_CORRECT; } else { if (self->priv->symbols[digit] == MULT_PUZZLE_CHAR_INVALID) { rv = MULT_PUZZLE_GUESS_STATUS_KNOWN; } else { gint _tmp4_; gint _tmp5_; _tmp4_ = self->priv->_total_guesses; mult_puzzle_set_total_guesses (self, _tmp4_ + 1); _tmp5_ = self->priv->_wrong_guesses; mult_puzzle_set_wrong_guesses (self, _tmp5_ + 1); self->priv->have_guessed[((((gint) letter) - ((gint) MULT_PUZZLE_CHAR_A)) * 10) + digit] = TRUE; rv = MULT_PUZZLE_GUESS_STATUS_WRONG; } } g_signal_emit_by_name (self, "guessed", digit, letter, rv); result = rv; return result; } void mult_puzzle_solve (MultPuzzle* self) { g_return_if_fail (self != NULL); { gint i; i = 0; { gboolean _tmp0_; _tmp0_ = TRUE; while (TRUE) { if (!_tmp0_) { i++; } _tmp0_ = FALSE; if (!(i < 10)) { break; } mult_puzzle_solve_digit (self, i); } } } } MultPuzzleChar mult_puzzle_solve_digit (MultPuzzle* self, gint digit) { MultPuzzleChar result = 0; gboolean _tmp0_ = FALSE; MultPuzzleChar symbol; gboolean any_left; g_return_val_if_fail (self != NULL, 0); if (digit < 0) { _tmp0_ = TRUE; } else { _tmp0_ = digit > 9; } if (_tmp0_) { result = MULT_PUZZLE_CHAR_INVALID; return result; } if (!self->priv->needed[digit]) { result = MULT_PUZZLE_CHAR_INVALID; return result; } mult_puzzle_replace (self, &self->priv->x, digit); mult_puzzle_replace (self, &self->priv->y, digit); mult_puzzle_replace (self, &self->priv->z, digit); { gint i; i = 0; { gboolean _tmp1_; _tmp1_ = TRUE; while (TRUE) { gchar* _tmp2_; gchar* addend; gchar* _tmp3_; gchar* _tmp4_; if (!_tmp1_) { i = i + 1; } _tmp1_ = FALSE; if (!(i < self->priv->addends_length1)) { break; } _tmp2_ = g_strdup (self->priv->addends[i]); addend = _tmp2_; mult_puzzle_replace (self, &addend, digit); _tmp3_ = g_strdup (addend); _tmp4_ = _tmp3_; _g_free0 (self->priv->addends[i]); self->priv->addends[i] = _tmp4_; _g_free0 (addend); } } } symbol = self->priv->symbols[digit]; self->priv->symbols[digit] = MULT_PUZZLE_CHAR_INVALID; self->priv->needed[digit] = FALSE; self->priv->unknown[digit] = FALSE; any_left = FALSE; { gboolean* g_collection; int g_collection_length1; int g_it; g_collection = self->priv->needed; g_collection_length1 = self->priv->needed_length1; for (g_it = 0; g_it < self->priv->needed_length1; g_it = g_it + 1) { gboolean g; g = g_collection[g_it]; { if (g) { any_left = TRUE; break; } } } } if (!any_left) { mult_puzzle_set_is_done (self, TRUE); } g_signal_emit_by_name (self, "changed"); result = symbol; return result; } gboolean* mult_puzzle_get_unknown_digits (MultPuzzle* self, int* result_length1) { gboolean* result = NULL; gboolean* _tmp0_ = NULL; gboolean* rv; gint rv_length1; gint _rv_size_; gboolean* _tmp2_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_new0 (gboolean, self->priv->unknown_length1); rv = _tmp0_; rv_length1 = self->priv->unknown_length1; _rv_size_ = self->priv->unknown_length1; { gint i; i = 0; { gboolean _tmp1_; _tmp1_ = TRUE; while (TRUE) { if (!_tmp1_) { i++; } _tmp1_ = FALSE; if (!(i < self->priv->unknown_length1)) { break; } rv[i] = self->priv->unknown[i]; } } } _tmp2_ = rv; *result_length1 = rv_length1; result = _tmp2_; return result; } gboolean* mult_puzzle_get_needed_digits (MultPuzzle* self, int* result_length1) { gboolean* result = NULL; gboolean* _tmp0_ = NULL; gboolean* rv; gint rv_length1; gint _rv_size_; gboolean* _tmp2_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_new0 (gboolean, self->priv->needed_length1); rv = _tmp0_; rv_length1 = self->priv->needed_length1; _rv_size_ = self->priv->needed_length1; { gint i; i = 0; { gboolean _tmp1_; _tmp1_ = TRUE; while (TRUE) { if (!_tmp1_) { i++; } _tmp1_ = FALSE; if (!(i < self->priv->needed_length1)) { break; } rv[i] = self->priv->needed[i]; } } } _tmp2_ = rv; *result_length1 = rv_length1; result = _tmp2_; return result; } gboolean* mult_puzzle_get_letter_guesses (MultPuzzle* self, MultPuzzleChar letter, int* result_length1) { gboolean* result = NULL; gboolean* _tmp0_ = NULL; gboolean* rv; gint rv_length1; gint _rv_size_; gboolean* _tmp3_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_new0 (gboolean, 10); rv = _tmp0_; rv_length1 = 10; _rv_size_ = 10; if (letter == MULT_PUZZLE_CHAR_INVALID) { { gint i; i = 0; { gboolean _tmp1_; _tmp1_ = TRUE; while (TRUE) { if (!_tmp1_) { i++; } _tmp1_ = FALSE; if (!(i < 10)) { break; } rv[i] = FALSE; } } } } else { { gint i; i = 0; { gboolean _tmp2_; _tmp2_ = TRUE; while (TRUE) { if (!_tmp2_) { i++; } _tmp2_ = FALSE; if (!(i < 10)) { break; } rv[i] = self->priv->have_guessed[((((gint) letter) - ((gint) MULT_PUZZLE_CHAR_A)) * 10) + i]; } } } } _tmp3_ = rv; *result_length1 = rv_length1; result = _tmp3_; return result; } static void mult_puzzle_expand_num_string (MultPuzzle* self, gchar** n, gsize minimum) { gint _tmp0_; gint _tmp1_; gsize difference; GString* _tmp2_ = NULL; GString* rv; gchar* _tmp4_; g_return_if_fail (self != NULL); g_return_if_fail (n != NULL); _tmp0_ = strlen (*n); if (_tmp0_ >= minimum) { return; } _tmp1_ = strlen (*n); difference = minimum - _tmp1_; _tmp2_ = g_string_new (""); rv = _tmp2_; { gsize i; i = (gsize) 0; { gboolean _tmp3_; _tmp3_ = TRUE; while (TRUE) { if (!_tmp3_) { i = i + 1; } _tmp3_ = FALSE; if (!(i < difference)) { break; } g_string_append_c (rv, '0'); } } } g_string_append (rv, *n); _tmp4_ = g_strdup (rv->str); _g_free0 (*n); *n = _tmp4_; _g_string_free0 (rv); } static void mult_puzzle_shuffle (MultPuzzleChar* symbolList, int symbolList_length1) { { gint i; i = 0; { gboolean _tmp0_; _tmp0_ = TRUE; while (TRUE) { gint32 _tmp1_; gint spot; gint j = 0; if (!_tmp0_) { i++; } _tmp0_ = FALSE; if (!(i < 10)) { break; } _tmp1_ = g_random_int_range ((gint32) 0, (gint32) (10 - i)); spot = (gint) _tmp1_; { gboolean _tmp2_; j = 0; _tmp2_ = TRUE; while (TRUE) { if (!_tmp2_) { j++; } _tmp2_ = FALSE; if (!(j < 10)) { break; } if (symbolList[j] == MULT_PUZZLE_CHAR_INVALID) { gint _tmp3_; _tmp3_ = spot; spot = _tmp3_ - 1; if (_tmp3_ == 0) { break; } } } } symbolList[j] = (MultPuzzleChar) (i + 65); } } } } static gunichar string_get_char (const gchar* self, glong index) { gunichar result = 0U; gunichar _tmp0_; g_return_val_if_fail (self != NULL, 0U); _tmp0_ = g_utf8_get_char (((gchar*) self) + index); result = _tmp0_; return result; } static void mult_puzzle_replace (MultPuzzle* self, gchar** n, gint digit) { GString* _tmp0_ = NULL; GString* rv; const gchar* np; gchar* _tmp4_; g_return_if_fail (self != NULL); g_return_if_fail (n != NULL); _tmp0_ = g_string_new (""); rv = _tmp0_; np = *n; while (TRUE) { gint _tmp1_; gunichar _tmp2_; gunichar ch; const gchar* _tmp3_ = NULL; _tmp1_ = strlen (np); if (!(_tmp1_ > 0)) { break; } _tmp2_ = string_get_char (np, (glong) 0); ch = _tmp2_; if (((gint) ch) == ((gint) self->priv->symbols[digit])) { g_string_append_c (rv, (gchar) (digit + 48)); } else { g_string_append_unichar (rv, ch); } _tmp3_ = g_utf8_next_char (np); np = _tmp3_; } _tmp4_ = g_strdup (rv->str); _g_free0 (*n); *n = _tmp4_; _g_string_free0 (rv); } static void mult_puzzle_interpret (MultPuzzle* self, gchar** n) { GString* _tmp0_ = NULL; GString* rv; const gchar* np; gchar* _tmp6_; g_return_if_fail (self != NULL); g_return_if_fail (n != NULL); _tmp0_ = g_string_new (""); rv = _tmp0_; np = *n; while (TRUE) { gint _tmp1_; gunichar _tmp2_; gunichar ch; gboolean _tmp3_; const gchar* _tmp5_ = NULL; _tmp1_ = strlen (np); if (!(_tmp1_ > 0)) { break; } _tmp2_ = string_get_char (np, (glong) 0); ch = _tmp2_; _tmp3_ = g_unichar_isdigit (ch); if (_tmp3_) { gint _tmp4_; _tmp4_ = g_unichar_digit_value (ch); g_string_append_c (rv, (gchar) self->priv->symbols[_tmp4_]); } else { g_string_append_unichar (rv, ch); } _tmp5_ = g_utf8_next_char (np); np = _tmp5_; } _tmp6_ = g_strdup (rv->str); _g_free0 (*n); *n = _tmp6_; _g_string_free0 (rv); } static void mult_puzzle_note_needed (MultPuzzle* self, const gchar* n) { const gchar* np; g_return_if_fail (self != NULL); g_return_if_fail (n != NULL); np = n; while (TRUE) { gint _tmp0_; gunichar _tmp1_; gunichar ch; gboolean _tmp2_; const gchar* _tmp4_ = NULL; _tmp0_ = strlen (np); if (!(_tmp0_ > 0)) { break; } _tmp1_ = string_get_char (np, (glong) 0); ch = _tmp1_; _tmp2_ = g_unichar_isdigit (ch); if (_tmp2_) { gint _tmp3_; _tmp3_ = g_unichar_digit_value (ch); self->priv->needed[_tmp3_] = TRUE; } _tmp4_ = g_utf8_next_char (np); np = _tmp4_; } } static gint mult_puzzle_num_with_n_digits (gint n) { gint result = 0; gint32 low = 0; gint32 high = 0; gdouble _tmp1_; gint32 _tmp2_; if (n <= 1) { low = (gint32) 0; } else { gdouble _tmp0_; _tmp0_ = pow ((gdouble) 10, (gdouble) (n - 1)); low = (gint32) _tmp0_; } _tmp1_ = pow ((gdouble) 10, (gdouble) n); high = (gint32) _tmp1_; _tmp2_ = g_random_int_range (low, high); result = (gint) _tmp2_; return result; } gint mult_puzzle_get_num_x_digits (MultPuzzle* self) { gint result; g_return_val_if_fail (self != NULL, 0); result = self->priv->_num_x_digits; return result; } static void mult_puzzle_set_num_x_digits (MultPuzzle* self, gint value) { g_return_if_fail (self != NULL); self->priv->_num_x_digits = value; g_object_notify ((GObject *) self, "num-x-digits"); } gint mult_puzzle_get_num_y_digits (MultPuzzle* self) { gint result; g_return_val_if_fail (self != NULL, 0); result = self->priv->_num_y_digits; return result; } static void mult_puzzle_set_num_y_digits (MultPuzzle* self, gint value) { g_return_if_fail (self != NULL); self->priv->_num_y_digits = value; g_object_notify ((GObject *) self, "num-y-digits"); } gint mult_puzzle_get_total_guesses (MultPuzzle* self) { gint result; g_return_val_if_fail (self != NULL, 0); result = self->priv->_total_guesses; return result; } static void mult_puzzle_set_total_guesses (MultPuzzle* self, gint value) { g_return_if_fail (self != NULL); self->priv->_total_guesses = value; g_object_notify ((GObject *) self, "total-guesses"); } gint mult_puzzle_get_wrong_guesses (MultPuzzle* self) { gint result; g_return_val_if_fail (self != NULL, 0); result = self->priv->_wrong_guesses; return result; } static void mult_puzzle_set_wrong_guesses (MultPuzzle* self, gint value) { g_return_if_fail (self != NULL); self->priv->_wrong_guesses = value; g_object_notify ((GObject *) self, "wrong-guesses"); } gint mult_puzzle_get_correct_guesses (MultPuzzle* self) { gint result; g_return_val_if_fail (self != NULL, 0); result = self->priv->_correct_guesses; return result; } static void mult_puzzle_set_correct_guesses (MultPuzzle* self, gint value) { g_return_if_fail (self != NULL); self->priv->_correct_guesses = value; g_object_notify ((GObject *) self, "correct-guesses"); } gboolean mult_puzzle_get_is_done (MultPuzzle* self) { gboolean result; g_return_val_if_fail (self != NULL, FALSE); result = self->priv->_is_done; return result; } static void mult_puzzle_set_is_done (MultPuzzle* self, gboolean value) { g_return_if_fail (self != NULL); self->priv->_is_done = value; g_object_notify ((GObject *) self, "is-done"); } static void g_cclosure_user_marshal_VOID__INT_ENUM_ENUM (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_ENUM_ENUM) (gpointer data1, gint arg_1, gint arg_2, gint arg_3, gpointer data2); register GMarshalFunc_VOID__INT_ENUM_ENUM callback; register GCClosure * cc; register gpointer data1, data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 4); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = param_values->data[0].v_pointer; } else { data1 = param_values->data[0].v_pointer; data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_ENUM_ENUM) (marshal_data ? marshal_data : cc->callback); callback (data1, g_value_get_int (param_values + 1), g_value_get_enum (param_values + 2), g_value_get_enum (param_values + 3), data2); } static gchar string_get (const gchar* self, glong index) { gchar result = '\0'; g_return_val_if_fail (self != NULL, '\0'); result = ((gchar*) self)[index]; return result; } static GObject * mult_puzzle_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { GObject * obj; GObjectClass * parent_class; MultPuzzle * self; gboolean* _tmp0_ = NULL; gboolean* _tmp1_ = NULL; MultPuzzleChar* _tmp2_ = NULL; gboolean* _tmp3_ = NULL; gint _tmp6_; gint valX; gint valY = 0; gint valZ; gchar* _tmp9_ = NULL; gchar* _tmp10_ = NULL; gchar* _tmp11_ = NULL; gint _tmp12_; gint _tmp13_; gint _tmp14_; gchar** _tmp15_ = NULL; parent_class = G_OBJECT_CLASS (mult_puzzle_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = MULT_PUZZLE (obj); _tmp0_ = g_new0 (gboolean, 10); self->priv->needed = (g_free (self->priv->needed), NULL); self->priv->needed = _tmp0_; self->priv->needed_length1 = 10; self->priv->_needed_size_ = 10; _tmp1_ = g_new0 (gboolean, 10); self->priv->unknown = (g_free (self->priv->unknown), NULL); self->priv->unknown = _tmp1_; self->priv->unknown_length1 = 10; self->priv->_unknown_size_ = 10; _tmp2_ = g_new0 (MultPuzzleChar, 10); self->priv->symbols = (g_free (self->priv->symbols), NULL); self->priv->symbols = _tmp2_; self->priv->symbols_length1 = 10; self->priv->_symbols_size_ = 10; _tmp3_ = g_new0 (gboolean, 100); self->priv->have_guessed = (g_free (self->priv->have_guessed), NULL); self->priv->have_guessed = _tmp3_; self->priv->have_guessed_length1 = 100; self->priv->_have_guessed_size_ = 100; { gint i; i = 0; { gboolean _tmp4_; _tmp4_ = TRUE; while (TRUE) { if (!_tmp4_) { i = i + 1; } _tmp4_ = FALSE; if (!(i < 10)) { break; } self->priv->needed[i] = FALSE; self->priv->unknown[i] = TRUE; self->priv->symbols[i] = MULT_PUZZLE_CHAR_INVALID; { gint j; j = 0; { gboolean _tmp5_; _tmp5_ = TRUE; while (TRUE) { if (!_tmp5_) { j++; } _tmp5_ = FALSE; if (!(j < 10)) { break; } self->priv->have_guessed[(i * 10) + j] = FALSE; } } } } } } mult_puzzle_shuffle (self->priv->symbols, self->priv->symbols_length1); _tmp6_ = mult_puzzle_num_with_n_digits (self->priv->_num_x_digits); valX = _tmp6_; { gboolean _tmp7_; _tmp7_ = TRUE; while (TRUE) { gint _tmp8_; if (!_tmp7_) { if (!((valY % 10) == 0)) { break; } } _tmp7_ = FALSE; _tmp8_ = mult_puzzle_num_with_n_digits (self->priv->_num_y_digits); valY = _tmp8_; } } valZ = valX * valY; _tmp9_ = g_strdup_printf ("%i", valX); _g_free0 (self->priv->x); self->priv->x = _tmp9_; _tmp10_ = g_strdup_printf ("%i", valY); _g_free0 (self->priv->y); self->priv->y = _tmp10_; _tmp11_ = g_strdup_printf ("%i", valZ); _g_free0 (self->priv->z); self->priv->z = _tmp11_; _tmp12_ = strlen (self->priv->x); _tmp13_ = strlen (self->priv->y); mult_puzzle_expand_num_string (self, &self->priv->z, (gsize) (_tmp12_ + _tmp13_)); _tmp14_ = strlen (self->priv->y); _tmp15_ = g_new0 (gchar*, _tmp14_ + 1); self->priv->addends = (_vala_array_free (self->priv->addends, self->priv->addends_length1, (GDestroyNotify) g_free), NULL); self->priv->addends = _tmp15_; self->priv->addends_length1 = _tmp14_; self->priv->_addends_size_ = _tmp14_; { gint i; i = 0; { gboolean _tmp16_; _tmp16_ = TRUE; while (TRUE) { gint _tmp17_; gint _tmp18_; gchar _tmp19_; gint _tmp20_; gint addend; gchar* _tmp21_ = NULL; gchar* addend_str; gint _tmp22_; gchar* _tmp23_; gchar* _tmp24_; if (!_tmp16_) { i++; } _tmp16_ = FALSE; _tmp17_ = strlen (self->priv->y); if (!(i < _tmp17_)) { break; } _tmp18_ = strlen (self->priv->y); _tmp19_ = string_get (self->priv->y, (glong) ((_tmp18_ - i) - 1)); _tmp20_ = g_ascii_digit_value (_tmp19_); addend = valX * _tmp20_; _tmp21_ = g_strdup_printf ("%i", addend); addend_str = _tmp21_; _tmp22_ = strlen (self->priv->x); mult_puzzle_expand_num_string (self, &addend_str, (gsize) (_tmp22_ + 1)); mult_puzzle_note_needed (self, addend_str); mult_puzzle_interpret (self, &addend_str); _tmp23_ = g_strdup (addend_str); _tmp24_ = _tmp23_; _g_free0 (self->priv->addends[i]); self->priv->addends[i] = _tmp24_; _g_free0 (addend_str); } } } mult_puzzle_note_needed (self, self->priv->x); mult_puzzle_note_needed (self, self->priv->y); mult_puzzle_note_needed (self, self->priv->z); mult_puzzle_interpret (self, &self->priv->x); mult_puzzle_interpret (self, &self->priv->y); mult_puzzle_interpret (self, &self->priv->z); return obj; } static void mult_puzzle_class_init (MultPuzzleClass * klass) { mult_puzzle_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (MultPuzzlePrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_mult_puzzle_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_mult_puzzle_set_property; G_OBJECT_CLASS (klass)->constructor = mult_puzzle_constructor; G_OBJECT_CLASS (klass)->finalize = mult_puzzle_finalize; g_object_class_install_property (G_OBJECT_CLASS (klass), MULT_PUZZLE_NUM_X_DIGITS, g_param_spec_int ("num-x-digits", "num-x-digits", "num-x-digits", G_MININT, G_MAXINT, 3, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (G_OBJECT_CLASS (klass), MULT_PUZZLE_NUM_Y_DIGITS, g_param_spec_int ("num-y-digits", "num-y-digits", "num-y-digits", G_MININT, G_MAXINT, 2, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (G_OBJECT_CLASS (klass), MULT_PUZZLE_TOTAL_GUESSES, g_param_spec_int ("total-guesses", "total-guesses", "total-guesses", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), MULT_PUZZLE_WRONG_GUESSES, g_param_spec_int ("wrong-guesses", "wrong-guesses", "wrong-guesses", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), MULT_PUZZLE_CORRECT_GUESSES, g_param_spec_int ("correct-guesses", "correct-guesses", "correct-guesses", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), MULT_PUZZLE_IS_DONE, g_param_spec_boolean ("is-done", "is-done", "is-done", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); g_signal_new ("guessed", TYPE_MULT_PUZZLE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__INT_ENUM_ENUM, G_TYPE_NONE, 3, G_TYPE_INT, TYPE_MULT_PUZZLE_CHAR, TYPE_MULT_PUZZLE_GUESS_STATUS); g_signal_new ("changed", TYPE_MULT_PUZZLE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); } static void mult_puzzle_instance_init (MultPuzzle * self) { self->priv = MULT_PUZZLE_GET_PRIVATE (self); self->priv->_num_x_digits = 3; self->priv->_num_y_digits = 2; self->priv->_total_guesses = 0; self->priv->_wrong_guesses = 0; self->priv->_correct_guesses = 0; self->priv->_is_done = FALSE; } static void mult_puzzle_finalize (GObject* obj) { MultPuzzle * self; self = MULT_PUZZLE (obj); self->priv->symbols = (g_free (self->priv->symbols), NULL); self->priv->needed = (g_free (self->priv->needed), NULL); self->priv->unknown = (g_free (self->priv->unknown), NULL); self->priv->have_guessed = (g_free (self->priv->have_guessed), NULL); _g_free0 (self->priv->x); _g_free0 (self->priv->y); _g_free0 (self->priv->z); self->priv->addends = (_vala_array_free (self->priv->addends, self->priv->addends_length1, (GDestroyNotify) g_free), NULL); G_OBJECT_CLASS (mult_puzzle_parent_class)->finalize (obj); } GType mult_puzzle_get_type (void) { static volatile gsize mult_puzzle_type_id__volatile = 0; if (g_once_init_enter (&mult_puzzle_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (MultPuzzleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) mult_puzzle_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MultPuzzle), 0, (GInstanceInitFunc) mult_puzzle_instance_init, NULL }; GType mult_puzzle_type_id; mult_puzzle_type_id = g_type_register_static (G_TYPE_OBJECT, "MultPuzzle", &g_define_type_info, 0); g_once_init_leave (&mult_puzzle_type_id__volatile, mult_puzzle_type_id); } return mult_puzzle_type_id__volatile; } static void _vala_mult_puzzle_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { MultPuzzle * self; self = MULT_PUZZLE (object); switch (property_id) { case MULT_PUZZLE_NUM_X_DIGITS: g_value_set_int (value, mult_puzzle_get_num_x_digits (self)); break; case MULT_PUZZLE_NUM_Y_DIGITS: g_value_set_int (value, mult_puzzle_get_num_y_digits (self)); break; case MULT_PUZZLE_TOTAL_GUESSES: g_value_set_int (value, mult_puzzle_get_total_guesses (self)); break; case MULT_PUZZLE_WRONG_GUESSES: g_value_set_int (value, mult_puzzle_get_wrong_guesses (self)); break; case MULT_PUZZLE_CORRECT_GUESSES: g_value_set_int (value, mult_puzzle_get_correct_guesses (self)); break; case MULT_PUZZLE_IS_DONE: g_value_set_boolean (value, mult_puzzle_get_is_done (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void _vala_mult_puzzle_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { MultPuzzle * self; self = MULT_PUZZLE (object); switch (property_id) { case MULT_PUZZLE_NUM_X_DIGITS: mult_puzzle_set_num_x_digits (self, g_value_get_int (value)); break; case MULT_PUZZLE_NUM_Y_DIGITS: mult_puzzle_set_num_y_digits (self, g_value_get_int (value)); break; case MULT_PUZZLE_TOTAL_GUESSES: mult_puzzle_set_total_guesses (self, g_value_get_int (value)); break; case MULT_PUZZLE_WRONG_GUESSES: mult_puzzle_set_wrong_guesses (self, g_value_get_int (value)); break; case MULT_PUZZLE_CORRECT_GUESSES: mult_puzzle_set_correct_guesses (self, g_value_get_int (value)); break; case MULT_PUZZLE_IS_DONE: mult_puzzle_set_is_done (self, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { if ((array != NULL) && (destroy_func != NULL)) { int i; for (i = 0; i < array_length; i = i + 1) { if (((gpointer*) array)[i] != NULL) { destroy_func (((gpointer*) array)[i]); } } } } static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { _vala_array_destroy (array, array_length, destroy_func); g_free (array); } gmult-8.0/gmult/Makefile.in0000644000175000017500000006725211551160265015302 0ustar udienzudienz# Makefile.in generated by automake 1.11.1 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. # 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. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = gmult$(EXEEXT) subdir = gmult DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am__objects_1 = gmult-Canvas.$(OBJEXT) gmult-CharBox.$(OBJEXT) \ gmult-DigitBox.$(OBJEXT) gmult-GtkMult.$(OBJEXT) \ gmult-MultPuzzle.$(OBJEXT) gmult-TableBox.$(OBJEXT) am__objects_2 = $(am__objects_1) am_gmult_OBJECTS = $(am__objects_2) gmult_OBJECTS = $(am_gmult_OBJECTS) am__DEPENDENCIES_1 = gmult_DEPENDENCIES = $(am__DEPENDENCIES_1) gmult_LINK = $(CCLD) $(gmult_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(gmult_SOURCES) DIST_SOURCES = $(gmult_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ gmult_CFLAGS = \ $(GTK_CFLAGS) \ -DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" gmult_LDADD = $(GTK_LIBS) @INTLLIBS@ gmult_VALASOURCES = \ Canvas.vala \ CharBox.vala \ DigitBox.vala \ GtkMult.vala \ MultPuzzle.vala \ TableBox.vala gmult_VALABUILTSOURCES = \ $(gmult_VALASOURCES:.vala=.c) gmult_SOURCES = \ $(gmult_VALABUILTSOURCES) @MAINTAINER_MODE_TRUE@VALA_CFLAGS = \ @MAINTAINER_MODE_TRUE@ --vapidir $(top_srcdir)/vapi \ @MAINTAINER_MODE_TRUE@ --pkg gtk+-3.0 \ @MAINTAINER_MODE_TRUE@ --pkg gio-2.0 \ @MAINTAINER_MODE_TRUE@ --pkg config @MAINTAINER_MODE_TRUE@BUILT_SOURCES = vala.stamp EXTRA_DIST = $(gmult_VALASOURCES) @MAINTAINER_MODE_TRUE@CLEANFILES = $(BUILT_SOURCES) $(gmult_VALABUILTSOURCES) all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gmult/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gmult/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ 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; \ done | \ 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 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @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)/' `; \ 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) gmult$(EXEEXT): $(gmult_OBJECTS) $(gmult_DEPENDENCIES) @rm -f gmult$(EXEEXT) $(AM_V_CCLD)$(gmult_LINK) $(gmult_OBJECTS) $(gmult_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmult-Canvas.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmult-CharBox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmult-DigitBox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmult-GtkMult.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmult-MultPuzzle.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmult-TableBox.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` gmult-Canvas.o: Canvas.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-Canvas.o -MD -MP -MF $(DEPDIR)/gmult-Canvas.Tpo -c -o gmult-Canvas.o `test -f 'Canvas.c' || echo '$(srcdir)/'`Canvas.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-Canvas.Tpo $(DEPDIR)/gmult-Canvas.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='Canvas.c' object='gmult-Canvas.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-Canvas.o `test -f 'Canvas.c' || echo '$(srcdir)/'`Canvas.c gmult-Canvas.obj: Canvas.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-Canvas.obj -MD -MP -MF $(DEPDIR)/gmult-Canvas.Tpo -c -o gmult-Canvas.obj `if test -f 'Canvas.c'; then $(CYGPATH_W) 'Canvas.c'; else $(CYGPATH_W) '$(srcdir)/Canvas.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-Canvas.Tpo $(DEPDIR)/gmult-Canvas.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='Canvas.c' object='gmult-Canvas.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-Canvas.obj `if test -f 'Canvas.c'; then $(CYGPATH_W) 'Canvas.c'; else $(CYGPATH_W) '$(srcdir)/Canvas.c'; fi` gmult-CharBox.o: CharBox.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-CharBox.o -MD -MP -MF $(DEPDIR)/gmult-CharBox.Tpo -c -o gmult-CharBox.o `test -f 'CharBox.c' || echo '$(srcdir)/'`CharBox.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-CharBox.Tpo $(DEPDIR)/gmult-CharBox.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='CharBox.c' object='gmult-CharBox.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-CharBox.o `test -f 'CharBox.c' || echo '$(srcdir)/'`CharBox.c gmult-CharBox.obj: CharBox.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-CharBox.obj -MD -MP -MF $(DEPDIR)/gmult-CharBox.Tpo -c -o gmult-CharBox.obj `if test -f 'CharBox.c'; then $(CYGPATH_W) 'CharBox.c'; else $(CYGPATH_W) '$(srcdir)/CharBox.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-CharBox.Tpo $(DEPDIR)/gmult-CharBox.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='CharBox.c' object='gmult-CharBox.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-CharBox.obj `if test -f 'CharBox.c'; then $(CYGPATH_W) 'CharBox.c'; else $(CYGPATH_W) '$(srcdir)/CharBox.c'; fi` gmult-DigitBox.o: DigitBox.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-DigitBox.o -MD -MP -MF $(DEPDIR)/gmult-DigitBox.Tpo -c -o gmult-DigitBox.o `test -f 'DigitBox.c' || echo '$(srcdir)/'`DigitBox.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-DigitBox.Tpo $(DEPDIR)/gmult-DigitBox.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='DigitBox.c' object='gmult-DigitBox.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-DigitBox.o `test -f 'DigitBox.c' || echo '$(srcdir)/'`DigitBox.c gmult-DigitBox.obj: DigitBox.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-DigitBox.obj -MD -MP -MF $(DEPDIR)/gmult-DigitBox.Tpo -c -o gmult-DigitBox.obj `if test -f 'DigitBox.c'; then $(CYGPATH_W) 'DigitBox.c'; else $(CYGPATH_W) '$(srcdir)/DigitBox.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-DigitBox.Tpo $(DEPDIR)/gmult-DigitBox.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='DigitBox.c' object='gmult-DigitBox.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-DigitBox.obj `if test -f 'DigitBox.c'; then $(CYGPATH_W) 'DigitBox.c'; else $(CYGPATH_W) '$(srcdir)/DigitBox.c'; fi` gmult-GtkMult.o: GtkMult.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-GtkMult.o -MD -MP -MF $(DEPDIR)/gmult-GtkMult.Tpo -c -o gmult-GtkMult.o `test -f 'GtkMult.c' || echo '$(srcdir)/'`GtkMult.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-GtkMult.Tpo $(DEPDIR)/gmult-GtkMult.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='GtkMult.c' object='gmult-GtkMult.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-GtkMult.o `test -f 'GtkMult.c' || echo '$(srcdir)/'`GtkMult.c gmult-GtkMult.obj: GtkMult.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-GtkMult.obj -MD -MP -MF $(DEPDIR)/gmult-GtkMult.Tpo -c -o gmult-GtkMult.obj `if test -f 'GtkMult.c'; then $(CYGPATH_W) 'GtkMult.c'; else $(CYGPATH_W) '$(srcdir)/GtkMult.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-GtkMult.Tpo $(DEPDIR)/gmult-GtkMult.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='GtkMult.c' object='gmult-GtkMult.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-GtkMult.obj `if test -f 'GtkMult.c'; then $(CYGPATH_W) 'GtkMult.c'; else $(CYGPATH_W) '$(srcdir)/GtkMult.c'; fi` gmult-MultPuzzle.o: MultPuzzle.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-MultPuzzle.o -MD -MP -MF $(DEPDIR)/gmult-MultPuzzle.Tpo -c -o gmult-MultPuzzle.o `test -f 'MultPuzzle.c' || echo '$(srcdir)/'`MultPuzzle.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-MultPuzzle.Tpo $(DEPDIR)/gmult-MultPuzzle.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='MultPuzzle.c' object='gmult-MultPuzzle.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-MultPuzzle.o `test -f 'MultPuzzle.c' || echo '$(srcdir)/'`MultPuzzle.c gmult-MultPuzzle.obj: MultPuzzle.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-MultPuzzle.obj -MD -MP -MF $(DEPDIR)/gmult-MultPuzzle.Tpo -c -o gmult-MultPuzzle.obj `if test -f 'MultPuzzle.c'; then $(CYGPATH_W) 'MultPuzzle.c'; else $(CYGPATH_W) '$(srcdir)/MultPuzzle.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-MultPuzzle.Tpo $(DEPDIR)/gmult-MultPuzzle.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='MultPuzzle.c' object='gmult-MultPuzzle.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-MultPuzzle.obj `if test -f 'MultPuzzle.c'; then $(CYGPATH_W) 'MultPuzzle.c'; else $(CYGPATH_W) '$(srcdir)/MultPuzzle.c'; fi` gmult-TableBox.o: TableBox.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-TableBox.o -MD -MP -MF $(DEPDIR)/gmult-TableBox.Tpo -c -o gmult-TableBox.o `test -f 'TableBox.c' || echo '$(srcdir)/'`TableBox.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-TableBox.Tpo $(DEPDIR)/gmult-TableBox.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='TableBox.c' object='gmult-TableBox.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-TableBox.o `test -f 'TableBox.c' || echo '$(srcdir)/'`TableBox.c gmult-TableBox.obj: TableBox.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -MT gmult-TableBox.obj -MD -MP -MF $(DEPDIR)/gmult-TableBox.Tpo -c -o gmult-TableBox.obj `if test -f 'TableBox.c'; then $(CYGPATH_W) 'TableBox.c'; else $(CYGPATH_W) '$(srcdir)/TableBox.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gmult-TableBox.Tpo $(DEPDIR)/gmult-TableBox.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='TableBox.c' object='gmult-TableBox.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmult_CFLAGS) $(CFLAGS) -c -o gmult-TableBox.obj `if test -f 'TableBox.c'; then $(CYGPATH_W) 'TableBox.c'; else $(CYGPATH_W) '$(srcdir)/TableBox.c'; fi` 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) 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; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$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; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-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 mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: all check install 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 @MAINTAINER_MODE_TRUE@vala.stamp: $(gmult_VALASOURCES) @MAINTAINER_MODE_TRUE@ $(AM_V_GEN)$(VALAC) -C $(VALA_CFLAGS) $^ @MAINTAINER_MODE_TRUE@ @touch $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gmult-8.0/gmult/TableBox.vala0000644000175000017500000000723711551166200015572 0ustar udienzudienz/* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2004-2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ using GLib; public class TableBox : CharBox { public Canvas canvas { get; construct; } public char character { get; construct; } public TableBox (char c, Canvas can) { Object(character: c, canvas: can); } construct { did_enter = false; drag_status = true; this.letter = "%c".printf (character); this.border = Gtk.ShadowType.IN; Gtk.TargetEntry[] entries = new Gtk.TargetEntry[1]; entries[0].target = "STRING"; entries[0].flags = Gtk.TargetFlags.SAME_APP; entries[0].info = 0; Gtk.drag_dest_set (this, 0, entries, Gdk.DragAction.MOVE); drag_data_received.connect(handle_data_received); drag_motion.connect(handle_drag_motion); drag_leave.connect(handle_drag_leave); drag_drop.connect(handle_drag_drop); // Translators: The next several characters are used to show the 'unknown' // digits in the puzzle. Translate to something that makes sense for // your alphabet. N_("A"); N_("B"); N_("C"); N_("D"); N_("E"); N_("F"); N_("G"); N_("H"); N_("I"); N_("J"); } private bool did_enter; private bool drag_status; private bool handle_drag_motion (Gdk.DragContext context, int x, int y, uint time_) { if (!did_enter) { canvas.highlight_box (this, false, true, true); did_enter = true; } drag_status = false; Gtk.drag_get_data (this, context, Gdk.Atom.intern_static_string ("STRING"), time_); if (!drag_status) canvas.highlight_box (this, false, true, true); return drag_status; } private void handle_drag_leave (Gdk.DragContext context, uint time_) { canvas.highlight_box (this, false, false, true); did_enter = false; } private bool handle_drag_drop (Gdk.DragContext context, int x, int y, uint time_) { drag_status = true; Gtk.drag_get_data (this, context, Gdk.Atom.intern_static_string ("STRING"), time_); if (!drag_status) canvas.highlight_box (this, false, true, true); return true; } private void handle_data_received (Gdk.DragContext context, int x, int y, Gtk.SelectionData data, uint info, uint time_) { if (data.get_length() <= 0) return; int digit = data.get_data()[0] - 48; if (!drag_status) { bool[] guesses = canvas.puzzle.get_letter_guesses ((MultPuzzleChar)character); if (!guesses[digit]) { drag_status = true; Gdk.drag_status (context, Gdk.DragAction.COPY, time_); } } else { var rv = canvas.puzzle.guess (digit, (MultPuzzleChar)character); Gtk.drag_finish (context, (rv == MultPuzzleGuessStatus.CORRECT), false, time_); } } } gmult-8.0/gmult/Canvas.c0000644000175000017500000015733111551175036014614 0ustar udienzudienz/* Canvas.c generated by valac 0.12.0, the Vala compiler * generated from Canvas.vala, do not modify */ /* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ #include #include #include #include #include #include #include #define TYPE_CANVAS_MODE (canvas_mode_get_type ()) #define TYPE_ARRAY_BOX (array_box_get_type ()) #define TYPE_CHAR_BOX (char_box_get_type ()) #define CHAR_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHAR_BOX, CharBox)) #define CHAR_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHAR_BOX, CharBoxClass)) #define IS_CHAR_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHAR_BOX)) #define IS_CHAR_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHAR_BOX)) #define CHAR_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHAR_BOX, CharBoxClass)) typedef struct _CharBox CharBox; typedef struct _CharBoxClass CharBoxClass; typedef struct _ArrayBox ArrayBox; #define TYPE_CANVAS (canvas_get_type ()) #define CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CANVAS, Canvas)) #define CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CANVAS, CanvasClass)) #define IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CANVAS)) #define IS_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CANVAS)) #define CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CANVAS, CanvasClass)) typedef struct _Canvas Canvas; typedef struct _CanvasClass CanvasClass; typedef struct _CanvasPrivate CanvasPrivate; #define TYPE_MULT_PUZZLE (mult_puzzle_get_type ()) #define MULT_PUZZLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULT_PUZZLE, MultPuzzle)) #define MULT_PUZZLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULT_PUZZLE, MultPuzzleClass)) #define IS_MULT_PUZZLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULT_PUZZLE)) #define IS_MULT_PUZZLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULT_PUZZLE)) #define MULT_PUZZLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULT_PUZZLE, MultPuzzleClass)) typedef struct _MultPuzzle MultPuzzle; typedef struct _MultPuzzleClass MultPuzzleClass; #define TYPE_GTK_MULT (gtk_mult_get_type ()) #define GTK_MULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GTK_MULT, GtkMult)) #define GTK_MULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GTK_MULT, GtkMultClass)) #define IS_GTK_MULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GTK_MULT)) #define IS_GTK_MULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GTK_MULT)) #define GTK_MULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GTK_MULT, GtkMultClass)) typedef struct _GtkMult GtkMult; typedef struct _GtkMultClass GtkMultClass; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL))) #define TYPE_MULT_PUZZLE_CHAR (mult_puzzle_char_get_type ()) #define TYPE_MULT_PUZZLE_GUESS_STATUS (mult_puzzle_guess_status_get_type ()) typedef struct _Block1Data Block1Data; #define TYPE_TABLE_BOX (table_box_get_type ()) #define TABLE_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TABLE_BOX, TableBox)) #define TABLE_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TABLE_BOX, TableBoxClass)) #define IS_TABLE_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TABLE_BOX)) #define IS_TABLE_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TABLE_BOX)) #define TABLE_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TABLE_BOX, TableBoxClass)) typedef struct _TableBox TableBox; typedef struct _TableBoxClass TableBoxClass; typedef struct _Block2Data Block2Data; #define TYPE_DIGIT_BOX (digit_box_get_type ()) #define DIGIT_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIGIT_BOX, DigitBox)) #define DIGIT_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIGIT_BOX, DigitBoxClass)) #define IS_DIGIT_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIGIT_BOX)) #define IS_DIGIT_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIGIT_BOX)) #define DIGIT_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIGIT_BOX, DigitBoxClass)) typedef struct _DigitBox DigitBox; typedef struct _DigitBoxClass DigitBoxClass; typedef enum { CANVAS_MODE_NONE, CANVAS_MODE_DIGIT, CANVAS_MODE_CHAR } CanvasMode; struct _ArrayBox { CharBox** array; gint array_length1; gint _array_size_; }; struct _Canvas { GtkEventBox parent_instance; CanvasPrivate * priv; }; struct _CanvasClass { GtkEventBoxClass parent_class; }; struct _CanvasPrivate { MultPuzzle* _puzzle; GtkMult* _mult; gchar* mode_letter; CanvasMode mode; gint min_box_request; gint num_box_rows; gint num_box_cols; gint min_width; gint min_height; GtkFixed* fixed; GtkWidget* vsep; GtkWidget* hsep1; GtkWidget* hsep2; GList* mult_boxes; GList* digit_boxes; CharBox** xboxes; gint xboxes_length1; gint _xboxes_size_; CharBox** yboxes; gint yboxes_length1; gint _yboxes_size_; CharBox** zboxes; gint zboxes_length1; gint _zboxes_size_; ArrayBox* addboxes; gint addboxes_length1; gint _addboxes_size_; CharBox** digitboxes; gint digitboxes_length1; gint _digitboxes_size_; CharBox* plusbox; CharBox* timesbox; }; typedef enum { MULT_PUZZLE_CHAR_A = 65, MULT_PUZZLE_CHAR_B, MULT_PUZZLE_CHAR_C, MULT_PUZZLE_CHAR_D, MULT_PUZZLE_CHAR_E, MULT_PUZZLE_CHAR_F, MULT_PUZZLE_CHAR_G, MULT_PUZZLE_CHAR_H, MULT_PUZZLE_CHAR_I, MULT_PUZZLE_CHAR_J, MULT_PUZZLE_CHAR_INVALID } MultPuzzleChar; typedef enum { MULT_PUZZLE_GUESS_STATUS_WRONG, MULT_PUZZLE_GUESS_STATUS_CORRECT, MULT_PUZZLE_GUESS_STATUS_KNOWN, MULT_PUZZLE_GUESS_STATUS_INVALID } MultPuzzleGuessStatus; struct _Block1Data { int _ref_count_; Canvas * self; CharBox* b; }; struct _Block2Data { int _ref_count_; Canvas * self; CharBox* b; }; static gpointer canvas_parent_class = NULL; extern gint gtk_mult_dpi; GType canvas_mode_get_type (void) G_GNUC_CONST; GType array_box_get_type (void) G_GNUC_CONST; GType char_box_get_type (void) G_GNUC_CONST; ArrayBox* array_box_dup (const ArrayBox* self); void array_box_free (ArrayBox* self); void array_box_copy (const ArrayBox* self, ArrayBox* dest); void array_box_destroy (ArrayBox* self); static CharBox** _vala_array_dup1 (CharBox** self, int length); GType canvas_get_type (void) G_GNUC_CONST; GType mult_puzzle_get_type (void) G_GNUC_CONST; GType gtk_mult_get_type (void) G_GNUC_CONST; #define CANVAS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CANVAS, CanvasPrivate)) enum { CANVAS_DUMMY_PROPERTY, CANVAS_PUZZLE, CANVAS_MULT }; static void _g_object_unref0_ (gpointer var); static void _g_list_free__g_object_unref0_ (GList* self); static void _vala_ArrayBox_array_free (ArrayBox* array, gint array_length); #define CANVAS_SPACING 6 Canvas* canvas_new (GtkMult* mult); Canvas* canvas_construct (GType object_type, GtkMult* mult); void canvas_clear_mode (Canvas* self); void canvas_set_mode (Canvas* self, CanvasMode m, CharBox* box); const gchar* char_box_get_letter (CharBox* self); void canvas_highlight_box (Canvas* self, CharBox* box, gboolean digit_box, gboolean hover, gboolean all); GtkMult* canvas_get_mult (Canvas* self); GtkStatusbar* gtk_mult_get_status (GtkMult* self); void gtk_mult_clear_guess_feedback (GtkMult* self); void canvas_start_choice (Canvas* self, gchar ch); void canvas_start_digit_choice (Canvas* self, CharBox* b); void canvas_start_char_choice (Canvas* self, CharBox* b); MultPuzzle* canvas_get_puzzle (Canvas* self); GType mult_puzzle_char_get_type (void) G_GNUC_CONST; GType mult_puzzle_guess_status_get_type (void) G_GNUC_CONST; MultPuzzleGuessStatus mult_puzzle_guess (MultPuzzle* self, gint digit, MultPuzzleChar letter); static void canvas_layout_mult_string (Canvas* self, CharBox** boxes, int boxes_length1, gint row, gint indent, gint w, gint mult_x_offset, gint mult_y_offset); static void canvas_allocate_box (Canvas* self, CharBox* b, GdkRectangle* rect); void char_box_set_points (CharBox* self, gint value); static void canvas_handle_size_allocate (Canvas* self, GdkRectangle* rect); guint mult_puzzle_get_num_addends (MultPuzzle* self); static CharBox* canvas_create_mult_box (Canvas* self, gunichar ch); static Block1Data* block1_data_ref (Block1Data* _data1_); static void block1_data_unref (Block1Data* _data1_); CharBox* char_box_new (const gchar* letter, GtkShadowType border); CharBox* char_box_construct (GType object_type, const gchar* letter, GtkShadowType border); TableBox* table_box_new (gchar c, Canvas* can); TableBox* table_box_construct (GType object_type, gchar c, Canvas* can); GType table_box_get_type (void) G_GNUC_CONST; static gboolean _lambda1_ (GdkEventButton* e, Block1Data* _data1_); static gboolean canvas_handle_release (Canvas* self, CharBox* box, GdkEventButton* event, gboolean digit_box); static gboolean __lambda1__gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); static gboolean _lambda2_ (GdkEventCrossing* e, Block1Data* _data1_); static gboolean __lambda2__gtk_widget_enter_notify_event (GtkWidget* _sender, GdkEventCrossing* event, gpointer self); static gboolean _lambda3_ (GdkEventCrossing* e, Block1Data* _data1_); static gboolean __lambda3__gtk_widget_leave_notify_event (GtkWidget* _sender, GdkEventCrossing* event, gpointer self); static CharBox* canvas_create_digit_box (Canvas* self, gboolean* unknown, int unknown_length1, gint i); static Block2Data* block2_data_ref (Block2Data* _data2_); static void block2_data_unref (Block2Data* _data2_); DigitBox* digit_box_new (Canvas* canvas, const gchar* letter); DigitBox* digit_box_construct (GType object_type, Canvas* canvas, const gchar* letter); GType digit_box_get_type (void) G_GNUC_CONST; static gboolean _lambda4_ (GdkEventButton* e, Block2Data* _data2_); static gboolean __lambda4__gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); static gboolean _lambda5_ (GdkEventCrossing* e, Block2Data* _data2_); static gboolean __lambda5__gtk_widget_enter_notify_event (GtkWidget* _sender, GdkEventCrossing* event, gpointer self); static gboolean _lambda6_ (GdkEventCrossing* e, Block2Data* _data2_); static gboolean __lambda6__gtk_widget_leave_notify_event (GtkWidget* _sender, GdkEventCrossing* event, gpointer self); static void canvas_handle_puzzle_change (Canvas* self, MultPuzzle* p); gchar* mult_puzzle_get_multiplicand (MultPuzzle* self); gchar* mult_puzzle_get_multiplier (MultPuzzle* self); gchar* mult_puzzle_get_addend (MultPuzzle* self, gint n); gchar* mult_puzzle_get_answer (MultPuzzle* self); gboolean* mult_puzzle_get_unknown_digits (MultPuzzle* self, int* result_length1); gboolean mult_puzzle_get_is_done (MultPuzzle* self); void char_box_set_highlight (CharBox* self, GtkStateFlags value); gboolean* mult_puzzle_get_letter_guesses (MultPuzzle* self, MultPuzzleChar letter, int* result_length1); static gboolean canvas_handle_none_release (Canvas* self, GdkEventButton* event); static void canvas_set_puzzle (Canvas* self, MultPuzzle* value); static void canvas_set_mult (Canvas* self, GtkMult* value); static GObject * canvas_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); MultPuzzle* gtk_mult_get_puzzle (GtkMult* self); static gboolean _canvas_handle_none_release_gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); static void _canvas_handle_size_allocate_gtk_widget_size_allocate (GtkWidget* _sender, GdkRectangle* allocation, gpointer self); static void _canvas_handle_puzzle_change_mult_puzzle_changed (MultPuzzle* _sender, gpointer self); static void canvas_finalize (GObject* obj); static void _vala_canvas_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_canvas_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); GType canvas_mode_get_type (void) { static volatile gsize canvas_mode_type_id__volatile = 0; if (g_once_init_enter (&canvas_mode_type_id__volatile)) { static const GEnumValue values[] = {{CANVAS_MODE_NONE, "CANVAS_MODE_NONE", "none"}, {CANVAS_MODE_DIGIT, "CANVAS_MODE_DIGIT", "digit"}, {CANVAS_MODE_CHAR, "CANVAS_MODE_CHAR", "char"}, {0, NULL, NULL}}; GType canvas_mode_type_id; canvas_mode_type_id = g_enum_register_static ("CanvasMode", values); g_once_init_leave (&canvas_mode_type_id__volatile, canvas_mode_type_id); } return canvas_mode_type_id__volatile; } static gpointer _g_object_ref0 (gpointer self) { return self ? g_object_ref (self) : NULL; } static CharBox** _vala_array_dup1 (CharBox** self, int length) { CharBox** result; int i; result = g_new0 (CharBox*, length + 1); for (i = 0; i < length; i++) { result[i] = _g_object_ref0 (self[i]); } return result; } void array_box_copy (const ArrayBox* self, ArrayBox* dest) { CharBox** _tmp0_; dest->array = (_tmp0_ = self->array, (_tmp0_ == NULL) ? ((gpointer) _tmp0_) : _vala_array_dup1 (_tmp0_, (*self).array_length1)); dest->array_length1 = self->array_length1; } void array_box_destroy (ArrayBox* self) { (*self).array = (_vala_array_free ((*self).array, (*self).array_length1, (GDestroyNotify) g_object_unref), NULL); } ArrayBox* array_box_dup (const ArrayBox* self) { ArrayBox* dup; dup = g_new0 (ArrayBox, 1); array_box_copy (self, dup); return dup; } void array_box_free (ArrayBox* self) { array_box_destroy (self); g_free (self); } GType array_box_get_type (void) { static volatile gsize array_box_type_id__volatile = 0; if (g_once_init_enter (&array_box_type_id__volatile)) { GType array_box_type_id; array_box_type_id = g_boxed_type_register_static ("ArrayBox", (GBoxedCopyFunc) array_box_dup, (GBoxedFreeFunc) array_box_free); g_once_init_leave (&array_box_type_id__volatile, array_box_type_id); } return array_box_type_id__volatile; } static void _g_object_unref0_ (gpointer var) { (var == NULL) ? NULL : (var = (g_object_unref (var), NULL)); } static void _g_list_free__g_object_unref0_ (GList* self) { g_list_foreach (self, (GFunc) _g_object_unref0_, NULL); g_list_free (self); } static void _vala_ArrayBox_array_free (ArrayBox* array, gint array_length) { if (array != NULL) { int i; for (i = 0; i < array_length; i = i + 1) { array_box_destroy (&array[i]); } } g_free (array); } Canvas* canvas_construct (GType object_type, GtkMult* mult) { Canvas * self = NULL; g_return_val_if_fail (mult != NULL, NULL); self = (Canvas*) g_object_new (object_type, "mult", mult, NULL); return self; } Canvas* canvas_new (GtkMult* mult) { return canvas_construct (TYPE_CANVAS, mult); } void canvas_clear_mode (Canvas* self) { g_return_if_fail (self != NULL); canvas_set_mode (self, CANVAS_MODE_NONE, NULL); } void canvas_set_mode (Canvas* self, CanvasMode m, CharBox* box) { const gchar* _tmp0_ = NULL; gchar* _tmp2_; GtkStatusbar* _tmp5_ = NULL; guint _tmp6_; guint context_id; GtkStatusbar* _tmp7_ = NULL; g_return_if_fail (self != NULL); self->priv->mode = m; if (box == NULL) { _tmp0_ = NULL; } else { const gchar* _tmp1_ = NULL; _tmp1_ = char_box_get_letter (box); _tmp0_ = _tmp1_; } _tmp2_ = g_strdup (_tmp0_); _g_free0 (self->priv->mode_letter); self->priv->mode_letter = _tmp2_; { GList* b_collection; GList* b_it; b_collection = self->priv->mult_boxes; for (b_it = b_collection; b_it != NULL; b_it = b_it->next) { CharBox* _tmp3_; CharBox* b; _tmp3_ = _g_object_ref0 ((CharBox*) b_it->data); b = _tmp3_; { canvas_highlight_box (self, b, FALSE, FALSE, FALSE); _g_object_unref0 (b); } } } { GList* b_collection; GList* b_it; b_collection = self->priv->digit_boxes; for (b_it = b_collection; b_it != NULL; b_it = b_it->next) { CharBox* _tmp4_; CharBox* b; _tmp4_ = _g_object_ref0 ((CharBox*) b_it->data); b = _tmp4_; { canvas_highlight_box (self, b, TRUE, FALSE, FALSE); _g_object_unref0 (b); } } } _tmp5_ = gtk_mult_get_status (self->priv->_mult); _tmp6_ = gtk_statusbar_get_context_id (_tmp5_, "guess-prompt"); context_id = _tmp6_; _tmp7_ = gtk_mult_get_status (self->priv->_mult); gtk_statusbar_pop (_tmp7_, context_id); if (self->priv->mode != CANVAS_MODE_NONE) { GtkStatusbar* _tmp8_ = NULL; const gchar* _tmp9_ = NULL; gchar* _tmp10_ = NULL; gchar* _tmp11_; gtk_mult_clear_guess_feedback (self->priv->_mult); _tmp8_ = gtk_mult_get_status (self->priv->_mult); _tmp9_ = _ (self->priv->mode_letter); _tmp10_ = g_strdup_printf ("%s = ?", _tmp9_); _tmp11_ = _tmp10_; gtk_statusbar_push (_tmp8_, context_id, _tmp11_); _g_free0 (_tmp11_); } } void canvas_start_choice (Canvas* self, gchar ch) { GList* _tmp0_ = NULL; gboolean _tmp1_; GList* boxes; gchar* _tmp2_ = NULL; gchar* str; g_return_if_fail (self != NULL); _tmp1_ = g_ascii_isdigit (ch); if (_tmp1_) { _tmp0_ = self->priv->digit_boxes; } else { _tmp0_ = self->priv->mult_boxes; } boxes = _tmp0_; _tmp2_ = g_strdup_printf ("%c", (gint) ch); str = _tmp2_; { GList* b_collection; GList* b_it; b_collection = boxes; for (b_it = b_collection; b_it != NULL; b_it = b_it->next) { CharBox* _tmp3_; CharBox* b; _tmp3_ = _g_object_ref0 ((CharBox*) b_it->data); b = _tmp3_; { const gchar* _tmp4_ = NULL; _tmp4_ = char_box_get_letter (b); if (g_strcmp0 (str, _tmp4_) == 0) { gboolean _tmp5_; _tmp5_ = g_ascii_isdigit (ch); if (_tmp5_) { canvas_start_digit_choice (self, b); } else { canvas_start_char_choice (self, b); } _g_object_unref0 (b); break; } _g_object_unref0 (b); } } } _g_free0 (str); } static gchar string_get (const gchar* self, glong index) { gchar result = '\0'; g_return_val_if_fail (self != NULL, '\0'); result = ((gchar*) self)[index]; return result; } void canvas_start_digit_choice (Canvas* self, CharBox* b) { g_return_if_fail (self != NULL); g_return_if_fail (b != NULL); if (self->priv->mode == CANVAS_MODE_CHAR) { GtkStateFlags _tmp0_; _tmp0_ = gtk_widget_get_state_flags ((GtkWidget*) b); if (_tmp0_ != GTK_STATE_FLAG_INSENSITIVE) { const gchar* _tmp1_ = NULL; gchar _tmp2_; gint _tmp3_; gchar _tmp4_; _tmp1_ = char_box_get_letter (b); _tmp2_ = string_get (_tmp1_, (glong) 0); _tmp3_ = g_ascii_digit_value (_tmp2_); _tmp4_ = string_get (self->priv->mode_letter, (glong) 0); mult_puzzle_guess (self->priv->_puzzle, _tmp3_, (MultPuzzleChar) _tmp4_); } canvas_clear_mode (self); } else { canvas_set_mode (self, CANVAS_MODE_DIGIT, b); } } void canvas_start_char_choice (Canvas* self, CharBox* b) { g_return_if_fail (self != NULL); g_return_if_fail (b != NULL); if (self->priv->mode == CANVAS_MODE_DIGIT) { GtkStateFlags _tmp0_; _tmp0_ = gtk_widget_get_state_flags ((GtkWidget*) b); if (_tmp0_ != GTK_STATE_FLAG_INSENSITIVE) { gchar _tmp1_; gint _tmp2_; const gchar* _tmp3_ = NULL; gchar _tmp4_; _tmp1_ = string_get (self->priv->mode_letter, (glong) 0); _tmp2_ = g_ascii_digit_value (_tmp1_); _tmp3_ = char_box_get_letter (b); _tmp4_ = string_get (_tmp3_, (glong) 0); mult_puzzle_guess (self->priv->_puzzle, _tmp2_, (MultPuzzleChar) _tmp4_); } canvas_clear_mode (self); } else { canvas_set_mode (self, CANVAS_MODE_CHAR, b); } } static void canvas_layout_mult_string (Canvas* self, CharBox** boxes, int boxes_length1, gint row, gint indent, gint w, gint mult_x_offset, gint mult_y_offset) { gint x; gint y; g_return_if_fail (self != NULL); indent = self->priv->num_box_cols - indent; x = mult_x_offset + (indent * (w + CANVAS_SPACING)); y = mult_y_offset + (row * (w + CANVAS_SPACING)); if (row >= 2) { gint _tmp0_; _tmp0_ = gtk_widget_get_allocated_height (self->priv->hsep1); y = y + (_tmp0_ + CANVAS_SPACING); } if (row == (self->priv->num_box_rows - 1)) { gint _tmp1_; _tmp1_ = gtk_widget_get_allocated_height (self->priv->hsep2); y = y + (_tmp1_ + CANVAS_SPACING); } { CharBox** b_collection; int b_collection_length1; int b_it; b_collection = boxes; b_collection_length1 = boxes_length1; for (b_it = 0; b_it < boxes_length1; b_it = b_it + 1) { CharBox* _tmp2_; CharBox* b; _tmp2_ = _g_object_ref0 (b_collection[b_it]); b = _tmp2_; { GdkRectangle _tmp3_ = {0}; GdkRectangle alloc; _tmp3_.x = x; _tmp3_.y = y; _tmp3_.width = w; _tmp3_.height = w; alloc = _tmp3_; canvas_allocate_box (self, b, &alloc); x = x + (w + CANVAS_SPACING); _g_object_unref0 (b); } } } } static void canvas_allocate_box (Canvas* self, CharBox* b, GdkRectangle* rect) { g_return_if_fail (self != NULL); g_return_if_fail (b != NULL); gtk_widget_size_allocate ((GtkWidget*) b, rect); char_box_set_points (b, (gint) ((*rect).height * (72.0 / gtk_mult_dpi))); } static void canvas_handle_size_allocate (Canvas* self, GdkRectangle* rect) { gint w; gint h; gint _tmp0_ = 0; gint mult_x_offset; gint mult_y_offset; gint _tmp1_ = 0; gint _tmp2_ = 0; gint hsep1_height = 0; gint hsep2_height = 0; gint _tmp4_; gint _tmp5_; GdkRectangle rec = {0}; guint _tmp6_; guint _tmp7_; gint vsep_width = 0; gint digit_y_offset; g_return_if_fail (self != NULL); w = (gint) (((*rect).width - self->priv->min_width) / (self->priv->num_box_cols + 2)); h = (gint) (((*rect).height - self->priv->min_height) / self->priv->num_box_rows); if (w > h) { _tmp0_ = h; } else { _tmp0_ = w; } w = _tmp0_; mult_x_offset = ((*rect).x + 12) + ((((*rect).width - self->priv->min_width) - (w * (self->priv->num_box_cols + 2))) / 2); mult_y_offset = ((*rect).y + 12) + ((((*rect).height - self->priv->min_height) - (w * self->priv->num_box_rows)) / 2); if (mult_x_offset > ((*rect).width / 2)) { _tmp1_ = (*rect).width / 2; } else { _tmp1_ = mult_x_offset; } mult_x_offset = _tmp1_; if (mult_y_offset > ((*rect).height / 2)) { _tmp2_ = (*rect).height / 2; } else { _tmp2_ = mult_y_offset; } mult_y_offset = _tmp2_; canvas_layout_mult_string (self, self->priv->xboxes, self->priv->xboxes_length1, 0, self->priv->xboxes_length1, w, mult_x_offset, mult_y_offset); canvas_layout_mult_string (self, self->priv->yboxes, self->priv->yboxes_length1, 1, self->priv->yboxes_length1, w, mult_x_offset, mult_y_offset); { gint i; i = 0; { gboolean _tmp3_; _tmp3_ = TRUE; while (TRUE) { if (!_tmp3_) { i = i + 1; } _tmp3_ = FALSE; if (!(i < self->priv->addboxes_length1)) { break; } canvas_layout_mult_string (self, self->priv->addboxes[i].array, self->priv->addboxes[i].array_length1, 2 + i, self->priv->addboxes[i].array_length1 + i, w, mult_x_offset, mult_y_offset); } } } canvas_layout_mult_string (self, self->priv->zboxes, self->priv->zboxes_length1, self->priv->num_box_rows - 1, self->priv->zboxes_length1, w, mult_x_offset, mult_y_offset); gtk_widget_get_preferred_height (self->priv->hsep1, NULL, &_tmp4_); hsep1_height = _tmp4_; gtk_widget_get_preferred_height (self->priv->hsep2, NULL, &_tmp5_); hsep2_height = _tmp5_; memset (&rec, 0, sizeof (GdkRectangle)); rec.x = mult_x_offset; rec.y = mult_y_offset + (2 * (w + CANVAS_SPACING)); rec.width = (self->priv->num_box_cols * w) + ((self->priv->num_box_cols - 1) * CANVAS_SPACING); rec.height = hsep1_height; gtk_widget_size_allocate (self->priv->hsep1, &rec); rec.x = mult_x_offset; _tmp6_ = mult_puzzle_get_num_addends (self->priv->_puzzle); rec.y = ((mult_y_offset + (((gint) (2 + _tmp6_)) * (w + CANVAS_SPACING))) + hsep1_height) + CANVAS_SPACING; rec.width = (self->priv->num_box_cols * w) + ((self->priv->num_box_cols - 1) * CANVAS_SPACING); rec.height = hsep2_height; gtk_widget_size_allocate (self->priv->hsep2, &rec); rec.x = mult_x_offset; rec.y = (mult_y_offset + w) + CANVAS_SPACING; rec.width = w; rec.height = w; canvas_allocate_box (self, self->priv->timesbox, &rec); rec.x = mult_x_offset; _tmp7_ = mult_puzzle_get_num_addends (self->priv->_puzzle); rec.y = ((mult_y_offset + (((gint) (1 + _tmp7_)) * (w + CANVAS_SPACING))) + hsep1_height) + CANVAS_SPACING; rec.width = w; rec.height = w; canvas_allocate_box (self, self->priv->plusbox, &rec); vsep_width = hsep1_height; rec.x = (mult_x_offset + (self->priv->num_box_cols * (w + CANVAS_SPACING))) + CANVAS_SPACING; rec.y = mult_y_offset; rec.width = vsep_width; rec.height = (*rect).height - ((mult_y_offset - (*rect).y) * 2); gtk_widget_size_allocate (self->priv->vsep, &rec); digit_y_offset = ((*rect).y + 12) + ((((((*rect).height - 12) - 12) - (5 * w)) - (4 * CANVAS_SPACING)) / 2); rec.width = w; rec.height = w; rec.x = rec.x + (CANVAS_SPACING * 2); { gint i; i = 0; { gboolean _tmp8_; _tmp8_ = TRUE; while (TRUE) { if (!_tmp8_) { i = i + 1; } _tmp8_ = FALSE; if (!(i < 5)) { break; } rec.y = digit_y_offset + (i * (w + CANVAS_SPACING)); canvas_allocate_box (self, self->priv->digitboxes[i * 2], &rec); } } } rec.x = (rec.x + w) + CANVAS_SPACING; { gint i; i = 0; { gboolean _tmp9_; _tmp9_ = TRUE; while (TRUE) { if (!_tmp9_) { i = i + 1; } _tmp9_ = FALSE; if (!(i < 5)) { break; } rec.y = digit_y_offset + (i * (w + CANVAS_SPACING)); canvas_allocate_box (self, self->priv->digitboxes[(i * 2) + 1], &rec); } } } } static Block1Data* block1_data_ref (Block1Data* _data1_) { g_atomic_int_inc (&_data1_->_ref_count_); return _data1_; } static void block1_data_unref (Block1Data* _data1_) { if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) { _g_object_unref0 (_data1_->self); _g_object_unref0 (_data1_->b); g_slice_free (Block1Data, _data1_); } } static gboolean _lambda1_ (GdkEventButton* e, Block1Data* _data1_) { Canvas * self; gboolean result = FALSE; gboolean _tmp0_; self = _data1_->self; _tmp0_ = canvas_handle_release (self, _data1_->b, e, FALSE); result = _tmp0_; return result; } static gboolean __lambda1__gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { gboolean result; result = _lambda1_ (event, self); return result; } static gboolean _lambda2_ (GdkEventCrossing* e, Block1Data* _data1_) { Canvas * self; gboolean result = FALSE; self = _data1_->self; canvas_highlight_box (self, _data1_->b, FALSE, TRUE, TRUE); result = FALSE; return result; } static gboolean __lambda2__gtk_widget_enter_notify_event (GtkWidget* _sender, GdkEventCrossing* event, gpointer self) { gboolean result; result = _lambda2_ (event, self); return result; } static gboolean _lambda3_ (GdkEventCrossing* e, Block1Data* _data1_) { Canvas * self; gboolean result = FALSE; self = _data1_->self; canvas_highlight_box (self, _data1_->b, FALSE, FALSE, TRUE); result = FALSE; return result; } static gboolean __lambda3__gtk_widget_leave_notify_event (GtkWidget* _sender, GdkEventCrossing* event, gpointer self) { gboolean result; result = _lambda3_ (event, self); return result; } static CharBox* canvas_create_mult_box (Canvas* self, gunichar ch) { CharBox* result = NULL; Block1Data* _data1_; gboolean _tmp0_; CharBox* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _data1_ = g_slice_new0 (Block1Data); _data1_->_ref_count_ = 1; _data1_->self = g_object_ref (self); _tmp0_ = g_unichar_isdigit (ch); if (_tmp0_) { gchar* _tmp1_ = NULL; gchar* _tmp2_; CharBox* _tmp3_ = NULL; _tmp1_ = g_strdup_printf ("%c", (gint) ((gchar) ch)); _tmp2_ = _tmp1_; _tmp3_ = char_box_new (_tmp2_, GTK_SHADOW_NONE); _g_object_unref0 (_data1_->b); _data1_->b = g_object_ref_sink (_tmp3_); _g_free0 (_tmp2_); } else { TableBox* _tmp4_ = NULL; CharBox* _tmp5_; _tmp4_ = table_box_new ((gchar) ch, self); _g_object_unref0 (_data1_->b); _data1_->b = (CharBox*) g_object_ref_sink (_tmp4_); gtk_widget_add_events ((GtkWidget*) _data1_->b, (gint) ((GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK) | GDK_LEAVE_NOTIFY_MASK)); g_signal_connect_data ((GtkWidget*) _data1_->b, "button-release-event", (GCallback) __lambda1__gtk_widget_button_release_event, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); g_signal_connect_data ((GtkWidget*) _data1_->b, "enter-notify-event", (GCallback) __lambda2__gtk_widget_enter_notify_event, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); g_signal_connect_data ((GtkWidget*) _data1_->b, "leave-notify-event", (GCallback) __lambda3__gtk_widget_leave_notify_event, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); _tmp5_ = _g_object_ref0 (_data1_->b); self->priv->mult_boxes = g_list_append (self->priv->mult_boxes, _tmp5_); } _tmp6_ = _g_object_ref0 (_data1_->b); result = _tmp6_; block1_data_unref (_data1_); _data1_ = NULL; return result; } static Block2Data* block2_data_ref (Block2Data* _data2_) { g_atomic_int_inc (&_data2_->_ref_count_); return _data2_; } static void block2_data_unref (Block2Data* _data2_) { if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) { _g_object_unref0 (_data2_->self); _g_object_unref0 (_data2_->b); g_slice_free (Block2Data, _data2_); } } static gboolean _lambda4_ (GdkEventButton* e, Block2Data* _data2_) { Canvas * self; gboolean result = FALSE; gboolean _tmp0_; self = _data2_->self; _tmp0_ = canvas_handle_release (self, _data2_->b, e, TRUE); result = _tmp0_; return result; } static gboolean __lambda4__gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { gboolean result; result = _lambda4_ (event, self); return result; } static gboolean _lambda5_ (GdkEventCrossing* e, Block2Data* _data2_) { Canvas * self; gboolean result = FALSE; self = _data2_->self; canvas_highlight_box (self, _data2_->b, TRUE, TRUE, TRUE); result = FALSE; return result; } static gboolean __lambda5__gtk_widget_enter_notify_event (GtkWidget* _sender, GdkEventCrossing* event, gpointer self) { gboolean result; result = _lambda5_ (event, self); return result; } static gboolean _lambda6_ (GdkEventCrossing* e, Block2Data* _data2_) { Canvas * self; gboolean result = FALSE; self = _data2_->self; canvas_highlight_box (self, _data2_->b, TRUE, FALSE, TRUE); result = FALSE; return result; } static gboolean __lambda6__gtk_widget_leave_notify_event (GtkWidget* _sender, GdkEventCrossing* event, gpointer self) { gboolean result; result = _lambda6_ (event, self); return result; } static CharBox* canvas_create_digit_box (Canvas* self, gboolean* unknown, int unknown_length1, gint i) { CharBox* result = NULL; Block2Data* _data2_; CharBox* _tmp4_; g_return_val_if_fail (self != NULL, NULL); _data2_ = g_slice_new0 (Block2Data); _data2_->_ref_count_ = 1; _data2_->self = g_object_ref (self); if (unknown[i] == TRUE) { gchar* _tmp0_ = NULL; gchar* digit_str; DigitBox* _tmp1_ = NULL; CharBox* _tmp2_; _tmp0_ = g_strdup_printf ("%i", i); digit_str = _tmp0_; _tmp1_ = digit_box_new (self, digit_str); _g_object_unref0 (_data2_->b); _data2_->b = (CharBox*) g_object_ref_sink (_tmp1_); gtk_widget_add_events ((GtkWidget*) _data2_->b, (gint) ((GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK) | GDK_LEAVE_NOTIFY_MASK)); g_signal_connect_data ((GtkWidget*) _data2_->b, "button-release-event", (GCallback) __lambda4__gtk_widget_button_release_event, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0); g_signal_connect_data ((GtkWidget*) _data2_->b, "enter-notify-event", (GCallback) __lambda5__gtk_widget_enter_notify_event, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0); g_signal_connect_data ((GtkWidget*) _data2_->b, "leave-notify-event", (GCallback) __lambda6__gtk_widget_leave_notify_event, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0); _tmp2_ = _g_object_ref0 (_data2_->b); self->priv->digit_boxes = g_list_append (self->priv->digit_boxes, _tmp2_); _g_free0 (digit_str); } else { CharBox* _tmp3_ = NULL; _tmp3_ = char_box_new (" ", GTK_SHADOW_NONE); _g_object_unref0 (_data2_->b); _data2_->b = g_object_ref_sink (_tmp3_); } _tmp4_ = _g_object_ref0 (_data2_->b); result = _tmp4_; block2_data_unref (_data2_); _data2_ = NULL; return result; } static void canvas_handle_puzzle_change (Canvas* self, MultPuzzle* p) { gchar* _tmp0_ = NULL; gchar* multiplicand; gchar* _tmp6_ = NULL; gchar* multiplier; gchar* _tmp20_ = NULL; gchar* answer; gint _tmp26_; gboolean* _tmp27_ = NULL; gboolean* unknown; gint unknown_length1; gint _unknown_size_; gboolean _tmp31_; g_return_if_fail (self != NULL); g_return_if_fail (p != NULL); __g_list_free__g_object_unref0_0 (self->priv->mult_boxes); self->priv->mult_boxes = NULL; __g_list_free__g_object_unref0_0 (self->priv->digit_boxes); self->priv->digit_boxes = NULL; _tmp0_ = mult_puzzle_get_multiplicand (self->priv->_puzzle); multiplicand = _tmp0_; { gint i; i = 0; { gboolean _tmp1_; _tmp1_ = TRUE; while (TRUE) { gint _tmp2_; gchar _tmp3_; CharBox* _tmp4_ = NULL; CharBox* _tmp5_; if (!_tmp1_) { i = i + 1; } _tmp1_ = FALSE; _tmp2_ = strlen (multiplicand); if (!(i < _tmp2_)) { break; } _tmp3_ = string_get (multiplicand, (glong) i); _tmp4_ = canvas_create_mult_box (self, (gunichar) _tmp3_); _tmp5_ = _tmp4_; _g_object_unref0 (self->priv->xboxes[i]); self->priv->xboxes[i] = _tmp5_; gtk_widget_show_all ((GtkWidget*) self->priv->xboxes[i]); gtk_container_add ((GtkContainer*) self->priv->fixed, (GtkWidget*) self->priv->xboxes[i]); } } } _tmp6_ = mult_puzzle_get_multiplier (self->priv->_puzzle); multiplier = _tmp6_; { gint i; i = 0; { gboolean _tmp7_; _tmp7_ = TRUE; while (TRUE) { gint _tmp8_; gchar _tmp9_; CharBox* _tmp10_ = NULL; CharBox* _tmp11_; if (!_tmp7_) { i = i + 1; } _tmp7_ = FALSE; _tmp8_ = strlen (multiplier); if (!(i < _tmp8_)) { break; } _tmp9_ = string_get (multiplier, (glong) i); _tmp10_ = canvas_create_mult_box (self, (gunichar) _tmp9_); _tmp11_ = _tmp10_; _g_object_unref0 (self->priv->yboxes[i]); self->priv->yboxes[i] = _tmp11_; gtk_widget_show_all ((GtkWidget*) self->priv->yboxes[i]); gtk_container_add ((GtkContainer*) self->priv->fixed, (GtkWidget*) self->priv->yboxes[i]); } } } { gint i; i = 0; { gboolean _tmp12_; _tmp12_ = TRUE; while (TRUE) { guint _tmp13_; gchar* _tmp14_ = NULL; gchar* addend; if (!_tmp12_) { i = i + 1; } _tmp12_ = FALSE; _tmp13_ = mult_puzzle_get_num_addends (self->priv->_puzzle); if (!(i < _tmp13_)) { break; } _tmp14_ = mult_puzzle_get_addend (self->priv->_puzzle, i); addend = _tmp14_; { gint j; j = 0; { gboolean _tmp15_; _tmp15_ = TRUE; while (TRUE) { gint _tmp16_; gchar _tmp17_; CharBox* _tmp18_ = NULL; CharBox* _tmp19_; if (!_tmp15_) { j = j + 1; } _tmp15_ = FALSE; _tmp16_ = strlen (addend); if (!(j < _tmp16_)) { break; } _tmp17_ = string_get (addend, (glong) j); _tmp18_ = canvas_create_mult_box (self, (gunichar) _tmp17_); _tmp19_ = _tmp18_; _g_object_unref0 (self->priv->addboxes[i].array[j]); self->priv->addboxes[i].array[j] = _tmp19_; gtk_widget_show_all ((GtkWidget*) self->priv->addboxes[i].array[j]); gtk_container_add ((GtkContainer*) self->priv->fixed, (GtkWidget*) self->priv->addboxes[i].array[j]); } } } _g_free0 (addend); } } } _tmp20_ = mult_puzzle_get_answer (self->priv->_puzzle); answer = _tmp20_; { gint i; i = 0; { gboolean _tmp21_; _tmp21_ = TRUE; while (TRUE) { gint _tmp22_; gchar _tmp23_; CharBox* _tmp24_ = NULL; CharBox* _tmp25_; if (!_tmp21_) { i = i + 1; } _tmp21_ = FALSE; _tmp22_ = strlen (answer); if (!(i < _tmp22_)) { break; } _tmp23_ = string_get (answer, (glong) i); _tmp24_ = canvas_create_mult_box (self, (gunichar) _tmp23_); _tmp25_ = _tmp24_; _g_object_unref0 (self->priv->zboxes[i]); self->priv->zboxes[i] = _tmp25_; gtk_widget_show_all ((GtkWidget*) self->priv->zboxes[i]); gtk_container_add ((GtkContainer*) self->priv->fixed, (GtkWidget*) self->priv->zboxes[i]); } } } _tmp27_ = mult_puzzle_get_unknown_digits (self->priv->_puzzle, &_tmp26_); unknown = _tmp27_; unknown_length1 = _tmp26_; _unknown_size_ = _tmp26_; { gint i; i = 0; { gboolean _tmp28_; _tmp28_ = TRUE; while (TRUE) { CharBox* _tmp29_ = NULL; CharBox* _tmp30_; if (!_tmp28_) { i++; } _tmp28_ = FALSE; if (!(i < 10)) { break; } _tmp29_ = canvas_create_digit_box (self, unknown, unknown_length1, i); _tmp30_ = _tmp29_; _g_object_unref0 (self->priv->digitboxes[i]); self->priv->digitboxes[i] = _tmp30_; gtk_widget_show_all ((GtkWidget*) self->priv->digitboxes[i]); gtk_container_add ((GtkContainer*) self->priv->fixed, (GtkWidget*) self->priv->digitboxes[i]); } } } _tmp31_ = mult_puzzle_get_is_done (p); if (_tmp31_) { gtk_widget_set_sensitive ((GtkWidget*) self, FALSE); { gint i; i = 0; { gboolean _tmp32_; _tmp32_ = TRUE; while (TRUE) { if (!_tmp32_) { i++; } _tmp32_ = FALSE; if (!(i < 10)) { break; } char_box_set_highlight (self->priv->digitboxes[i], GTK_STATE_FLAG_INSENSITIVE); } } } } unknown = (g_free (unknown), NULL); _g_free0 (answer); _g_free0 (multiplier); _g_free0 (multiplicand); } void canvas_highlight_box (Canvas* self, CharBox* box, gboolean digit_box, gboolean hover, gboolean all) { CanvasMode _tmp5_ = 0; CanvasMode native_mode; g_return_if_fail (self != NULL); g_return_if_fail (box != NULL); if (all) { GList* _tmp0_ = NULL; GList* boxes; if (digit_box) { _tmp0_ = self->priv->digit_boxes; } else { _tmp0_ = self->priv->mult_boxes; } boxes = _tmp0_; { GList* b_collection; GList* b_it; b_collection = boxes; for (b_it = b_collection; b_it != NULL; b_it = b_it->next) { CharBox* _tmp1_; CharBox* b; _tmp1_ = _g_object_ref0 ((CharBox*) b_it->data); b = _tmp1_; { gboolean _tmp2_ = FALSE; if (b != box) { const gchar* _tmp3_ = NULL; const gchar* _tmp4_ = NULL; _tmp3_ = char_box_get_letter (b); _tmp4_ = char_box_get_letter (box); _tmp2_ = g_strcmp0 (_tmp3_, _tmp4_) == 0; } else { _tmp2_ = FALSE; } if (_tmp2_) { canvas_highlight_box (self, b, digit_box, hover, FALSE); } _g_object_unref0 (b); } } } } if (digit_box) { _tmp5_ = CANVAS_MODE_DIGIT; } else { _tmp5_ = CANVAS_MODE_CHAR; } native_mode = _tmp5_; if (self->priv->mode == native_mode) { const gchar* _tmp6_ = NULL; _tmp6_ = char_box_get_letter (box); if (g_strcmp0 (self->priv->mode_letter, _tmp6_) == 0) { char_box_set_highlight (box, GTK_STATE_FLAG_ACTIVE); return; } } else { if (self->priv->mode != CANVAS_MODE_NONE) { if (digit_box) { gint _tmp7_; gboolean* _tmp8_ = NULL; gboolean* unknowns; gint unknowns_length1; gint _unknowns_size_; gchar _tmp9_; gint _tmp10_; gboolean* _tmp11_ = NULL; gboolean* guesses; gint guesses_length1; gint _guesses_size_; const gchar* _tmp12_ = NULL; gchar _tmp13_; gint _tmp14_; gint digit; gboolean _tmp15_ = FALSE; _tmp8_ = mult_puzzle_get_unknown_digits (self->priv->_puzzle, &_tmp7_); unknowns = _tmp8_; unknowns_length1 = _tmp7_; _unknowns_size_ = _tmp7_; _tmp9_ = string_get (self->priv->mode_letter, (glong) 0); _tmp11_ = mult_puzzle_get_letter_guesses (self->priv->_puzzle, (MultPuzzleChar) _tmp9_, &_tmp10_); guesses = _tmp11_; guesses_length1 = _tmp10_; _guesses_size_ = _tmp10_; _tmp12_ = char_box_get_letter (box); _tmp13_ = string_get (_tmp12_, (glong) 0); _tmp14_ = g_ascii_digit_value (_tmp13_); digit = _tmp14_; if (!unknowns[digit]) { _tmp15_ = TRUE; } else { _tmp15_ = guesses[digit]; } if (_tmp15_) { char_box_set_highlight (box, GTK_STATE_FLAG_INSENSITIVE); guesses = (g_free (guesses), NULL); unknowns = (g_free (unknowns), NULL); return; } guesses = (g_free (guesses), NULL); unknowns = (g_free (unknowns), NULL); } else { gchar _tmp16_; gint _tmp17_; gint digit; const gchar* _tmp18_ = NULL; gchar _tmp19_; gint _tmp20_; gboolean* _tmp21_ = NULL; gboolean* _tmp22_; gint _tmp22__length1; gboolean _tmp23_; _tmp16_ = string_get (self->priv->mode_letter, (glong) 0); _tmp17_ = g_ascii_digit_value (_tmp16_); digit = _tmp17_; _tmp18_ = char_box_get_letter (box); _tmp19_ = string_get (_tmp18_, (glong) 0); _tmp21_ = mult_puzzle_get_letter_guesses (self->priv->_puzzle, (MultPuzzleChar) _tmp19_, &_tmp20_); _tmp22_ = _tmp21_; _tmp22__length1 = _tmp20_; _tmp23_ = _tmp22_[digit]; _tmp22_ = (g_free (_tmp22_), NULL); if (_tmp23_) { char_box_set_highlight (box, GTK_STATE_FLAG_INSENSITIVE); return; } } if (hover) { char_box_set_highlight (box, GTK_STATE_FLAG_PRELIGHT); return; } } else { if (hover) { char_box_set_highlight (box, GTK_STATE_FLAG_PRELIGHT); return; } } } char_box_set_highlight (box, GTK_STATE_FLAG_NORMAL); } static gboolean canvas_handle_release (Canvas* self, CharBox* box, GdkEventButton* event, gboolean digit_box) { gboolean result = FALSE; gboolean _tmp0_; gint x = 0; gint y = 0; gint w = 0; gint h = 0; gint _tmp1_; gint _tmp2_; GdkWindow* _tmp3_ = NULL; gint _tmp4_; GdkWindow* _tmp5_ = NULL; gint _tmp6_; gboolean _tmp7_ = FALSE; gint _tmp8_; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (box != NULL, FALSE); _tmp0_ = gtk_widget_get_visible ((GtkWidget*) box); if (!_tmp0_) { result = FALSE; return result; } gtk_widget_get_pointer ((GtkWidget*) box, &_tmp1_, &_tmp2_); x = _tmp1_; y = _tmp2_; _tmp3_ = gtk_widget_get_window ((GtkWidget*) self); _tmp4_ = gdk_window_get_width (_tmp3_); w = _tmp4_; _tmp5_ = gtk_widget_get_window ((GtkWidget*) self); _tmp6_ = gdk_window_get_height (_tmp5_); h = _tmp6_; _tmp8_ = CLAMP (x, 0, w); if (_tmp8_ != x) { _tmp7_ = TRUE; } else { gint _tmp9_; _tmp9_ = CLAMP (y, 0, h); _tmp7_ = _tmp9_ != y; } if (_tmp7_) { result = FALSE; return result; } if ((*event).button == 1) { if (digit_box) { canvas_start_digit_choice (self, box); } else { canvas_start_char_choice (self, box); } result = TRUE; return result; } result = FALSE; return result; } static gboolean canvas_handle_none_release (Canvas* self, GdkEventButton* event) { gboolean result = FALSE; gint x = 0; gint y = 0; gint w = 0; gint h = 0; gint _tmp0_; gint _tmp1_; GdkWindow* _tmp2_ = NULL; gint _tmp3_; GdkWindow* _tmp4_ = NULL; gint _tmp5_; gboolean _tmp6_ = FALSE; gint _tmp7_; g_return_val_if_fail (self != NULL, FALSE); gtk_widget_get_pointer ((GtkWidget*) self, &_tmp0_, &_tmp1_); x = _tmp0_; y = _tmp1_; _tmp2_ = gtk_widget_get_window ((GtkWidget*) self); _tmp3_ = gdk_window_get_width (_tmp2_); w = _tmp3_; _tmp4_ = gtk_widget_get_window ((GtkWidget*) self); _tmp5_ = gdk_window_get_height (_tmp4_); h = _tmp5_; _tmp7_ = CLAMP (x, 0, w); if (_tmp7_ != x) { _tmp6_ = TRUE; } else { gint _tmp8_; _tmp8_ = CLAMP (y, 0, h); _tmp6_ = _tmp8_ != y; } if (_tmp6_) { result = FALSE; return result; } if ((*event).button == 1) { canvas_clear_mode (self); } result = TRUE; return result; } MultPuzzle* canvas_get_puzzle (Canvas* self) { MultPuzzle* result; g_return_val_if_fail (self != NULL, NULL); result = self->priv->_puzzle; return result; } static void canvas_set_puzzle (Canvas* self, MultPuzzle* value) { MultPuzzle* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_puzzle); self->priv->_puzzle = _tmp0_; g_object_notify ((GObject *) self, "puzzle"); } GtkMult* canvas_get_mult (Canvas* self) { GtkMult* result; g_return_val_if_fail (self != NULL, NULL); result = self->priv->_mult; return result; } static void canvas_set_mult (Canvas* self, GtkMult* value) { GtkMult* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_mult); self->priv->_mult = _tmp0_; g_object_notify ((GObject *) self, "mult"); } static gboolean _canvas_handle_none_release_gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { gboolean result; result = canvas_handle_none_release (self, event); return result; } static void _canvas_handle_size_allocate_gtk_widget_size_allocate (GtkWidget* _sender, GdkRectangle* allocation, gpointer self) { canvas_handle_size_allocate (self, allocation); } static void _canvas_handle_puzzle_change_mult_puzzle_changed (MultPuzzle* _sender, gpointer self) { canvas_handle_puzzle_change (self, _sender); } static GObject * canvas_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { GObject * obj; GObjectClass * parent_class; Canvas * self; MultPuzzle* _tmp0_ = NULL; GtkFixed* _tmp1_ = NULL; GtkVSeparator* _tmp2_ = NULL; GtkHSeparator* _tmp3_ = NULL; GtkHSeparator* _tmp4_ = NULL; CharBox* _tmp5_ = NULL; CharBox* _tmp6_ = NULL; gchar* _tmp7_ = NULL; gchar* x; gchar* _tmp8_ = NULL; gchar* y; gchar* _tmp9_ = NULL; gchar* z; gint _tmp10_; gint _tmp11_; gint _tmp12_; CharBox** _tmp13_ = NULL; gint _tmp14_; CharBox** _tmp15_ = NULL; gint _tmp16_; CharBox** _tmp17_ = NULL; CharBox** _tmp18_ = NULL; guint _tmp19_; ArrayBox* _tmp20_ = NULL; gint vsep_width = 0; gint hsep1_height = 0; gint _tmp26_; parent_class = G_OBJECT_CLASS (canvas_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = CANVAS (obj); _tmp0_ = gtk_mult_get_puzzle (self->priv->_mult); canvas_set_puzzle (self, _tmp0_); self->priv->mode = CANVAS_MODE_NONE; _g_free0 (self->priv->mode_letter); self->priv->mode_letter = NULL; self->priv->min_box_request = -1; __g_list_free__g_object_unref0_0 (self->priv->mult_boxes); self->priv->mult_boxes = NULL; __g_list_free__g_object_unref0_0 (self->priv->digit_boxes); self->priv->digit_boxes = NULL; _tmp1_ = (GtkFixed*) gtk_fixed_new (); _g_object_unref0 (self->priv->fixed); self->priv->fixed = g_object_ref_sink (_tmp1_); gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->priv->fixed); _tmp2_ = (GtkVSeparator*) gtk_vseparator_new (); _g_object_unref0 (self->priv->vsep); self->priv->vsep = (GtkWidget*) g_object_ref_sink (_tmp2_); _tmp3_ = (GtkHSeparator*) gtk_hseparator_new (); _g_object_unref0 (self->priv->hsep1); self->priv->hsep1 = (GtkWidget*) g_object_ref_sink (_tmp3_); _tmp4_ = (GtkHSeparator*) gtk_hseparator_new (); _g_object_unref0 (self->priv->hsep2); self->priv->hsep2 = (GtkWidget*) g_object_ref_sink (_tmp4_); gtk_container_add ((GtkContainer*) self->priv->fixed, self->priv->vsep); gtk_container_add ((GtkContainer*) self->priv->fixed, self->priv->hsep1); gtk_container_add ((GtkContainer*) self->priv->fixed, self->priv->hsep2); _tmp5_ = char_box_new ("+", GTK_SHADOW_NONE); _g_object_unref0 (self->priv->plusbox); self->priv->plusbox = g_object_ref_sink (_tmp5_); gtk_container_add ((GtkContainer*) self->priv->fixed, (GtkWidget*) self->priv->plusbox); _tmp6_ = char_box_new ("×", GTK_SHADOW_NONE); _g_object_unref0 (self->priv->timesbox); self->priv->timesbox = g_object_ref_sink (_tmp6_); gtk_container_add ((GtkContainer*) self->priv->fixed, (GtkWidget*) self->priv->timesbox); _tmp7_ = mult_puzzle_get_multiplicand (self->priv->_puzzle); x = _tmp7_; _tmp8_ = mult_puzzle_get_multiplier (self->priv->_puzzle); y = _tmp8_; _tmp9_ = mult_puzzle_get_answer (self->priv->_puzzle); z = _tmp9_; _tmp10_ = strlen (y); self->priv->num_box_rows = 3 + ((gint) _tmp10_); _tmp11_ = strlen (z); self->priv->num_box_cols = 1 + ((gint) _tmp11_); _tmp12_ = strlen (x); _tmp13_ = g_new0 (CharBox*, _tmp12_ + 1); self->priv->xboxes = (_vala_array_free (self->priv->xboxes, self->priv->xboxes_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->xboxes = _tmp13_; self->priv->xboxes_length1 = _tmp12_; self->priv->_xboxes_size_ = _tmp12_; _tmp14_ = strlen (y); _tmp15_ = g_new0 (CharBox*, _tmp14_ + 1); self->priv->yboxes = (_vala_array_free (self->priv->yboxes, self->priv->yboxes_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->yboxes = _tmp15_; self->priv->yboxes_length1 = _tmp14_; self->priv->_yboxes_size_ = _tmp14_; _tmp16_ = strlen (z); _tmp17_ = g_new0 (CharBox*, _tmp16_ + 1); self->priv->zboxes = (_vala_array_free (self->priv->zboxes, self->priv->zboxes_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->zboxes = _tmp17_; self->priv->zboxes_length1 = _tmp16_; self->priv->_zboxes_size_ = _tmp16_; _tmp18_ = g_new0 (CharBox*, 10 + 1); self->priv->digitboxes = (_vala_array_free (self->priv->digitboxes, self->priv->digitboxes_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->digitboxes = _tmp18_; self->priv->digitboxes_length1 = 10; self->priv->_digitboxes_size_ = 10; _tmp19_ = mult_puzzle_get_num_addends (self->priv->_puzzle); _tmp20_ = g_new0 (ArrayBox, _tmp19_); self->priv->addboxes = (_vala_ArrayBox_array_free (self->priv->addboxes, self->priv->addboxes_length1), NULL); self->priv->addboxes = _tmp20_; self->priv->addboxes_length1 = _tmp19_; self->priv->_addboxes_size_ = _tmp19_; { gint i; i = 0; { gboolean _tmp21_; _tmp21_ = TRUE; while (TRUE) { gchar* _tmp22_ = NULL; gchar* _tmp23_; gint _tmp24_; CharBox** _tmp25_ = NULL; if (!_tmp21_) { i = i + 1; } _tmp21_ = FALSE; if (!(i < self->priv->addboxes_length1)) { break; } _tmp22_ = mult_puzzle_get_addend (self->priv->_puzzle, i); _tmp23_ = _tmp22_; _tmp24_ = strlen (_tmp23_); _tmp25_ = g_new0 (CharBox*, _tmp24_ + 1); self->priv->addboxes[i].array = (_vala_array_free (self->priv->addboxes[i].array, self->priv->addboxes[i].array_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->addboxes[i].array = _tmp25_; self->priv->addboxes[i].array_length1 = _tmp24_; self->priv->addboxes[i]._array_size_ = _tmp24_; _g_free0 (_tmp23_); } } } gtk_widget_get_preferred_height (self->priv->hsep1, NULL, &_tmp26_); hsep1_height = _tmp26_; vsep_width = hsep1_height; self->priv->min_width = ((((12 + ((self->priv->num_box_cols - 1) * CANVAS_SPACING)) + CANVAS_SPACING) + vsep_width) + (CANVAS_SPACING * 4)) + 12; self->priv->min_height = ((12 + ((self->priv->num_box_rows + 1) * CANVAS_SPACING)) + (hsep1_height * 2)) + 12; gtk_widget_set_size_request ((GtkWidget*) self, self->priv->min_width, self->priv->min_height); gtk_widget_add_events ((GtkWidget*) self, (gint) GDK_BUTTON_RELEASE_MASK); g_signal_connect_object ((GtkWidget*) self, "button-release-event", (GCallback) _canvas_handle_none_release_gtk_widget_button_release_event, self, 0); g_signal_connect_object ((GtkWidget*) self->priv->fixed, "size-allocate", (GCallback) _canvas_handle_size_allocate_gtk_widget_size_allocate, self, 0); canvas_handle_puzzle_change (self, self->priv->_puzzle); g_signal_connect_object (self->priv->_puzzle, "changed", (GCallback) _canvas_handle_puzzle_change_mult_puzzle_changed, self, 0); _g_free0 (z); _g_free0 (y); _g_free0 (x); return obj; } static void canvas_class_init (CanvasClass * klass) { canvas_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (CanvasPrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_canvas_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_canvas_set_property; G_OBJECT_CLASS (klass)->constructor = canvas_constructor; G_OBJECT_CLASS (klass)->finalize = canvas_finalize; g_object_class_install_property (G_OBJECT_CLASS (klass), CANVAS_PUZZLE, g_param_spec_object ("puzzle", "puzzle", "puzzle", TYPE_MULT_PUZZLE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (G_OBJECT_CLASS (klass), CANVAS_MULT, g_param_spec_object ("mult", "mult", "mult", TYPE_GTK_MULT, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); } static void canvas_instance_init (Canvas * self) { self->priv = CANVAS_GET_PRIVATE (self); } static void canvas_finalize (GObject* obj) { Canvas * self; self = CANVAS (obj); _g_object_unref0 (self->priv->_puzzle); _g_object_unref0 (self->priv->_mult); _g_free0 (self->priv->mode_letter); _g_object_unref0 (self->priv->fixed); _g_object_unref0 (self->priv->vsep); _g_object_unref0 (self->priv->hsep1); _g_object_unref0 (self->priv->hsep2); __g_list_free__g_object_unref0_0 (self->priv->mult_boxes); __g_list_free__g_object_unref0_0 (self->priv->digit_boxes); self->priv->xboxes = (_vala_array_free (self->priv->xboxes, self->priv->xboxes_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->yboxes = (_vala_array_free (self->priv->yboxes, self->priv->yboxes_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->zboxes = (_vala_array_free (self->priv->zboxes, self->priv->zboxes_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->addboxes = (_vala_ArrayBox_array_free (self->priv->addboxes, self->priv->addboxes_length1), NULL); self->priv->digitboxes = (_vala_array_free (self->priv->digitboxes, self->priv->digitboxes_length1, (GDestroyNotify) g_object_unref), NULL); _g_object_unref0 (self->priv->plusbox); _g_object_unref0 (self->priv->timesbox); G_OBJECT_CLASS (canvas_parent_class)->finalize (obj); } GType canvas_get_type (void) { static volatile gsize canvas_type_id__volatile = 0; if (g_once_init_enter (&canvas_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (CanvasClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) canvas_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Canvas), 0, (GInstanceInitFunc) canvas_instance_init, NULL }; GType canvas_type_id; canvas_type_id = g_type_register_static (GTK_TYPE_EVENT_BOX, "Canvas", &g_define_type_info, 0); g_once_init_leave (&canvas_type_id__volatile, canvas_type_id); } return canvas_type_id__volatile; } static void _vala_canvas_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { Canvas * self; self = CANVAS (object); switch (property_id) { case CANVAS_PUZZLE: g_value_set_object (value, canvas_get_puzzle (self)); break; case CANVAS_MULT: g_value_set_object (value, canvas_get_mult (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void _vala_canvas_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { Canvas * self; self = CANVAS (object); switch (property_id) { case CANVAS_PUZZLE: canvas_set_puzzle (self, g_value_get_object (value)); break; case CANVAS_MULT: canvas_set_mult (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { if ((array != NULL) && (destroy_func != NULL)) { int i; for (i = 0; i < array_length; i = i + 1) { if (((gpointer*) array)[i] != NULL) { destroy_func (((gpointer*) array)[i]); } } } } static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { _vala_array_destroy (array, array_length, destroy_func); g_free (array); } gmult-8.0/gmult/CharBox.vala0000644000175000017500000000554111551310024015407 0ustar udienzudienz/* -*- Mode: Vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */ /* Multiplication Puzzle Copyright (C) 2004-2008,2011 Michael Terry This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ using GLib; /* Vala 0.12's bindings for this are wrong, so we make our own */ [CCode (cheader_filename = "gtk/gtk.h")] extern void gtk_style_context_get_color(Gtk.StyleContext context, Gtk.StateFlags state, out Gdk.RGBA color); public class CharBox : Gtk.EventBox { public string letter { get; set; default = "?"; } public Gtk.ShadowType border { get; set; default = Gtk.ShadowType.NONE; } public int points { get; set; } private Gtk.StateFlags _highlight = Gtk.StateFlags.NORMAL; public Gtk.StateFlags highlight { get {return _highlight;} set { _highlight = value; queue_draw (); } } /* Private methods & members */ private Gtk.DrawingArea area; private bool draw_request (Cairo.Context ctx) { var w = area.get_allocated_width(); var h = area.get_allocated_height(); var style = get_style_context (); style.save(); style.add_class(Gtk.STYLE_CLASS_RUBBERBAND); style.set_state(highlight); if (highlight != Gtk.StateFlags.NORMAL) Gtk.render_background (style, ctx, 0, 0, w, h); if (border != Gtk.ShadowType.NONE) Gtk.render_frame (style, ctx, 0, 0, w, h); // FIXME: highlight/border? // Letter Gdk.RGBA color; gtk_style_context_get_color(style, highlight, out color); ctx.set_source_rgba(color.red, color.green, color.blue, color.alpha); ctx.set_font_size (points); Cairo.TextExtents te = Cairo.TextExtents(); ctx.text_extents (_(letter), out te); Cairo.FontExtents fe = Cairo.FontExtents(); ctx.font_extents (out fe); ctx.move_to ( w/2 - te.x_bearing - te.width / 2, h/2 - fe.descent + fe.height / 2); ctx.show_text (_(letter)); style.restore(); return true; } /* Constructor */ public CharBox (string letter, Gtk.ShadowType border) { this.letter = letter; this.border = border; } construct { area = new Gtk.DrawingArea (); area.draw.connect(draw_request); add (area); } } gmult-8.0/po/af.po0000644000175000017500000001455511551323754013453 0ustar udienzudienz# Afrikaans translation for the GNU Multiplication puzzle. # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the gmult package. # Petri Jooste , 2004. # msgid "" msgstr "" "Project-Id-Version: gmult 2.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:32+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Afrikaans \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" "X-Poedit-Language: Afrikaans\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Maal Raaisel" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Spel" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Wenk" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Oplossing" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Hulp" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Veels geluk!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Verkeerd — %1$s is nie %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Korrek — %1$s is %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Verkeerde Raaiskote" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Tyd" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Maak Maal Raaisel toe" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Begin 'n nuwe spel" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Raaisel is opgelos" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Los hierdie spel op" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s is %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Wys 'n gerandomiseerde nommer" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Informasie oor Maal Raaisel" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Horcrux https://launchpad.net/~pizzabotha\n" " Michael Terry https://launchpad.net/~mterry\n" " Petri Jooste https://launchpad.net/~rkwjpj-puknet\n" " Stephan Wessels https://launchpad.net/~slwessels" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Bepaal watter letters is watter getalle" #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Hierdie program word versprei in die hoop dat dit nuttig sal wees, maar " #~ "SONDER ENIGE WAARBORG; sonder selfs die geïmpliseerde waarborg van " #~ "VERHANDELBAARHEID of GESKIKTHEID VIR 'N SPESIFIEKE DOEL. Sien die GNU " #~ "Algemene Publieke Lisensie vir meer detail." #, c-format #~ msgid "Could not display %s" #~ msgstr "Kon nie %s wys nie" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Jy behoort 'n kopie van die GNU Algemene Publieke Lisensie te ge kry het " #~ "saam met hierdie program; indien nie, skryf aan die Free Software " #~ "Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, VSA." #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Hierdie program is gratis sagteware; U kan dit herversprei en/of verander " #~ "onder die terme van die GNU Algemene publieke lisensie soos gepubliseer deur " #~ "die Gratis Sagteware Vereeniging; Weergawe 3 van die lisensie, of (volgende " #~ "U keuse) enige opvolgende weergawe." gmult-8.0/po/eu.po0000644000175000017500000001066611551323754013475 0ustar udienzudienz# Basque translation of gmult. # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the gmult package. # Mikel Olasagasti , 2004, 2005. # , fuzzy # # msgid "" msgstr "" "Project-Id-Version: gmult 5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:33+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Basque \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Biderketa puzzlea" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Jokua" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Ebatzi" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Laguntza" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Zorionak!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Hasi joku berri bat" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Puzzlea ebatzita" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Ebatzi joku hau" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Biderketa puzzleari buruz" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Mikel Olasagasti Uranga \n" "\n" "Launchpad Contributions:\n" " Michael Terry https://launchpad.net/~mterry" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Kalkulatu zein letra den zein zenbaki" gmult-8.0/po/hu.po0000644000175000017500000001465311551323754013500 0ustar udienzudienz# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: gmult 6.1\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:33+0000\n" "Last-Translator: Polesz \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" "X-Poedit-Country: HUNGARY\n" "X-Poedit-Language: Hungarian\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Szorzás Rejtvény" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Játék" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Javaslat" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Megoldás" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Súgó" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Gratulálunk!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Helytelen — %1$s nem %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Helyes — %1$s egyenlő %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Hibás Feltételezések" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Idő" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Szorzás rejtvény bezárása" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Új játék indítása" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Rejtvény megoldva" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "A játék megoldása" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s van %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Szám felfedése véletlenszerűen" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Szorzás rejtvény névjegye" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "fordítók névjegye\n" "\n" "Launchpad Contributions:\n" " Muszela Balázs https://launchpad.net/~bazsi86-deactivatedaccount\n" " Polesz https://launchpad.net/~polesz-nedudu" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Találja ki, hogy melyik betű melyik számnak felel meg" #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Ezt a programot abban a reményben terjesztjük, hogy hasznos, de mindennemű " #~ "GARANCIA NÉLKÜL. Részletesen erről a GNU General Public License-ben " #~ "(Általános Nyilvános Licenc) olvashat." #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Ez a program szabad szoftver. Ön továbbadhatja és/vagy módosíthatja a Szabad " #~ "Szoftver Alapítvány által kiadott GNU General Public License (Általános " #~ "Nyilvános Licenc) 3. verziójában (vagy választása szerint) bármely újabb " #~ "verzióban foglaltak szerint." #, c-format #~ msgid "Could not display %s" #~ msgstr "Nem lehet a képernyőt megnyitni: %s" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "A programmal együtt meg kellett kapnia a GNU General Public License " #~ "(Általános Nyilvános Licenc) egy példányát. Amennyiben nem így történt, " #~ "akkor beszerezhető a Szabad Szoftver Alapítványtól. Free Software Foundation " #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." gmult-8.0/po/POTFILES.in0000644000175000017500000000024011551155441014260 0ustar udienzudienz[encoding: UTF-8] gmult/Canvas.vala gmult/CharBox.vala gmult/DigitBox.vala gmult/GtkMult.vala gmult/MultPuzzle.vala gmult/TableBox.vala data/gmult.desktop.in gmult-8.0/po/nl.po0000644000175000017500000001556011551323754013473 0ustar udienzudienz# Dutch messages for gmult. # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # Tim Van Holder , 2007. # msgid "" msgstr "" "Project-Id-Version: gmult 5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-14 13:30+0000\n" "Last-Translator: Mira \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Vermenigvuldigingspuzzel" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Spel" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Hint" # of "_Los Op"? #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Oplossing" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Help" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Proficiat!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Verkeerd — %1$s is niet %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Juist — %1$s is %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Foute gokken" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Tijd" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Multplication Puzzle afsluiten" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Start een nieuw spel" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Puzzel opgelost" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Los dit spel op" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s is %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Toon een willekeurig cijfer" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Over Vermenigvuldigingspuzzel" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Nederlandse vertaling door Tim Van Holder.\n" "Meld vertalingsfouten aan .\n" "\n" "Launchpad Contributions:\n" " Fly-Man- https://launchpad.net/~flyman\n" " Michael Terry https://launchpad.net/~mterry\n" " Mira https://launchpad.net/~paniej\n" " Steven De Baets https://launchpad.net/~stevendebaets\n" " Tim Van Holder https://launchpad.net/~tim-van-holder-telenet" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Probeer uit te vissen welke cijfers er schuilgaan achter de letters" #, c-format #~ msgid "Could not display %s" #~ msgstr "Kan %s niet weergeven" #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Dit programma wordt gedistribueerd in de hoop dat het bruikbaar zal zijn, " #~ "maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete garantie voor " #~ "VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN SPECIFIEK DOEL. Zie de GNU General " #~ "Public License voor meer details." #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Dit programma is vrije software;je kan het herdistributeren en/of wijzigen " #~ "onder de voorwaarden van de GNU General Public License zoals gepubliseerd " #~ "door de Free Software Foundation; onder versie 3 van de Licentie, of enige " #~ "latere versie." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "U zou moeten hebben ontvangen een kopie van de GNU General Public License " #~ "samen met dit programma, zo niet, schrijf naar de Free Software Foundation, " #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgid "Quit Multiplication Puzzle" #~ msgstr "Sluit Multiplication Puzzle" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program. If not, see http://www.gnu.org/licenses/." #~ msgstr "" #~ "Je zou een kopie van de GNU General Public License moeten hebben gekregen " #~ "samen met dit programma. Zo niet, zie http://www.gnu.org/licenses/." gmult-8.0/po/vi.po0000644000175000017500000001475011551323754013500 0ustar udienzudienz# Vietnamese translation for gmult. # Copyright © 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the gmult package. # Clytie Siddall , 2005-2008. # msgid "" msgstr "" "Project-Id-Version: gmult 6.0\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:31+0000\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Câu đố nhân" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "Đ" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "K" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Chơi" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Giải" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "Trợ g_iúp" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Chúc mừng !" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Không đúng — %1$s không phải là %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Đúng — %1$s là %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Đóng câu đố nhân" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Bắt đầu lượt chơi mới" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Câu đố đã được giải" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Giải lượt chơi này" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Giới thiệu câu đố nhân" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Nhóm Việt hóa Phần mềm Tự do " "\n" "\n" "Launchpad Contributions:\n" " Clytie Siddall https://launchpad.net/~clytie" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Tính ra chữ cái nào là chữ số nào" #, c-format #~ msgid "Could not display %s" #~ msgstr "Không thể hiển thị %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Chương trình này là phần mềm tự do; bạn có thể phát hành lại nó và/hoặc sửa " #~ "đổi nó với điều kiện của Giấy Phép Công Cộng GNU như được xuất bản bởi Tổ " #~ "Chức Phần Mềm Tự Do; hoặc phiên bản 3 của Giấy Phép này, hoặc (tùy chọn) bất " #~ "kỳ phiên bản sau nào." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Chương trình này được phát hành vì mong muốn nó có ích, nhưng KHÔNG CÓ BẢO " #~ "HÀNH GÌ CẢ, THẬM CHÍ KHÔNG CÓ BẢO ĐẢM ĐƯỢC NGỤ Ý KHẢ NĂNG BÁN HAY KHẢ NĂNG " #~ "LÀM ĐƯỢC VIỆC DỨT KHOÁT. Xem Giấy Phép Công Cộng GNU để biết thêm chi tiết." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Bạn đã nhận một bản sao của Giấy Phép Công Cộng GNU cùng với chương trình " #~ "này; nếu không, hãy viết thư cho Tổ Chức Phần Mềm Tự Do,\n" #~ "Free Software Foundation, Inc.,\n" #~ "51 Franklin Street, Fifth Floor,\n" #~ "Boston, MA 02110-1301, USA (Mỹ)." gmult-8.0/po/ms.po0000644000175000017500000001536511551323754013504 0ustar udienzudienz# gmult Bahasa Melayu (Malay) (ms). # Copyright (C) 2005 Sharuzzaman Ahmat Raslan # This file is distributed under the same license as the gmult package. # Sharuzzaman Ahmat Raslan , 2005. # msgid "" msgstr "" "Project-Id-Version: gmult 5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-06-27 06:42+0000\n" "Last-Translator: abuyop \n" "Language-Team: Malay \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Teka-teki Darab" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Permainan" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Bayangan" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Selesaikan" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Bantuan" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Tahniah!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Salah - %1$s bukan %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Betul - %1$s adalah %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Tekaan yang silap" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Masa" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Tutup Multiplication Puzzle" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Mulakan permainan baru" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Teka-teki diselesaikan" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Selesaikan permainan ini" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s adalah %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Singkap digit secara rambang" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Perihal Teka-teki Darab" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Sharuzzaman Ahmat Raslan \n" "\n" "Launchpad Contributions:\n" " Hafiz, Muhammad https://launchpad.net/~muhammad-hafiz\n" " Michael Terry https://launchpad.net/~mterry\n" " Sharuzzaman Ahmat Raslan https://launchpad.net/~sharuzzaman\n" " abuyop https://launchpad.net/~abuyop" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Tentukan aksara yang mana adalah nombor" #, c-format #~ msgid "Could not display %s" #~ msgstr "Tidak boleh paparkan %s" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Anda sepatutnya telah menerima satu salinan Lesen Umum GNU bersama-sama " #~ "program ini; sekiranya tidak, sila hantarkan surat ke Free Software " #~ "Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Program ini diedarkan dengan harapan ianya berguna tetapi TANPA SEBARANG " #~ "JAMINAN; tanpa sebarang implakasi jaminan KEBOLEHDAGANGAN atau KESESUAIAN " #~ "UNTUK SESUATU TUJUAN. Sila rujuk GNU General Public LIcense untuk keterangan " #~ "lanjut." #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Program ini adalah perisian bebas, anda boleh sebarkannya / atau mengubahnya " #~ "dibawah terma-terma Lesen Umum GNU seperti mana diterbitkan oleh Penubuhan " #~ "Perisian Percuma, sama ada versi 3 lesen tersebut atau (pilihan anda) lain-" #~ "lain versi." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program. If not, see http://www.gnu.org/licenses/." #~ msgstr "" #~ "Anda seharusnya menerima salinan Lesen GNU General Public bersama-sama " #~ "perisian ini. Jika tiada, lihat http://www.gnu.org/licenses/." #~ msgid "Quit Multiplication Puzzle" #~ msgstr "Keluar Teka-teki Darab" gmult-8.0/po/fr.po0000644000175000017500000001560711551323754013473 0ustar udienzudienz# Messages français pour GNU concernant gmult. # Copyright © 2004-2008 Free Software Foundation, Inc. # This file is distributed under the same license as the gmult package. # Michel Robitaille , traducteur depuis/since 1996. # Odile Bénassy , traductrice depuis 2008. msgid "" msgstr "" "Project-Id-Version: GNU gmult 6.0\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-08-13 18:20+0000\n" "Last-Translator: Nicolas Delvaux \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Jeu-devinette de multiplication" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Jeu" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Astuce" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Résoudre" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Aide" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Félicitations !" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Incorrect - %1$s n'est pas %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Correct - %1$s est bien %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Tentatives incorrectes" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Temps" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Quitter ce jeu de multiplication" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Débuter une nouvelle partie" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Problème résolu" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Afficher la solution" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s est %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Tirer un chiffre au hasard" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "À propos de ce jeu de multiplication" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Traduction française par Odile Bénassy\n" "\n" "Launchpad Contributions:\n" " Michael Terry https://launchpad.net/~mterry\n" " Michel Robitaille https://launchpad.net/~robitail\n" " Sorkin https://launchpad.net/~kosnila\n" " Thibault Févry https://launchpad.net/~thibaultfevry" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Vous devez deviner à quel nombre correspond chaque lettre" #, c-format #~ msgid "Could not display %s" #~ msgstr "Impossible d'afficher %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Ceci est un logiciel libre. Vous pouvez le redistribuer et/ou le modifier, " #~ "selon les termes de la licence publique générale de GNU, - publiée par la " #~ "Free Software Foundation - dans sa version 3 ou ultérieure, au choix." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Ce programme est publié avec l'espoir qu'il sera utile, mais SANS AUCUNE " #~ "GARANTIE, pas même la garantie implite de CAPACITÉ DE MISE SUR LE MARCHÉ ni " #~ "celle d'ADAPTATION À UN BUT PARTICULIER. Pour tous détails, voyez la Licence " #~ "Générale de GNU." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "En même temps que ce programme, vous avez dû recevoir le texte de la " #~ "licence. Si ce n'était pas le cas, écrivez à « Free Software Foundation, " #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA »." #~ msgid "Quit Multiplication Puzzle" #~ msgstr "Quitter Multiplication Puzzle" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program. If not, see http://www.gnu.org/licenses/." #~ msgstr "" #~ "Vous devriez avoir reçu une copie de la GNU General Public License avec ce " #~ "programme. Sinon, voir http://www.gnu.org/licenses/." gmult-8.0/po/gmult.pot0000644000175000017500000000764311551324464014400 0ustar udienzudienz#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" "Language: \n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "" gmult-8.0/po/LINGUAS0000644000175000017500000000014611551155441013535 0ustar udienzudienzaf ar cs da de el en_GB es eu fi fr hu id io it ja ms nl pl pt pt_BR rm ro ru sr sv tr vi zh_CN zh_TW gmult-8.0/po/pt.po0000644000175000017500000001034111551323754013475 0ustar udienzudienz# Portuguese translation for gmult # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the gmult package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: gmult\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:33+0000\n" "Last-Translator: Launchpad Translations Administrators " "\n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Ajuda" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Parabéns!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " nglnx https://launchpad.net/~nglnx" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "" gmult-8.0/po/zh_TW.po0000644000175000017500000001107211551323754014107 0ustar udienzudienz# Traditional Chinese Messages for gmult # Copyright (C) 2005 Free Software Foundation, Inc. # Wei-Lun Chao , 2005 # msgid "" msgstr "" "Project-Id-Version: gmult 5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:33+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Chinese (traditional) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "乘法字謎" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "甲" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "乙" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "丙" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "丁" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "戊" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "己" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "庚" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "辛" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "壬" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "癸" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "遊戲(_G)" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "解答(_S)" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "求助(_H)" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "恭喜!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "時間" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "關閉 Multiplication Puzzle" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "重新開始新的遊戲" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "字謎已解答" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "解答這個遊戲" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "關於乘法字謎" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "趙惟倫 \n" "\n" "Launchpad Contributions:\n" " Michael Terry https://launchpad.net/~mterry\n" " Wei-Lun Chao https://launchpad.net/~chaoweilun-pcmail\n" " sika https://launchpad.net/~sikajs" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "推測出哪個文字代表哪個數字" #, c-format #~ msgid "Could not display %s" #~ msgstr "無法顯示 %s" gmult-8.0/po/da.po0000644000175000017500000001453111551323754013443 0ustar udienzudienz# Danish Translation of Multiplication Puzzle. # Copyright (C) 2008 Multiplication Puzzle. # This file is distributed under the same license as the gmult package. # Joe Hansen , 2008. # msgid "" msgstr "" "Project-Id-Version: gmult-6.0\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:28+0000\n" "Last-Translator: Christian Funder Sommerlund \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" # Har valgt ikke at oversætte spillets navn #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Multiplication Puzzle" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Spil" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Tip" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Løs" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Hjælp" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Tillykke!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Forkert — %1$s er ikke %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Rigtigt - %1$s er %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Forkerte gæt" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Tid" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Luk Multiplication Puzzle" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Start et nyt spil" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Opgave løst" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Løs dette spil" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s er %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Afslør et tilfældigt tal" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Om Multiplication Puzzle" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Joe Hansen \n" "\n" "Dansk-gruppen \n" "Mere info: http://www.dansk-gruppen.dk\n" "\n" "Launchpad Contributions:\n" " Christian Funder Sommerlund https://launchpad.net/~zero3\n" " Michael Terry https://launchpad.net/~mterry" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Regn ud hvilke bogstaver der repræsenterer hvilke tal" #, c-format #~ msgid "Could not display %s" #~ msgstr "Kunne ikke vise %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Dette program er frit programmel; du kan distribuere det og/eller ændre det " #~ "under betingelserne i GNU Free Documentation License (GFDL), udgivet af the " #~ "Free Software Foundation; enten version 3 af denne licens, eller (ved dit " #~ "valg) enhver senere version." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Dette program distribueres i håbet om, at det er brugbart, men uden nogen " #~ "form for ansvar; herunder også ethvert ansvar der måtte fremstå " #~ "underforstået. Se GNU General Public License for yderligere oplysninger." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Du bør have modtaget en kopi af GNU General Public License sammen med dette " #~ "program; hvis ikke så skriv til the Free Software Foundation, Inc., 59 " #~ "Temple Place - Suite 330, Boston, MA 02111-1307, USA." gmult-8.0/po/en_GB.po0000644000175000017500000001507511551323754014035 0ustar udienzudienz# English (United Kingdom) translation for gmult # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the gmult package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: gmult\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-05-09 10:40+0000\n" "Last-Translator: MoLE \n" "Language-Team: English (United Kingdom) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Multiplication Puzzle" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Game" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Hint" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Solve" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Help" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Congratulations!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Incorrect — %1$s is not %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Correct — %1$s is %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Incorrect Guesses" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Time" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Close Multiplication Puzzle" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Start a new game" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Puzzle solved" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Solve this game" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s is %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Reveal a digit at random" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "About Multiplication Puzzle" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Jonathon Fernyhough https://launchpad.net/~jfernyhough\n" " MoLE https://launchpad.net/~moleonthehill" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Figure out which letters are which numbers" #, c-format #~ msgid "Could not display %s" #~ msgstr "Could not display %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public Licence as published by the Free " #~ "Software Foundation; either version 3 of the Licence, or (at your option) " #~ "any later version." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "This program 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 Licence for " #~ "more details." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "You should have received a copy of the GNU General Public Licence along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program. If not, see http://www.gnu.org/licenses/." #~ msgstr "" #~ "You should have received a copy of the GNU General Public Licence along with " #~ "this program. If not, see http://www.gnu.org/licences/." #~ msgid "Quit Multiplication Puzzle" #~ msgstr "Quit Multiplication Puzzle" gmult-8.0/po/el.po0000644000175000017500000001036411551323754013457 0ustar udienzudienz# Greek translation for gmult # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the gmult package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: gmult\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:29+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "0" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Michael Terry https://launchpad.net/~mterry\n" " nikos roussos https://launchpad.net/~comzeradd" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "" gmult-8.0/po/cs.po0000644000175000017500000001347311551323754013470 0ustar udienzudienz# Czech translation for gmult # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the gmult package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: gmult\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:33+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Multiplication Puzzle" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Hra" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Rada" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Vyřešit" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Nápověda" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Gratuluji!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Nesprávně — %1$s není %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Správně — %1$s je %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Špatný odhad" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Čas" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Zavřít Multiplication Puzzle" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Začít novou hru" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Hlavolam vyřešen" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Vyřešit tuhle hru" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s je %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Odhalovat číslice v náhodném pořadí" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "O aplikaci Multiplication Puzzle" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Konki https://launchpad.net/~pavel-konkol\n" " Michael Terry https://launchpad.net/~mterry\n" " Sipral https://launchpad.net/~zakyne-xyz" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Zjistěte jaké číslice odpovídají písmenům" #, c-format #~ msgid "Could not display %s" #~ msgstr "Nelze zobrazit %s" #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Tento program je šířen v naději, že bude užitečný, avšak BEZ JAKÉKOLIV " #~ "ZÁRUKY; neposkytují se ani odvozené záruky PRODEJNOSTI anebo VHODNOSTI PRO " #~ "URČITÝ ÚČEL. Další podrobnosti hledejte v GNU General Public License." #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "překladatelé-titulky" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "překladatelé-titulky" gmult-8.0/po/ru.po0000644000175000017500000001671611551323754013514 0ustar udienzudienz# Russian translation of gmult. # Copyright (C) 2008 THE gmult'S COPYRIGHT HOLDER # This file is distributed under the same license as the gmult package. # avl , 2008. # , fuzzy # # msgid "" msgstr "" "Project-Id-Version: gmult 6.2\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-09 02:54+0000\n" "Last-Translator: AleX \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Игра \"Умножение\"" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "А" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "Б" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "В" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "Г" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "Д" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "Е" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "Ж" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "З" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "И" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "К" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Игра" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Подсказка" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Решить" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Помощь" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Поздравляем!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Неправильно - %1$s·не является·%2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Верно·—·%1$s·это·%2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Неправильная попытка" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Время" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Закрыть игру \"умножение\"" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Начать новую игру" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Головоломка решена" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Решить игру" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s это %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Открыть случайную цифру" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Об игре \"умножение\"" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "переводчики\n" "\n" "Launchpad Contributions:\n" " AleX https://launchpad.net/~akrivozubov\n" " HsH https://launchpad.net/~hsh\n" " Maxim Strukov https://launchpad.net/~unbelll\n" " Michael Terry https://launchpad.net/~mterry\n" " avl https://launchpad.net/~avl-fedoraproject\n" " dpetrov83 https://launchpad.net/~dpetrov83" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Определите каким буквам соответствуют цифры" #, c-format #~ msgid "Could not display %s" #~ msgstr "Не показывается %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Эта программа является свободным ПО; вы можете передавать ее и/или " #~ "модифицировать в соответствии с условиями GNU General Public License версии " #~ "3 или, на ваш выбор, более поздней как она публикуется фондом свободного " #~ "программного обеспечения FSF;" #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Эта программа распостраняется в надежде, что она будет вам полезна, но БЕЗ " #~ "КАКИХ БЫ ТО НИ БЫЛО ГАРАНТИЙ; подробнее см. текст лицензии " #~ "GNU·General·Public·License" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Вы должны получит копию лицензии GNU GeneralPublic License вместе с " #~ "программой;Если этого не произошло, напишите а фонд свободного программного " #~ "обеспеченияFSF по адресу Free·Software·Foundation,·Inc.,·59·Temple Place·-" #~ "·Suite·330,·Boston,·MA··02111-1307,·USA." #~ msgid "Quit Multiplication Puzzle" #~ msgstr "Выход из Multiplication Puzzle" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program. If not, see http://www.gnu.org/licenses/." #~ msgstr "" #~ "Вы должны были получить копию GNU General Public License вместе с этой " #~ "программой. Если же нет, см. http://www.gnu.org/licenses/." gmult-8.0/po/POTFILES.skip0000644000175000017500000000014411551155441014623 0ustar udienzudienzgmult/Canvas.c gmult/CharBox.c gmult/DigitBox.c gmult/GtkMult.c gmult/MultPuzzle.c gmult/TableBox.c gmult-8.0/po/pt_BR.po0000644000175000017500000001475311551323754014073 0ustar udienzudienz# translation of gmult-2.1 to Brazilian Portuguese # Copyright (C) 2003, 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the xchat package. # Renan Mathias Fernandes , 2005. # msgid "" msgstr "" "Project-Id-Version: gmult 2.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:29+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" "X-Poedit-Country: BRAZIL\n" "X-Poedit-Language: Portuguese\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Enigma da Multiplicação" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Jogo" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Dica" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Resolva" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Ajuda" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Parabéns!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Errado — %1$s não é %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Certo — %1$s é %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Tentativa Incorreta" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Tempo" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Fecha o Enigma da Multiplicação" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Iniciar um novo jogo" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Enigma resolvido" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Resolver este jogo" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s é %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Revelar um dígito aleatoriamente" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Sobre o Enigma da Multiplicação" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " André Gondim https://launchpad.net/~andregondim\n" " Dennys Leite Maia https://launchpad.net/~dennysleite\n" " Michael Terry https://launchpad.net/~mterry\n" " Renan Mathias Fernandes https://launchpad.net/~renanfernandes" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Descubra quais números estão representados pelas letras." #, c-format #~ msgid "Could not display %s" #~ msgstr "Não foi possivel exibir %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Este programa é um software livre; você pode redistribuí-lo e/ou modificá-lo " #~ "sob os termos da GNU General Public License conforme publicada pela Free " #~ "Software Foundation; tanto na versão 3 da Licença, ou (conforme deseje) " #~ "qualquer versão posterior." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Este programa é distribuído na esperança de que seja útil, mas SEM QUALQUER " #~ "GARANTIA; sem mesmo a garantia implícita de COMERCIABILIDADE ou ADEQUAÇÃO A " #~ "UM DETERMINADO PROPÓSITO. Veja a GNU General Public License para mais " #~ "detalhes." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Você deve ter recebido uma cópia da GNU General Public License junto com " #~ "este programa; caso contrário, escreva para a Free Software Foundation, " #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, E.U.A.." gmult-8.0/po/sv.po0000644000175000017500000001516411551323754013512 0ustar udienzudienz# Swedish translation of gmult. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the gmult package. # Daniel Nylander , 2005 # msgid "" msgstr "" "Project-Id-Version: gmult 5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-08-04 17:46+0000\n" "Last-Translator: David Bengtsson \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Multipliceringspussel" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Spel" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Tips" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Lös" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Hjälp" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Gratulerar!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Fel — %1$s är inte %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Rätt — %1$s is %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Felaktiga gissningar" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Tid" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Stäng Multipliceringspussel" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Starta ett nytt spel" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Pusslet löst" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Lös detta spel" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s är %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Avslöja en siffra slumpmässigt" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Om Multipliceringspussel" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Daniel Nylander \n" "\n" "Launchpad Contributions:\n" " Daniel Nylander https://launchpad.net/~yeager\n" " David Bengtsson https://launchpad.net/~justfaking" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Lista ut vilka bokstäver som är vilka nummer" #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Detta program distribueras i hopp om att det ska vara användbart, men UTAN " #~ "NÅGON SOM HELST GARANTI, även utan underförstådd garanti om SÄLJBARHET eller " #~ "LÄMPLIGHET FÖR NÅGOT SPECIELLT ÄNDAMÅL. Se GNU General Public License för " #~ "ytterligare information." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Du bör ha fått en kopia av GNU General Public License tillsammans med detta " #~ "program; om inte, skriv till Free Software Foundation, Inc., 59 Temple Place " #~ "- Suite 330, Boston, MA 02111-1307, USA." #, c-format #~ msgid "Could not display %s" #~ msgstr "Kunde inte visa %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Detta program är fri programvara; du kan distribuera det och/eller ändra det " #~ "under villkoren för GNU General Public License som publicerats av Free " #~ "Software Foundation; antingen version 3 av licensen, eller (enligt dig " #~ "själv) någon senare version." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program. If not, see http://www.gnu.org/licenses/." #~ msgstr "" #~ "Du bör ha fått en kopia av GNU General Public License tillsammans med det " #~ "här programmet. Om inte, se http://www.gnu.org/licenses/." #~ msgid "Quit Multiplication Puzzle" #~ msgstr "Avsluta Multipliceringspussel" gmult-8.0/po/de.po0000644000175000017500000001464411551323754013454 0ustar udienzudienz# German translation for gmult. # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the gmult package. # Roland Illig , 2004. # msgid "" msgstr "" "Project-Id-Version: gmult 2.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-06-07 21:46+0000\n" "Last-Translator: Gabor Karsay \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Multiplizierrätsel" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Spiel" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Tipp" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Lösen" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Hilfe" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Herzlichen Glückwunsch!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Falsch — %1$s ist nicht %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Richtig — %1$s ist %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Falsche Antworten" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Zeit" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Neues Spiel anfangen" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Rätsel gelöst" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Dieses Spiel auflösen" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s ist %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Zufällig eine Ziffer verraten" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Über Multiplizierrätsel" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Demophobie https://launchpad.net/~demophobie\n" " Gabor Karsay https://launchpad.net/~gabor-karsay\n" " Michael Terry https://launchpad.net/~mterry\n" " Roland Illig https://launchpad.net/~roland-illig\n" " Stefano Palazzo https://launchpad.net/~stefano-palazzo" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Finde heraus, welche Buchstaben welche Ziffern sind." #, c-format #~ msgid "Could not display %s" #~ msgstr "%s konnte nicht angezeigt werden" #~ msgid "Quit Multiplication Puzzle" #~ msgstr "Multiplizierrätsel beenden" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Dieses Programm ist freie Software, Sie können es weitergeben und/oder " #~ "verändern, solange Sie sich an die Regeln der GNU General Public License " #~ "halten, so wie sie von der Free Software Foundation festgelegt wurden; " #~ "entweder in Version 3 der Lizenz oder (nach Ihrem Ermessen) in jeder " #~ "folgenden Lizenz." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program. If not, see http://www.gnu.org/licenses/." #~ msgstr "" #~ "Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem " #~ "Programm erhalten haben. Falls nicht, besuchen Sie " #~ "http://www.gnu.org/licenses/ für weitere Informationen." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Die Veröffentlichung dieses Programmes erfolgt in der Hoffnung, dass es " #~ "Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die " #~ "implizierte Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN " #~ "BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License." gmult-8.0/po/ar.po0000644000175000017500000001476411551323754013471 0ustar udienzudienz# Arabic translation for gmult # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the gmult package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: gmult\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:27+0000\n" "Last-Translator: benohb \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "لغز متعدد" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_لعبة" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_تلميحة" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_حل" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_مساعدة" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "تهانينا!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "خاطئ —%1$s ليست %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "صحيح —%1$s هو %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "التخمينات خاطئة" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "وقت" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "غلق اللغز المتعدد" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "ابدأ لعبة جديدة" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "اللغز حل" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "حل هذا اللغز" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$sهو %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "إفشاء الارقام عشوائيا" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "عن اللغز المتعدد" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " benohb https://launchpad.net/~hamid" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "لديك عدد التخمين الذي يقابل كل خطاب" #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "يوزّع البرنامج على أمل أن يكون مفيدًا لمن يستخدمه دون أدنى مسؤولية؛ ولا حتى " #~ "أي ضمان يضمن صلاحية العرض في السوق أو توافقه مع أي استخدام محدد. يمكنك " #~ "مراجعة الرخصة العمومية العامة لجنو لمزيد من التفاصيل." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "ينبغي ان تستلم نسخة من النسخة العمومية العامة لجنو مع هذا البرنامج;و في حالة " #~ "عدم استيلامها راسل مؤسسة البرمجيات الحرة\r\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." #, c-format #~ msgid "Could not display %s" #~ msgstr "لا يجب اظهار %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "هذا البرنامج من البرمجيات الحرة ; يمكنك توزيعة و/او تعديله انه تحت رخصة فريق " #~ "جنو الرخصة العمومية العامة منشور من طرف مؤسسة البرمجيات الحرة ; كما الاصدار " #~ "3 من الرخصة,او(في اعداداتك)اي رخصة موالية." gmult-8.0/po/Makevars0000644000175000017500000000045611551155441014210 0ustar udienzudienz# Makefile variables for PO directory in any package using GNU gettext. DOMAIN = $(PACKAGE) subdir = po top_builddir = .. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8 COPYRIGHT_HOLDER = Michael Terry MSGID_BUGS_ADDRESS = mike@mterry.name EXTRA_LOCALE_CATEGORIES = gmult-8.0/po/ChangeLog0000644000175000017500000000014211551155441014256 0ustar udienzudienz2004-04-12 gettextize * Makefile.in.in: Upgrade to gettext-0.12.1. gmult-8.0/po/zh_CN.po0000644000175000017500000001435511551323754014064 0ustar udienzudienz# gmult 简体中文翻译 # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the gmult package. # Meng Jie , 2004. # Ji ZhengYu , 2008. msgid "" msgstr "" "Project-Id-Version: gmult 6.0\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:33+0000\n" "Last-Translator: Kyle WANG \n" "Language-Team: Chinese (simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" "X-Poedit-Country: CHINA\n" "X-Poedit-Language: Chinese\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "乘法猜数游戏" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "游戏(_G)" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "提示(_H)" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "解谜(_S)" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "帮助(_H)" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "恭喜!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "错误 -- %1$s 不是 %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "正确 -- %1$s 正是 %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "猜错次数" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "时间" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "关闭乘法猜数游戏" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "开始新游戏" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "谜底解开了" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "猜出谜底" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s 是 %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "随机显示一个数字" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "关于乘法猜数游戏" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "致谢翻译者\n" "\n" "Launchpad Contributions:\n" " Kyle WANG https://launchpad.net/~osfans-deactivatedaccount-" "deactivatedaccount\n" " Michael Terry https://launchpad.net/~mterry" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "猜出各个字母代表哪些数字" #, c-format #~ msgid "Could not display %s" #~ msgstr "无法显示 %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "此程序为自由软件;您可以自由软件基金会发布的 GNU " #~ "通用公共协议的许可之下重新分发或是修改这个程序;您可以选择该协议的第三版,或是(按您意愿)选择更新的版本。" #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "分发此程序是希望它有用,但没有任何形式的担保;甚至没有为某一特殊目的而隐含的任何可销性或是适用性担保。更多详细内容请参阅 GNU 通用公共协议。" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "您应该已经随同此程序收到一份 GNU 通用公共协议的副本;如果没有,请写信至 Free Software Foundation, Inc., 59 " #~ "Temple Place - Suite 330, Boston, MA 02111-1307, USA." gmult-8.0/po/id.po0000644000175000017500000001444211551323754013454 0ustar udienzudienz# Indonesian translations for gmult package. # Copyright (C) 2008 Mike Terry. # This file is distributed under the same license as the gmult package. # Andhika Padmawan , 2008. # msgid "" msgstr "" "Project-Id-Version: gmult 6.0\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:32+0000\n" "Last-Translator: padmawan \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Puzzle Multiplikasi" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Permainan" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Petunjuk" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "P_ecahkan" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Bantuan" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Selamat!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Salah — %1$s bukan %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Benar — %1$s adalah %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Perkiraan salah" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Waktu" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Tutup Puzzle Mutiplikasi" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Mulai permainan baru" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Puzzle terpecahkan" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Pecahkan permainan ini" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s adalah %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Membuka satu digit secara acak" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Tentang Puzzle Multiplikasi" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Andhika Padmawan \n" "\n" "Launchpad Contributions:\n" " Waluyo Adi Siswanto https://launchpad.net/~was-wlk\n" " padmawan https://launchpad.net/~andhika-padmawan" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Tebak nomor mana berada pada huruf yang mana" #, c-format #~ msgid "Could not display %s" #~ msgstr "Tak dapat menampilkan %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Program ini adalah perangkat lunak bebas; anda dapat mendistribusikan ulang " #~ "dan/atau memodifikasinya di bawah Lisensi Publik Umum GNU yang diterbitkan " #~ "oleh Free Software Foundation; baik versi 3 dari Lisensi, atau (sesuai " #~ "pilihan anda) versi manapun setelahnya." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Program ini didistribusikan dengan harapan dapat berguna; tapi TANPA GARANSI " #~ "APAPUN; tanpa pula garansi implisit dari PENJUALAN atau PENGGUNAAN UNTUK " #~ "TUJUAN KHUSUS. Lihat Lisensi Publik Umum GNU untuk detail lebih lanjut." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Anda seharusnya menerima salinan dari Lisensi Publik Umum GNU bersama dengan " #~ "program ini; jika tidak, kirim surat ke Free Software Foundation, Inc., 59 " #~ "Temple Place - Suite 330, Boston, MA 02111-1307, USA." gmult-8.0/po/fi.po0000644000175000017500000001142011551323754013447 0ustar udienzudienz# translation of gmult-5.0.pot to Finnish # Copyright © 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the gmult package. # # Jorma Karvonen , 2008. msgid "" msgstr "" "Project-Id-Version: gmult 5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:29+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Kertolaskupulma" # Useimmat suomentajat ovat laittaneet saman merkin tai jättäneet nämä tyhjäksi #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Peli" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Vihje" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Ratkaise" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Ohje" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Onneksi olkoon!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Väärin — %1$s ei ole %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Oikein — %1$s on %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Vääriä arvauksia" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Aika" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Sulje Multiplication Puzzle" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Aloita uusi peli" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Pulma ratkaistu" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Ratkaise tämä peli" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s on %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Paljasta satunnainen numero" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Kertolaskupulma-ohjelmasta" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Jorma Karvonen\n" "\n" "Launchpad Contributions:\n" " Jorma Karvonen https://launchpad.net/~karvjorm-users\n" " Jussi Aalto https://launchpad.net/~jtaalto-deactivatedaccount\n" " Michael Terry https://launchpad.net/~mterry" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Yritä ratkaista, mikä kirjain vastaa mitä numeroa" gmult-8.0/po/rm.po0000644000175000017500000001061111551323754013470 0ustar udienzudienz# # translation of gmult-4.0.po to Rumantsch (Rhaeto-Romance) [rm] # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # Florian Verdet _goto , 2005. # msgid "" msgstr "" "Project-Id-Version: gmult-4.0\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:28+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Rhaeto-Romance \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Puzzle da multiplicaziun" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Game" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Schoglier" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Gratulaziuns!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Cumanzar ün nouv gö" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Puzzle scholt" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Schoglier quist gö" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Michael Terry https://launchpad.net/~mterry" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Chatta oura che custabs chi sun che nomers" gmult-8.0/po/io.po0000644000175000017500000001114611551323754013465 0ustar udienzudienz# Language io translations for Multiplication Puzzle package. # Copyright (C) 2008 THE Multiplication Puzzle'S COPYRIGHT HOLDER # This file is distributed under the same license as the Multiplication Puzzle package. # Michael Terry , 2008. # msgid "" msgstr "" "Project-Id-Version: Multiplication Puzzle 6.2\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:29+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Language io\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Multiplikada Enigmato" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Ludo" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Solvez" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Helpo" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Gratuladi!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Nekorekta — %1$s ne es %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Korekta — %1$s es %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Tempo" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Klozez Multiplikada Enigmato" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Startez nova ludo" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Enigmato es solvita" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Solvez ca ludo" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Pri Multiplikada Enigmato" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Michael Terry \n" "\n" "Launchpad Contributions:\n" " Michael Terry https://launchpad.net/~mterry" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Dechifrez nombri de literi" #, c-format #~ msgid "Could not display %s" #~ msgstr "Ne povis montrar %s" gmult-8.0/po/it.po0000644000175000017500000001461311551323754013474 0ustar udienzudienz# Italian messages for gmult. # Copyright (C) 2005, 2008, Free Software Foundation, Inc. # This file is distributed under the same license as the gmult package. # Marco Colombo , 2005, 2008. # msgid "" msgstr "" "Project-Id-Version: gmult 6.0\n" "Report-Msgid-Bugs-To: mike@mterry.name\n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:33+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Moltiplicazione Cifrata" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" # NdT: tanto per avere solo lettere dell'alfabeto italiano #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "L" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Gioco" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Suggerimento" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Risolvi" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "A_iuto" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Complimenti!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Sbagliato: %1$s non è %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Corretto: %1$s è %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Non hai indovinato" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Orario" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Esci da Moltiplicazione Cifrata" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Inizia un nuovo gioco" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Rompicapo risolto" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Risolvi questo gioco" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s è %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Scopri una cifra a caso" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Informazioni su Moltiplicazione Cifrata" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Marco Colombo \n" "\n" "Launchpad Contributions:\n" " LoReNicolò https://launchpad.net/~god121-p-l\n" " Michael Terry https://launchpad.net/~mterry\n" " bertu https://launchpad.net/~albi-mana" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Indovina quale numero corrisponde a ogni lettera" # FIXME #, c-format #~ msgid "Could not display %s" #~ msgstr "Impossibile mostrare %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Questo è software libero; potete redistribuirlo e/o modificarlo secondo i " #~ "termini della GNU General Public Licence come pubblicata dalla Free Software " #~ "Foundation; la versione 3 della Licenza o (a vostra scelta) ogni versione " #~ "successiva." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Questo programma è distribuito con la speranza che possa essere utile, ma " #~ "SENZA ALCUNA GARANZIA; anche senza la garanzia implicita di COMMERCIABILITÀ " #~ "o di IDONEITÀ AD UNO SCOPO PARTICOLARE. Si consulti la GNU General Public " #~ "License per ulteriori dettagli." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Dovreste aver ricevuto una copia della GNU General Public License con questo " #~ "programma; altrimenti scrivere a Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." gmult-8.0/po/ja.po0000644000175000017500000001066111551323754013451 0ustar udienzudienz# Japanese translation of gmult. # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the gmult package. # Trevor Lalish-Menagh , 2004. # msgid "" msgstr "" "Project-Id-Version: gmult 4.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:28+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "掛けるパズル" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_ゲーム" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_解く" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "おめでとうございます!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "新ゲーム" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "パズルを解いた" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "このゲームを解く" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Michael Terry https://launchpad.net/~mterry\n" " Trevor Lalish-Menagh https://launchpad.net/~jumex" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "どの文字がどの数字かをあててください" gmult-8.0/po/sr.po0000644000175000017500000001107411551323754013502 0ustar udienzudienz# Serbian translation of `gmult'. # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the `gmult' package. # Aleksandar Jelenak , 2005. msgid "" msgstr "" "Project-Id-Version: gmult 5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:27+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Serbian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Слагалица са множењем" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Игра" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Реши" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Помоћ" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Честитке!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Почни нову игру" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Слагалица решена" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Реши ову игру" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "О Слагалици са множењем" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "преводилачке заслуге\n" "\n" "Launchpad Contributions:\n" " Aleksandar Jelenak https://launchpad.net/~jelenak-verizon\n" " Michael Terry https://launchpad.net/~mterry" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Пронађи која слова су који бројеви" gmult-8.0/po/tr.po0000644000175000017500000001504211551323754013502 0ustar udienzudienz# translation of gmult.po to Turkish # Gmult turkish messages. # Copyright (C) 2005. # Doruk Fisek , 2005. msgid "" msgstr "" "Project-Id-Version: gmult 4.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-05-10 01:52+0000\n" "Last-Translator: Angel Spy \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Çarpma Bulmacası" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Oyun" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_İpucu" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Çöz" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Yardım" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Tebrikler!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Yanlış — %1$s %2$s değil" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Doğru — %1$s %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Yanlış Tahmin" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Süre" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Çarpma Bulmacasını Kapat" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Yeni bir oyuna başla" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Bulmaca çözüldü" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Bu oyunu çöz" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "rastgele bir rakamı göster" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Çarpma Bulmacası Hakkında" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Angel Spy https://launchpad.net/~dilara.ekinci\n" " Doruk Fisek https://launchpad.net/~dfisek\n" " Michael Terry https://launchpad.net/~mterry\n" " Mustafa Yılmaz https://launchpad.net/~apshalasha" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Hangi harflerin hangi rakamlara karşılık geldiğini bulun" #, c-format #~ msgid "Could not display %s" #~ msgstr "%s gösterilemiyor" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version.\r\n" #~ "\r\n" #~ "Bu program özgür yazılımdır; Özgür Yazılım Derneği tarafından yayınlanan GNU " #~ "Genel Kamu Lisansı'na bağlı kalarak tekrar dağıtabilir ve/veya üzerinde " #~ "değişiklik yapabilirsiniz." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Bu program faydalı olacağı umut edilerek dağıtılmaktadır, fakat HİÇBİR " #~ "GARANTİSİ YOKTUR; hatta ÜRÜN DEĞERİ ya da BİR AMACA UYGUNLUK gibi garantiler " #~ "de vermez. Lütfen daha fazla detay için GNU Genel Kamu Lisansı'nı inceleyin." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Bu programla birlikte GNU Genel Kamu Lisansı'nın bir kopyası size gelmiş " #~ "olmalı. Eğer gelmediyse, Özgür Yazılım Derneği'ne bildirin. Free Software " #~ "Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgid "Quit Multiplication Puzzle" #~ msgstr "Çarpma Bulmacasından Çık" gmult-8.0/po/pl.po0000644000175000017500000001561311551323754013474 0ustar udienzudienz# Polish translation for gmult # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the gmult package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: gmult\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-12-19 10:36+0000\n" "Last-Translator: Adam Czabara \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Multiplication Puzzle" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Gra" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Podpowiedź" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Rozwiąż" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Pomoc" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Gratulacje!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Niepoprawne — %1$s nie jest %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Poprawne — %1$s jest %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Nieprawidłowe odgadnięcia" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Czas" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Zamknij Multiplication Puzzle" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Rozpocznij nową grę" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Puzzle rozwiązane" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Rozwiąż tą grę" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s jest %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Wykaż losowo cyfrę" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "O Multiplication Puzzle" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Adam Czabara https://launchpad.net/~adam-czabara\n" " Marcin Szymkowski https://launchpad.net/~sector\n" " Michael Terry https://launchpad.net/~mterry\n" " Michał Trzebiatowski https://launchpad.net/~hippie-1968" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Stwierdź które są numery, które litery" #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Niniejszy program rozpowszechniany jest z nadzieją, iż będzie on użyteczny, " #~ "jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI " #~ "HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu uzyskania " #~ "bliższych informacji sięgnij do Powszechnej Licencji Publicznej GNU." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Z pewnością wraz z niniejszym programem otrzymałeś też egzemplarz " #~ "Powszechnej Licencji Publicznej GNU (GNU General Public License); jeśli nie, " #~ "napisz do Free Software Foundation, Inc., 59 Temple Place - Suite 330, " #~ "Boston, MA 02111-1307, USA." #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Niniejszy program jest wolnym oprogramowaniem; możesz go rozprowadzać dalej " #~ "i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU, wydanej " #~ "przez Fundację Wolnego Oprogramowania; według wersji 3-tej Licencji lub " #~ "(według twojego wyboru) którejś z późniejszych wersji." #, c-format #~ msgid "Could not display %s" #~ msgstr "Nie można wyświetlić %s" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program. If not, see http://www.gnu.org/licenses/." #~ msgstr "" #~ "Wraz z programem powinieneś otrzymać kopie Powszechnej Licencji Publicznej " #~ "GNU (GNU General Public License). Jeśli nie, odwiedź " #~ "http://www.gnu.org/licenses/." #~ msgid "Quit Multiplication Puzzle" #~ msgstr "Zamknij Multiplication Puzzle" gmult-8.0/po/ro.po0000644000175000017500000001063011551323754013473 0ustar udienzudienz# Mesajele în limba română pentru gmult. # Copyright (C) 2003 Free Software Foundation, Inc. # Acest fişier este distribuit sub aceeaşi licenţă ca şi pachetul gmult. # Laurentiu Buzdugan , 2003. # # # msgid "" msgstr "" "Project-Id-Version: gmult 4.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2010-04-05 22:29+0000\n" "Last-Translator: Michael Terry \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Joc de aritmetică" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Joc" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Rezolvă" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "_Ajutor" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "Felicitări" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Începe un joc nou" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Joc rezolvat" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Rezolvă acest joc" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Laurentiu Buzdugan https://launchpad.net/~lbuz\n" " Michael Terry https://launchpad.net/~mterry" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Deduceţi care litere corespund căror numere" gmult-8.0/po/Makefile.in.in0000644000175000017500000001537711551156716015204 0ustar udienzudienz# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # Copyright (C) 2004-2008 Rodney Dawes # # This file may be copied and used freely without restrictions. It may # be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize # # - Modified by Rodney Dawes for use with intltool # # We have the following line for use by intltoolize: # INTLTOOL_MAKEFILE GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ DATADIRNAME = @DATADIRNAME@ itlocaledir = $(prefix)/$(DATADIRNAME)/locale subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. # Until it can be supposed, use the safe fallback: mkdir_p = $(install_sh) -d INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ALL_LINGUAS = @ALL_LINGUAS@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = Makefile.in.in POTFILES.in $(POFILES) EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) .SUFFIXES: .SUFFIXES: .po .pox .gmo .mo .msg .cat .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(MSGFMT) -o $@ $< .po.gmo: file=`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && gencat $@ $*.msg all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: $(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) install: install-data install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ else \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $(srcdir)/$$lang.gmo as" \ "$$dir/$(GETTEXT_PACKAGE).mo"; \ fi; \ if test -r $$lang.gmo.m; then \ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ if test -r $(srcdir)/$$lang.gmo.m ; then \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $(srcdir)/$$lang.gmo.m as" \ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ true; \ fi; \ fi; \ done # Empty stubs to satisfy archaic automake needs dvi info ctags tags CTAGS TAGS ID: # Define this as empty until I found a useful application. install-exec installcheck: uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi mostlyclean: rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES stamp-it rm -f *.mo *.msg *.cat *.cat.m *.gmo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f Makefile.in.in distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(DISTFILES) dists="$(DISTFILES)"; \ extra_dists="$(EXTRA_DISTFILES)"; \ for file in $$extra_dists; do \ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ done; \ for file in $$dists; do \ test -f $$file || file="$(srcdir)/$$file"; \ ln $$file $(distdir) 2> /dev/null \ || cp -p $$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ echo "$$lang:"; \ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ if $$result; then \ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.gmo failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done Makefile POTFILES: stamp-it @if test ! -f $@; then \ rm -f stamp-it; \ $(MAKE) stamp-it; \ fi stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gmult-8.0/po/es.po0000644000175000017500000001533111551323754013465 0ustar udienzudienz# Spanish translation for gmult # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the gmult package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: gmult\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-04-13 08:03-0400\n" "PO-Revision-Date: 2011-01-12 03:55+0000\n" "Last-Translator: Fitoschido \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-04-13 13:36+0000\n" "X-Generator: Launchpad (build 12792)\n" #. Translators: If there's a better alternative to Arabic numerals for #. your language, please use it instead of these digits. Note #. that it still has to make sense when used as part of the math puzzle. #: ../gmult/DigitBox.vala:48 ../gmult/GtkMult.vala:99 msgid "0" msgstr "0" #: ../gmult/DigitBox.vala:49 ../gmult/GtkMult.vala:100 msgid "1" msgstr "1" #: ../gmult/DigitBox.vala:50 ../gmult/GtkMult.vala:101 msgid "2" msgstr "2" #: ../gmult/DigitBox.vala:51 ../gmult/GtkMult.vala:102 msgid "3" msgstr "3" #: ../gmult/DigitBox.vala:52 ../gmult/GtkMult.vala:103 msgid "4" msgstr "4" #: ../gmult/DigitBox.vala:53 ../gmult/GtkMult.vala:104 msgid "5" msgstr "5" #: ../gmult/DigitBox.vala:54 ../gmult/GtkMult.vala:105 msgid "6" msgstr "6" #: ../gmult/DigitBox.vala:55 ../gmult/GtkMult.vala:106 msgid "7" msgstr "7" #: ../gmult/DigitBox.vala:56 ../gmult/GtkMult.vala:107 msgid "8" msgstr "8" #: ../gmult/DigitBox.vala:57 ../gmult/GtkMult.vala:108 msgid "9" msgstr "9" #. to open display ('cause we passed false above) #: ../gmult/GtkMult.vala:82 ../gmult/GtkMult.vala:515 #: ../data/gmult.desktop.in.h:2 msgid "Multiplication Puzzle" msgstr "Rompecabezas de multiplicaciones" #. Translators: The next several characters are used to show the 'unknown' #. digits in the puzzle. Translate to something that makes sense for #. your alphabet. #: ../gmult/GtkMult.vala:89 ../gmult/TableBox.vala:54 msgid "A" msgstr "A" #: ../gmult/GtkMult.vala:90 ../gmult/TableBox.vala:55 msgid "B" msgstr "B" #: ../gmult/GtkMult.vala:91 ../gmult/TableBox.vala:56 msgid "C" msgstr "C" #: ../gmult/GtkMult.vala:92 ../gmult/TableBox.vala:57 msgid "D" msgstr "D" #: ../gmult/GtkMult.vala:93 ../gmult/TableBox.vala:58 msgid "E" msgstr "E" #: ../gmult/GtkMult.vala:94 ../gmult/TableBox.vala:59 msgid "F" msgstr "F" #: ../gmult/GtkMult.vala:95 ../gmult/TableBox.vala:60 msgid "G" msgstr "G" #: ../gmult/GtkMult.vala:96 ../gmult/TableBox.vala:61 msgid "H" msgstr "H" #: ../gmult/GtkMult.vala:97 ../gmult/TableBox.vala:62 msgid "I" msgstr "I" #: ../gmult/GtkMult.vala:98 ../gmult/TableBox.vala:63 msgid "J" msgstr "J" #: ../gmult/GtkMult.vala:157 msgid "_Game" msgstr "_Juego" #: ../gmult/GtkMult.vala:164 msgid "_Hint" msgstr "_Pista" #: ../gmult/GtkMult.vala:169 msgid "_Solve" msgstr "_Resolver" #: ../gmult/GtkMult.vala:178 msgid "_Help" msgstr "Ay_uda" #: ../gmult/GtkMult.vala:295 msgid "Congratulations!" msgstr "¡Felicidades!" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:305 #, c-format msgid "Incorrect — %1$s is not %2$s" msgstr "Incorrecto — %1$s no es %2$s" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:309 #, c-format msgid "Correct — %1$s is %2$s" msgstr "Correcto — %1$s es %2$s" #: ../gmult/GtkMult.vala:345 #, c-format msgid "Incorrect Guesses" msgstr "Adivinanzas incorrectas" #: ../gmult/GtkMult.vala:356 #, c-format msgid "Time" msgstr "Tiempo" #: ../gmult/GtkMult.vala:376 msgid "Close Multiplication Puzzle" msgstr "Cerrar Rompecabezas de Multiplicación" #: ../gmult/GtkMult.vala:388 msgid "Start a new game" msgstr "Iniciar una partida nueva" #: ../gmult/GtkMult.vala:399 msgid "Puzzle solved" msgstr "Rompecabezas resuelto" #: ../gmult/GtkMult.vala:408 msgid "Solve this game" msgstr "Resolver este juego" #. Translators: First argument is letter, second is digit #: ../gmult/GtkMult.vala:442 #, c-format msgid "%1$s is %2$s" msgstr "%1$s es %2$s" #: ../gmult/GtkMult.vala:455 msgid "Reveal a digit at random" msgstr "Revelar un dígito al azar" #: ../gmult/GtkMult.vala:475 ../gmult/GtkMult.vala:495 msgid "About Multiplication Puzzle" msgstr "Sobre el Rompecabezas de multiplicaciones" #: ../gmult/GtkMult.vala:478 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Andres Rodriguez https://launchpad.net/~andreserl\n" " Fitoschido https://launchpad.net/~fitoschido\n" " Paco Molinero https://launchpad.net/~franciscomol" #: ../data/gmult.desktop.in.h:1 msgid "Figure out which letters are which numbers" msgstr "Averiguar cuáles letras son qué números" #, c-format #~ msgid "Could not display %s" #~ msgstr "No se pudo mostrar %s" #, c-format #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify it " #~ "under the terms of the GNU General Public License as published by the Free " #~ "Software Foundation; either version 3 of the License, or (at your option) " #~ "any later version." #~ msgstr "" #~ "Este programa es software libre; puede redistribuirlo y/o modificarlo bajo " #~ "los términos de la GNU General Public License como es publicado por la Free " #~ "Software Foundation; bien sea la versión 3 de la Licencia, o (a su elección) " #~ "cualquier versión posterior." #~ msgid "" #~ "This program 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." #~ msgstr "" #~ "Este programa se distribuye con la esperanza de que le sea útil, pero SIN " #~ "NINGUNA GARANTÍA; incluso la garantía implícita de MERCANTILIDAD o IDONEIDAD " #~ "PARA UN PROPÓSITO PARTICULAR. Vea la Licencia Pública General de GNU para " #~ "más detalles." #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program; if not, write to the Free Software Foundation, Inc., 59 Temple " #~ "Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgstr "" #~ "Usted debió haber recibido una copia de la Licencia Pública General de GNU " #~ "con este programa; si no, escriba a la Free Software Foundation, Inc., 59 " #~ "Temple Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgid "Quit Multiplication Puzzle" #~ msgstr "Salir del rompecabezas" #~ msgid "" #~ "You should have received a copy of the GNU General Public License along with " #~ "this program. If not, see http://www.gnu.org/licenses/." #~ msgstr "" #~ "Debería de haber recibido una copia de la licencia GNU General Public " #~ "License con este programa. De lo contrario, vea http://www.gnu.org/licenses/." gmult-8.0/vapi/Makefile.am0000644000175000017500000000003211551155441015057 0ustar udienzudienzEXTRA_DIST = config.vapi gmult-8.0/vapi/config.vapi0000644000175000017500000000211011551155441015150 0ustar udienzudienz/* Copyright (C) 2007,2008 Jaap Haitsma This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . */ [CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "config.h")] namespace Config { public const string GETTEXT_PACKAGE; public const string PACKAGE_DATADIR; public const string LOCALE_DIR; public const string THEME_DIR; public const string PACKAGE_NAME; public const string PACKAGE_VERSION; public const string PACKAGE; public const string VERSION; } gmult-8.0/vapi/Makefile.in0000644000175000017500000002347011551160265015103 0ustar udienzudienz# Makefile.in generated by automake 1.11.1 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. # 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. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = vapi DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = config.vapi all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu vapi/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu vapi/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir 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 \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gmult-8.0/THANKS0000644000175000017500000000012611551155441013003 0ustar udienzudienzThanks to Eugenia Loli-Queru of osnews.com fame for creating the original gmult icon. gmult-8.0/aclocal.m40000644000175000017500000043476711551160264013755 0ustar udienzudienz# generated automatically by aclocal 1.11.1 -*- Autoconf -*- # 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. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, [m4_warning([this file was generated for autoconf 2.67. 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'.])]) # gettext.m4 serial 63 (gettext-0.18) dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006, 2008-2010. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH([included-gettext], [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE([ENABLE_NLS], [1], [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE([HAVE_GETTEXT], [1], [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE([HAVE_DCGETTEXT], [1], [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST([BUILD_INCLUDED_LIBINTL]) AC_SUBST([USE_INCLUDED_LIBINTL]) AC_SUBST([CATOBJEXT]) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST([DATADIRNAME]) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST([INSTOBJEXT]) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST([GENCAT]) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST([INTLOBJS]) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST([INTLLIBS]) dnl Make all documented variables known to autoconf. AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) AC_SUBST([POSUB]) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) # iconv.m4 serial 11 (gettext-0.18.1) dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], [am_cv_func_iconv=yes]) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], [am_cv_lib_iconv=yes] [am_cv_func_iconv=yes]) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static const char input[] = "\263"; char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE([HAVE_ICONV], [1], [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST([LIBICONV]) AC_SUBST([LTLIBICONV]) ]) dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to dnl avoid warnings like dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". dnl This is tricky because of the way 'aclocal' is implemented: dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. dnl Otherwise aclocal's initial scan pass would miss the macro definition. dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. dnl Otherwise aclocal would emit many "Use of uninitialized value $1" dnl warnings. m4_define([gl_iconv_AC_DEFUN], m4_version_prereq([2.64], [[AC_DEFUN_ONCE( [$1], [$2])]], [[AC_DEFUN( [$1], [$2])]])) gl_iconv_AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL([am_cv_proto_iconv], [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([ $am_cv_proto_iconv]) AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], [Define as const if the declaration of iconv() needs const.]) fi ]) # intlmacosx.m4 serial 3 (gettext-0.18) dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) # serial 40 IT_PROG_INTLTOOL AC_DEFUN([IT_PROG_INTLTOOL], [ AC_PREREQ([2.50])dnl AC_REQUIRE([AM_NLS])dnl case "$am__api_version" in 1.[01234]) AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) ;; *) ;; esac if test -n "$1"; then AC_MSG_CHECKING([for intltool >= $1]) INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` ] AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) fi AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) fi INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' _IT_SUBST(INTLTOOL_DESKTOP_RULE) _IT_SUBST(INTLTOOL_DIRECTORY_RULE) _IT_SUBST(INTLTOOL_KEYS_RULE) _IT_SUBST(INTLTOOL_PROP_RULE) _IT_SUBST(INTLTOOL_OAF_RULE) _IT_SUBST(INTLTOOL_PONG_RULE) _IT_SUBST(INTLTOOL_SERVER_RULE) _IT_SUBST(INTLTOOL_SHEET_RULE) _IT_SUBST(INTLTOOL_SOUNDLIST_RULE) _IT_SUBST(INTLTOOL_UI_RULE) _IT_SUBST(INTLTOOL_XAM_RULE) _IT_SUBST(INTLTOOL_KBD_RULE) _IT_SUBST(INTLTOOL_XML_RULE) _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) _IT_SUBST(INTLTOOL_CAVES_RULE) _IT_SUBST(INTLTOOL_SCHEMAS_RULE) _IT_SUBST(INTLTOOL_THEME_RULE) _IT_SUBST(INTLTOOL_SERVICE_RULE) _IT_SUBST(INTLTOOL_POLICY_RULE) # Check the gettext tools to make sure they are GNU AC_PATH_PROG(XGETTEXT, xgettext) AC_PATH_PROG(MSGMERGE, msgmerge) AC_PATH_PROG(MSGFMT, msgfmt) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi AC_PATH_PROG(INTLTOOL_PERL, perl) if test -z "$INTLTOOL_PERL"; then AC_MSG_ERROR([perl not found]) fi AC_MSG_CHECKING([for perl >= 5.8.1]) $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then AC_MSG_ERROR([perl 5.8.1 is required for intltool]) else IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" AC_MSG_RESULT([$IT_PERL_VERSION]) fi if test "x$2" != "xno-xml"; then AC_MSG_CHECKING([for XML::Parser]) if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then AC_MSG_RESULT([ok]) else AC_MSG_ERROR([XML::Parser perl module is required for intltool]) fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile AC_SUBST(ALL_LINGUAS) # Set DATADIRNAME correctly if it is not set yet # (copied from glib-gettext.m4) if test -z "$DATADIRNAME"; then AC_LINK_IFELSE( [AC_LANG_PROGRAM([[]], [[extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr]])], [DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share dnl in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [DATADIRNAME=share], [DATADIRNAME=lib]) ;; *) [DATADIRNAME=lib] ;; esac]) fi AC_SUBST(DATADIRNAME) IT_PO_SUBDIR([po]) ]) # IT_PO_SUBDIR(DIRNAME) # --------------------- # All po subdirs have to be declared with this macro; the subdir "po" is # declared by IT_PROG_INTLTOOL. # AC_DEFUN([IT_PO_SUBDIR], [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. dnl dnl The following CONFIG_COMMANDS should be executed at the very end dnl of config.status. AC_CONFIG_COMMANDS_PRE([ AC_CONFIG_COMMANDS([$1/stamp-it], [ if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) fi rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" >"$1/stamp-it.tmp" [sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" ] [sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r $1/POTFILES } ' "$1/Makefile.in" >"$1/Makefile"] rm -f "$1/Makefile.tmp" mv "$1/stamp-it.tmp" "$1/stamp-it" ]) ])dnl ]) # _IT_SUBST(VARIABLE) # ------------------- # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST # AC_DEFUN([_IT_SUBST], [ AC_SUBST([$1]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) # deprecated macros AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) # A hint is needed for aclocal from Automake <= 1.9.4: # AC_DEFUN([AC_PROG_INTLTOOL], ...) # lib-ld.m4 serial 4 (gettext-0.18) dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL([acl_cv_path_LD], [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT([$LD]) else AC_MSG_RESULT([no]) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) # lib-link.m4 serial 21 (gettext-0.18) dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ([2.54]) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes popdef([NAME]) popdef([Name]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. The missing-message dnl defaults to 'no' and may contain additional hints for the user. dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, dnl because these -l options might require -L options that are present in dnl LIBS. -l options benefit only from the -L options listed before it. dnl Otherwise, add it to the front of LIBS, because it may be a static dnl library that depends on another static library that is present in LIBS. dnl Static libraries benefit only from the static libraries listed after dnl it. case " $LIB[]NAME" in *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; *) LIBS="$LIB[]NAME $LIBS" ;; esac AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= LIB[]NAME[]_PREFIX= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) popdef([NAME]) popdef([Name]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE([rpath], [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_FROMPACKAGE(name, package) dnl declares that libname comes from the given package. The configure file dnl will then not have a --with-libname-prefix option but a dnl --with-package-prefix option. Several libraries can come from the same dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar dnl macro call that searches for libname. AC_DEFUN([AC_LIB_FROMPACKAGE], [ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_frompackage_]NAME, [$2]) popdef([NAME]) pushdef([PACK],[$2]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_libsinpackage_]PACKUP, m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) popdef([PACKUP]) popdef([PACK]) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) dnl Autoconf >= 2.61 supports dots in --with options. pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH(P_A_C_K[-prefix], [[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been dnl computed. So it has to be reset here. HAVE_LIB[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) popdef([NAME]) ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) # lib-prefix.m4 serial 7 (gettext-0.18) dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates dnl - a variable acl_libdirstem, containing the basename of the libdir, either dnl "lib" or "lib64" or "lib/64", dnl - a variable acl_libdirstem2, as a secondary possible value for dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or dnl "lib/amd64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. dnl On glibc systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine dnl the compiler's default mode by looking at the compiler's library search dnl path. If at least one of its elements ends in /lib64 or points to a dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. dnl Otherwise we use the default, namely "lib". dnl On Solaris systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. AC_REQUIRE([AC_CANONICAL_HOST]) acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment dnl . dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the dnl symlink is missing, so we set acl_libdirstem2 too. AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], [AC_EGREP_CPP([sixtyfour bits], [ #ifdef _LP64 sixtyfour bits #endif ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) ]) if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" ]) # nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program 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 this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES # po.m4 serial 17 (gettext-0.18) dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. AC_PREREQ([2.50]) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL([ac_cv_path_$1], [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$][$1]) else AC_MSG_RESULT([no]) fi AC_SUBST([$1])dnl ]) # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 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_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # 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' 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], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_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 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. # # 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/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # 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 # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path 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. # # 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_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. 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. # # 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 # 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 # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # 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 # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl 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=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # 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'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > 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 done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # 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 am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # 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 # 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} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # 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 ]) # 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]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # 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 # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # 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 # 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. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # 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 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 # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # 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 # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # 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. # # 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. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # 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 dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi 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_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_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 # 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) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_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 AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], 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_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_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 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. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac 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. # # 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_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 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], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # 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_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless `enable' is passed literally. # For symmetry, `disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful (and sometimes confusing) to the casual installer], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST([MAINT])dnl ] ) AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 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. # serial 4 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # 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 am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 # 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_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != 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 dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # 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], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $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. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= 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. # # 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)]) # _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)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. 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) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # 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_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=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # 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 test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 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. # serial 1 # 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], [ --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0')]) 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 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. # # 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_INSTALL_STRIP # --------------------- # 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 # 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 # 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'. 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. # # 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. # This macro is traced by Automake. 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. # # 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'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # 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. _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 # 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 /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_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([acinclude.m4]) gmult-8.0/Makefile.am0000644000175000017500000000050211551155441014122 0ustar udienzudienzSUBDIRS = data gmult po vapi # Distribute pot file dist-hook: $(MAKE) -C "$(srcdir)/po" "$(GETTEXT_PACKAGE).pot" cp "$(srcdir)/po/$(GETTEXT_PACKAGE).pot" "$(distdir)/po/" EXTRA_DIST = autogen.sh intltool-extract.in intltool-merge.in intltool-update.in DISTCLEANFILES = intltool-extract intltool-merge intltool-update gmult-8.0/missing0000755000175000017500000002623311551156715013503 0ustar udienzudienz#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2009-04-28.21; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program 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 this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar*) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gmult-8.0/intltool-extract.in0000644000175000017500000000000011551156716015731 0ustar udienzudienzgmult-8.0/INSTALL0000644000175000017500000003633211551156716013137 0ustar udienzudienzInstallation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. gmult-8.0/depcomp0000755000175000017500000004426711551156716013471 0ustar udienzudienz#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2009-04-28.21; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free # Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program 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 this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u="sed s,\\\\\\\\,/,g" depmode=msvisualcpp fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gmult-8.0/README0000644000175000017500000000162511551155441012755 0ustar udienzudienzMultiplication Puzzle Multiplication Puzzle is a simple game inspired by the multiplication game inside the popular editor emacs. You are presented with a long multiplication problem where a 3-digit number is multiplied by a 2-digit number, yielding two intermediate 4-digit number and a final 5-digit answer. However, all the digits are replaced by letters. Your job is to discover which letters are which digits. ========== TO INSTALL ========== Please read the INSTALL file. For the hasty, just type the following: ./configure make sudo make install ======= TO PLAY ======= Run the executable "gmult". You can make guesses in one of three ways: 1) Drag a digit to the letter you think it is. 2) Click on a letter or digit, then on your guess. 3) Type a letter or digit, then your guess. If you are right, all instances of that letter will be replaced by the digit. © 2004—2008 Michael Terry gmult-8.0/intltool-update.in0000644000175000017500000000000011551156716015541 0ustar udienzudienzgmult-8.0/acinclude.m40000644000175000017500000000212311551155634014264 0ustar udienzudienz# -*- Mode: m4; indent-tabs-mode: nil; tab-width: 2 -*- # # Copyright (C) 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. # serial 4 # Check whether the Vala compiler exists in `PATH'. If it is found, the # variable VALAC is set. Optionally a minimum release number of the # compiler can be requested. # # DEJA_PROG_VALAC([MINIMUM-VERSION]) # -------------------------------- AC_DEFUN([GMULT_PROG_VALAC], [AC_PATH_PROG([VALAC], [valac-0.12], []) AS_IF([test -z "$VALAC"], [AC_MSG_WARN([No Vala compiler found. You will not be able to compile .vala source files.])], [AS_IF([test -n "$1"], [AC_MSG_CHECKING([$VALAC is at least version $1]) am__vala_version=`$VALAC --version | sed 's/Vala *//'` AS_VERSION_COMPARE([$1], ["$am__vala_version"], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AC_MSG_ERROR([Vala $1 not found.])])])]) ]) gmult-8.0/config.rpath0000755000175000017500000004364711551155710014416 0ustar udienzudienz#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2007 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # 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. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix4* | aix5*) library_names_spec='$libname$shrext' ;; amigaos*) library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile-* | tilegx-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; # This must be matched before tile*. tilegx*) basic_machine=tilegx-unknown os=-linux-gnu ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: gmult-8.0/install-sh0000755000175000017500000003253711551156715014114 0ustar udienzudienz#!/bin/sh # install - install a program, script, or datafile scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gmult-8.0/NEWS0000644000175000017500000001025211551312353012565 0ustar udienzudienzgmult 8.0 --------- * Ported to Vala 0.12 * Ported to GTK+ 3 * Updated Dutch, English (UK), French, German, Malay, Russian, Serbian, and Turkish translations gmult 7.3 --------- * Fix odd drag icons when in compiz * Updated Afrikaans, Brazilian Portuguese, Chinese (Simplified), Chinese (Traditional), Danish, Dutch, Finnish, French, Hungarian, Indonesian, Malay, Russian, and Turkish translations * New Arabic, Czech, and Portuguese translation gmult 7.2 --------- * Updated for vala 0.7.1 * Updated German, Spanish, and Swedish translations * New English (UK) translation gmult 7.1 --------- * Updated Ido and Swedish translations * New Greek, Polish, and Spanish translations gmult 7.0 --------- Allow guessing via the keyboard Allow guessing via dragging digits Added Hint menu option Added timer Updated vi translation gmult 6.3 --------- Updated fr translation New da, io, and ru translations gmult 6.2 --------- Updated id, it, zh_CN translations New hu translation gmult 6.1 --------- Fix packaging issue that made vala necessary for compilation. gmult 6.0 --------- Digit guesses are now made in one of two ways: * Click digit, then click character * Click character, then click digit Ported to vala Licensed under the GPL version 3 Handles non-standard installation of icon better Uses svg icon Takes standard --help Requires GTK+ 2.8 and gio Updated vi and zh_CN translations New id translation gmult 5.4 --------- New Finnish (fi) translation, courtesy of Jorma Karvonen New Dutch (nl) translation, courtesy of Tim Van Holder New Chinese (traditional) (zh_TW), courtesy of Wei-Lun Chao gmult 5.3 --------- Put more copyright notices in source code. gmult 5.2 --------- New Malay (ms) translation, courtesy of Sharuzzaman Ahmat Raslan New Swedish (sv) translation, courtesy of Daniel Nylander Updated Basque (eu) translation, courtesy of Mikel Olasagasti gmult 5.1 --------- Updated French (fr) translation, courtesy of Michel Robitaille Updated Italian (it) translation, courtesy of Marco Colombo Updated Serbian (sr) translation, courtesy of Aleksandar Jelenak Updated Vietnemese (vi) translation, courtesy of Clytie Siddall gmult 5.0 --------- Now requires gtkmm 2.6 New about dialog Now letters grow bigger as window grows Fixed bug where "Congratulations!" was not displayed upon win New Kinyarwanda (rw) translation, courtesy of Steve Murphy Updated Japanese (ja) translation, courtesy of Trevor Lalish-Menagh gmult 4.2 --------- New Italian (it) translation, courtesy of Marco Colombo gmult 4.1 --------- New Rhaeto-Romance (rm) translation, courtesy of Florian Verdet Updated Brazilian Portuguese (pt_BR) translation, courtesy of Renan Mathias Fernandes Updated French (fr) translation, courtesy of Michel Robitaille Updated Romanian (ro) translation, courtesy of Laurentiu Buzdugan Updated Serbian (sr) translation, courtesy of Aleksandar Jelenak Updated Turkish (tr) translation, courtesy of Doruk Fisek Updated Vietnamese (vi) translation, courtesy of Clytie Siddall gmult 4.0 --------- New application icon, courtesy of Eugenia Loli-Queru New Brazilian Portuguese (pt_BR) translation, courtesy of Leandro Cristante de Oliveira and Miguel Filho New Turkish (tr) translation, courtesy of Doruk Fisek New Vietnamese (vi) translation, courtesy of Clytie Siddall gmult 3.0 --------- A little polish here and there Removed Help menu item, as it was empty anyway Updated to use gtkmm 2.4 gmult 2.3 --------- New Simplified Chinese (zh_CN) translation, courtesy of Meng Jie gmult 2.2 --------- New Afrikaans (af) translation, courtesy of Petri Jooste New German (de) translation, courtesy of Roland Illig New Japanese (ja) translation, courtesy of Trevor Lalish-Menagh gmult 2.1 --------- New Basque (eu) translation, courtesy of Mikel Olasagasti New French (fr) translation, courtesy of Michel Robitaille New Romanian (ro) translation, courtesy of Laurentiu Buzdugan New Serbian (sr) translation, courtesy of Aleksandar Jelenak gmult 2.0 --------- Adds itself to the system menu New, theme-friendly styling for undiscovered digits Uses autoconf/automake Uses gettext and is now translateable Now is called Multiplication Puzzle gmult 1.0 --------- Initial release of Multiplication Game Fully playable gmult-8.0/config.h.in0000644000175000017500000000301311551160273014110 0ustar udienzudienz/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* gettext domain */ #undef GETTEXT_PACKAGE /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Locale directory */ #undef LOCALE_DIR /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Icon directory */ #undef THEME_DIR /* Version number of package */ #undef VERSION gmult-8.0/ChangeLog0000644000175000017500000000000011551155441013631 0ustar udienzudienzgmult-8.0/compile0000755000175000017500000000727111551156715013463 0ustar udienzudienz#! /bin/sh # Wrapper for compilers which do not understand `-c -o'. scriptversion=2009-10-06.20; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software # Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand `-c -o'. Remove `-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file `INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; esac ofile= cfile= eat= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as `compile cc -o foo foo.c'. # So we strip `-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no `-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # `.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use `[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: gmult-8.0/configure.ac0000644000175000017500000000241311551160252014353 0ustar udienzudienz# Process this file with autoconf to produce a configure script. # Sets up autoconf. AC_INIT([Multiplication Puzzle],[8.0],[gmult-hackers@lists.launchpad.net],[gmult]) AC_PREREQ(2.65) AC_CONFIG_SRCDIR(gmult/GtkMult.vala) AC_CONFIG_HEADERS([config.h:config.h.in]) # Sets up automake. AM_INIT_AUTOMAKE([1.11 gnu no-dist-gzip dist-bzip2]) AM_SILENT_RULES([yes]) AM_MAINTAINER_MODE() # Checks for programs. AC_PROG_CC AM_PROG_CC_C_O AC_PROG_INSTALL AC_PROG_MAKE_SET # Checks for vala GMULT_PROG_VALAC([0.12.0]) # Sets up gettext. GETTEXT_PACKAGE="$PACKAGE" AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [gettext domain]) AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION([0.17]) IT_PROG_INTLTOOL([0.37],[no-xml]) # Sets up a few prefix-relative directories if test "x${prefix}" = "xNONE"; then PREFIX="${ac_default_prefix}" else PREFIX="${prefix}" fi AC_DEFINE_UNQUOTED(LOCALE_DIR, "${PREFIX}/${DATADIRNAME}/locale",[Locale directory]) AC_DEFINE_UNQUOTED(THEME_DIR, "${PREFIX}/${DATADIRNAME}/icons",[Icon directory]) # Check dependencies PKG_CHECK_MODULES(GTK, gtk+-3.0 >= 3.0 gio-2.0) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) # Sets up output files. AC_CONFIG_FILES([Makefile data/Makefile gmult/Makefile po/Makefile.in vapi/Makefile]) AC_OUTPUT gmult-8.0/ABOUT-NLS0000644000175000017500000022532611551155441013332 0ustar udienzudienz1 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. If you happen to have the `LC_ALL' or some other `LC_xxx' environment variables set, you should unset them before setting `LANG', otherwise the setting of `LANG' will not have the desired effect. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://translationproject.org/', in the "Teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `coordinator@translationproject.org' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of November 2007. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ Compendium | [] [] [] [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] [] | bash | [] | bfd | | bibshelf | [] | binutils | | bison | [] [] | bison-runtime | [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] [] | console-tools | [] [] | coreutils | [] [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | dialog | | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | fetchmail | [] [] () [] [] | findutils | [] | findutils_stable | [] [] [] | flex | [] [] [] | fslint | | gas | | gawk | [] [] [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gip | [] | gliv | [] [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | [] [] () () [] | gnuedu | | gnulib | [] | gnunet | | gnunet-gtk | | gnutls | [] | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | | gramadoir | [] [] | grep | [] [] | gretl | () | gsasl | | gss | | gst-plugins-bad | [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gst-plugins-ugly | [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | () | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] [] | indent | [] [] [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] | iso_639 | [] [] [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | [] [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lprng | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailfromd | | mailutils | [] | make | [] [] | man-db | [] [] [] | minicom | [] [] [] | nano | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | popt | [] [] [] | psmisc | [] | pwdutils | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | shared-mime-info | [] [] [] [] () [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | skencil | [] () | solfege | | soundtracker | [] [] | sp | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] | texinfo | [] [] [] | tin | () () | tuxpaint | [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | util-linux-ng | [] [] [] [] | vorbis-tools | [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ Compendium | [] [] [] [] [] | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] | bfd | [] [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | dialog | [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | fetchmail | [] | findutils | [] [] [] | findutils_stable | [] [] [] [] | flex | [] [] [] | fslint | | gas | [] [] | gawk | [] [] [] [] () | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] [] | gip | [] [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnuedu | [] | gnulib | [] [] [] | gnunet | | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] [] | gpsdrive | [] | gramadoir | [] [] | grep | [] [] [] | gretl | [] [] [] () | gsasl | [] [] | gss | [] [] | gst-plugins-bad | [] [] [] [] | gst-plugins-base | [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] | gstreamer | [] [] [] | gtick | [] [] [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_15924 | [] | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] [] [] | keytouch-editor | [] | keytouch-keyboa... | [] [] | latrine | [] [] | ld | [] [] [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | [] | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] [] [] | libidn | [] [] | lifelines | () | lilypond | [] [] [] | lingoteach | [] [] [] | lprng | | lynx | [] [] [] | m4 | [] [] [] [] | mailfromd | | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | [] | minicom | [] [] [] [] | nano | [] [] [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] | pilot-qof | | popt | [] [] [] [] | psmisc | [] [] | pwdutils | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | [] | skencil | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] | tin | [] () | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | util-linux-ng | [] [] [] [] [] [] [] | vorbis-tools | | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52 ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn +--------------------------------------------------+ Compendium | [] | a2ps | () [] [] | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | [] | cpplib | [] | cryptonit | [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | fetchmail | [] [] | findutils | [] | findutils_stable | [] | flex | [] [] | fslint | | gas | | gawk | [] [] | gcal | | gcc | | gettext-examples | [] [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] [] | gnubiff | | gnucash | () () () | gnuedu | | gnulib | [] [] | gnunet | | gnunet-gtk | | gnutls | [] | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] [] | gpe-conf | [] [] [] | gpe-contacts | [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] | gphoto2 | [] [] | gprof | [] | gpsdrive | [] | gramadoir | () | grep | [] [] | gretl | | gsasl | [] | gss | | gst-plugins-bad | [] | gst-plugins-base | [] | gst-plugins-good | [] | gst-plugins-ugly | [] | gstreamer | [] | gtick | [] | gtkam | [] [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] | indent | [] [] | iso_15924 | [] | iso_3166 | [] [] [] [] [] [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] | iso_639 | [] [] [] [] | jpilot | () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | [] | libidn | [] [] | lifelines | [] | lilypond | [] | lingoteach | [] | lprng | | lynx | [] [] | m4 | [] [] | mailfromd | | mailutils | | make | [] [] [] | man-db | | minicom | [] | nano | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | popt | [] [] [] | psmisc | [] [] [] | pwdutils | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | shared-mime-info | [] [] [] [] [] [] [] | sharutils | [] [] | shishi | | skencil | | solfege | () () | soundtracker | | sp | () | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] | tin | | tuxpaint | () [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | util-linux-ng | [] [] | vorbis-tools | | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6 or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +--------------------------------------------------+ Compendium | [] [] [] [] [] | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] [] | bash | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | dialog | [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | fetchmail | [] [] [] | findutils | [] [] [] | findutils_stable | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] | gas | | gawk | [] [] [] [] | gcal | [] | gcc | [] [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gip | [] [] [] [] | gliv | [] [] [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () [] | gnucash | () [] | gnuedu | | gnulib | [] [] [] | gnunet | | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] [] [] [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] | gramadoir | [] [] | grep | [] [] [] [] | gretl | [] [] [] | gsasl | [] [] [] | gss | [] [] [] [] | gst-plugins-bad | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] | gst-plugins-ugly | [] [] [] | gstreamer | [] [] [] [] | gtick | [] | gtkam | [] [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | herrie | [] [] [] | hylafax | | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] | libexif | [] [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] [] | libgpg-error | [] [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lprng | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailfromd | [] | mailutils | [] [] [] | make | [] [] [] [] | man-db | [] [] [] [] | minicom | [] [] [] [] [] | nano | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | | popt | [] [] [] [] | psmisc | [] [] | pwdutils | [] [] | qof | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | skencil | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] | texinfo | [] [] [] [] | tin | () | tuxpaint | [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | util-linux-ng | [] [] [] [] | vorbis-tools | [] | wastesedge | | wdiff | [] [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ Compendium | [] [] [] [] | 19 a2ps | [] [] [] | 19 aegis | [] | 1 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 16 bash | [] | 6 bfd | | 2 bibshelf | [] | 7 binutils | [] [] [] [] | 9 bison | [] [] [] [] | 20 bison-runtime | [] [] [] [] | 18 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 5 clisp | | 9 console-tools | [] [] | 5 coreutils | [] [] [] | 18 cpio | [] [] [] [] | 11 cpplib | [] [] [] [] [] | 12 cryptonit | [] | 6 dialog | [] [] [] | 9 diffutils | [] [] [] [] [] | 29 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 fetchmail | [] [] | 12 findutils | [] [] [] | 11 findutils_stable | [] [] [] [] | 18 flex | [] [] | 15 fslint | [] | 2 gas | [] | 3 gawk | [] [] [] | 16 gcal | [] | 5 gcc | [] [] [] | 7 gettext-examples | [] [] [] [] [] [] | 29 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 20 gip | [] [] | 13 gliv | [] [] | 11 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 16 gnubiff | [] | 2 gnucash | () [] | 5 gnuedu | [] | 2 gnulib | [] | 10 gnunet | | 0 gnunet-gtk | [] [] | 3 gnutls | | 4 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] [] | 7 gpe-clock | [] [] [] [] | 21 gpe-conf | [] [] [] | 16 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] [] | 22 gpe-filemanager | [] [] | 7 gpe-go | [] [] [] [] | 19 gpe-login | [] [] [] [] [] | 21 gpe-ownerinfo | [] [] [] [] | 21 gpe-package | [] | 6 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] [] | 21 gpe-taskmanager | [] [] [] [] | 21 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 21 gpe-todo | [] [] | 8 gphoto2 | [] [] [] [] | 21 gprof | [] [] | 13 gpsdrive | [] | 5 gramadoir | [] | 7 grep | [] | 12 gretl | | 6 gsasl | [] [] [] | 9 gss | [] | 7 gst-plugins-bad | [] [] [] | 13 gst-plugins-base | [] [] | 11 gst-plugins-good | [] [] [] [] [] | 16 gst-plugins-ugly | [] [] [] | 13 gstreamer | [] [] [] | 18 gtick | [] [] | 7 gtkam | [] | 16 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 27 gutenprint | | 4 hello | [] [] [] [] [] | 38 herrie | [] [] | 8 hylafax | | 0 idutils | [] [] | 15 indent | [] [] [] [] [] | 28 iso_15924 | [] [] | 4 iso_3166 | [] [] [] [] [] [] [] [] [] | 54 iso_3166_2 | [] [] | 4 iso_4217 | [] [] [] [] [] | 24 iso_639 | [] [] [] [] [] | 26 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] [] | 13 keytouch | [] | 8 keytouch-editor | [] | 5 keytouch-keyboa... | [] | 5 latrine | [] [] | 5 ld | [] [] [] [] | 10 leafpad | [] [] [] [] [] | 24 libc | [] [] [] | 19 libexif | [] | 5 libextractor | [] | 5 libgpewidget | [] [] [] | 20 libgpg-error | [] | 6 libgphoto2 | [] [] | 9 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] [] | 11 libidn | [] [] | 11 lifelines | | 4 lilypond | [] | 6 lingoteach | [] | 6 lprng | [] | 2 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailfromd | [] [] | 3 mailutils | [] [] | 8 make | [] [] [] | 20 man-db | [] | 9 minicom | [] | 14 nano | [] [] [] | 20 opcodes | [] [] | 10 parted | [] [] [] | 11 pilot-qof | [] | 1 popt | [] [] [] [] | 18 psmisc | [] [] | 10 pwdutils | [] | 3 qof | [] | 4 radius | [] [] | 7 recode | [] [] [] | 25 rpm | [] [] [] [] | 13 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] [] | 23 shared-mime-info | [] [] [] | 29 sharutils | [] [] [] | 23 shishi | [] | 3 skencil | [] | 7 solfege | [] | 3 soundtracker | [] [] | 9 sp | [] | 3 system-tools-ba... | [] [] [] [] [] [] [] | 38 tar | [] [] [] | 17 texinfo | [] [] [] | 15 tin | | 1 tuxpaint | [] [] [] | 19 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 util-linux-ng | [] [] [] | 20 vorbis-tools | [] [] | 4 wastesedge | | 1 wdiff | [] [] | 23 wget | [] [] [] | 20 xchat | [] [] [] [] | 29 xkeyboard-config | [] [] [] | 14 xpad | [] [] [] | 15 +---------------------------------------------------+ 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If November 2007 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://translationproject.org/extra/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `coordinator@translationproject.org' to make the `.pot' files available to the translation teams. gmult-8.0/configure0000755000175000017500000100603611551160266014007 0ustar udienzudienz#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.67 for Multiplication Puzzle 8.0. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 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 NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } 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" 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'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } 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. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: gmult-hackers@lists.launchpad.net about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && 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; } # 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). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... 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'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p 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 # 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'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" as_awk_strverscmp=' # Use only awk features that work with 7th edition Unix awk (1978). # My, what an old awk you have, Mr. Solaris! END { while (length(v1) && length(v2)) { # Set d1 to be the next thing to compare from v1, and likewise for d2. # Normally this is a single character, but if v1 and v2 contain digits, # compare them as integers and fractions as strverscmp does. if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) { # Split v1 and v2 into their leading digit string components d1 and d2, # and advance v1 and v2 past the leading digit strings. for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1) d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1) if (d1 ~ /^0/) { if (d2 ~ /^0/) { # Compare two fractions. while (d1 ~ /^0/ && d2 ~ /^0/) { d1 = substr(d1, 2); len1-- d2 = substr(d2, 2); len2-- } if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) { # The two components differ in length, and the common prefix # contains only leading zeros. Consider the longer to be less. d1 = -len1 d2 = -len2 } else { # Otherwise, compare as strings. d1 = "x" d1 d2 = "x" d2 } } else { # A fraction is less than an integer. exit 1 } } else { if (d2 ~ /^0/) { # An integer is greater than a fraction. exit 2 } else { # Compare two integers. d1 += 0 d2 += 0 } } } else { # The normal case, without worrying about digits. d1 = substr(v1, 1, 1); v1 = substr(v1, 2) d2 = substr(v2, 1, 1); v2 = substr(v2, 2) } if (d1 < d2) exit 1 if (d1 > d2) exit 2 } # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10), # which mishandles some comparisons of empty strings to integers. if (length(v2)) exit 1 if (length(v1)) exit 2 } ' test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Multiplication Puzzle' PACKAGE_TARNAME='gmult' PACKAGE_VERSION='8.0' PACKAGE_STRING='Multiplication Puzzle 8.0' PACKAGE_BUGREPORT='gmult-hackers@lists.launchpad.net' PACKAGE_URL='' ac_unique_file="gmult/GtkMult.vala" gt_needs= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS GTK_LIBS GTK_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG DATADIRNAME ALL_LINGUAS INTLTOOL_PERL INTLTOOL_POLICY_RULE INTLTOOL_SERVICE_RULE INTLTOOL_THEME_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_CAVES_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_XML_RULE INTLTOOL_KBD_RULE INTLTOOL_XAM_RULE INTLTOOL_UI_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_SHEET_RULE INTLTOOL_SERVER_RULE INTLTOOL_PONG_RULE INTLTOOL_OAF_RULE INTLTOOL_PROP_RULE INTLTOOL_KEYS_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_DESKTOP_RULE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE POSUB LTLIBINTL LIBINTL INTLLIBS LTLIBICONV LIBICONV INTL_MACOSX_LIBS EGREP GREP CPP host_os host_vendor host_cpu host build_os build_vendor build_cpu build XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT GETTEXT_MACRO_VERSION USE_NLS GETTEXT_PACKAGE VALAC am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE AM_BACKSLASH AM_DEFAULT_VERBOSITY am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_maintainer_mode enable_dependency_tracking enable_nls with_gnu_ld enable_rpath with_libiconv_prefix with_libintl_prefix ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR GTK_CFLAGS GTK_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. 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 fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures Multiplication Puzzle 8.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/gmult] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of Multiplication Puzzle 8.0:";; esac cat <<\_ACEOF 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] --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0') --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path GTK_CFLAGS C compiler flags for GTK, overriding pkg-config GTK_LIBS linker flags for GTK, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF Multiplication Puzzle configure 8.0 generated by GNU Autoconf 2.67 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_func cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by Multiplication Puzzle $as_me 8.0, which was generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5 ; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi gt_needs="$gt_needs " # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## 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 ac_config_headers="$ac_config_headers config.h:config.h.in" # Sets up automake. am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # 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 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. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' 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=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; esac # 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 test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " 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;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # 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. 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. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 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 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 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 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS 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 case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi 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. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='gmult' VERSION='8.0' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' # 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=0;; esac AM_BACKSLASH='\' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE # Checks for programs. 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 if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 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 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 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 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 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 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 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 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 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 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* 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); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : 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" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # 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 am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # 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'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > 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 done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # 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 am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # 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 # 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} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi if test "x$CC" != xcc; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $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; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\"" = set; 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. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h fi # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != 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 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi # Checks for vala # Extract the first word of "valac-0.12", so it can be a program name with args. set dummy valac-0.12; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_VALAC+set}" = set; then : $as_echo_n "(cached) " >&6 else case $VALAC in [\\/]* | ?:[\\/]*) ac_cv_path_VALAC="$VALAC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_path_VALAC="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi VALAC=$ac_cv_path_VALAC if test -n "$VALAC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALAC" >&5 $as_echo "$VALAC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$VALAC"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No Vala compiler found. You will not be able to compile .vala source files." >&5 $as_echo "$as_me: WARNING: No Vala compiler found. You will not be able to compile .vala source files." >&2;} else if test -n "0.12.0"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking $VALAC is at least version 0.12.0" >&5 $as_echo_n "checking $VALAC is at least version 0.12.0... " >&6; } am__vala_version=`$VALAC --version | sed 's/Vala *//'` as_arg_v1=0.12.0 as_arg_v2="$am__vala_version" awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null case $? in #( 1) : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ;; #( 0) : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ;; #( 2) : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Vala 0.12.0 not found." "$LINENO" 5 ;; #( *) : ;; esac fi fi # Sets up gettext. GETTEXT_PACKAGE="$PACKAGE" cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } GETTEXT_MACRO_VERSION=0.18 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GMSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_path_GMSGFMT="$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 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGMERGE+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= ac_config_commands="$ac_config_commands po-directories" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${acl_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${acl_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if test "${acl_cv_rpath+set}" = set; then : $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes 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 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5 ; } 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 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if test "${ac_cv_path_EGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 $as_echo_n "checking for 64-bit host... " >&6; } if test "${gl_cv_solaris_64bit+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef _LP64 sixtyfour bits #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "sixtyfour bits" >/dev/null 2>&1; then : gl_cv_solaris_64bit=yes else gl_cv_solaris_64bit=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 $as_echo "$gl_cv_solaris_64bit" >&6; } if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBICONV= LTLIBICONV= INCICONV= LIBICONV_PREFIX= HAVE_LIBICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'iconv'; then LIBICONV_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'iconv'; then LIBICONV_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if eval "test \"\${$gt_func_gnugettext_libc+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$gt_func_gnugettext_libc { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if test "${am_cv_func_iconv+set}" = set; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } if test "${am_cv_func_iconv_works+set}" = set; then : $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static const char input[] = "\263"; char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi LIBS="$am_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBINTL= LTLIBINTL= INCINTL= LIBINTL_PREFIX= HAVE_LIBINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'intl'; then LIBINTL_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'intl'; then LIBINTL_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if eval "test \"\${$gt_func_gnugettext_libintl+set}\"" = set; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" else eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi eval ac_res=\$$gt_func_gnugettext_libintl { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi INTLLIBS="$LIBINTL" case "$am__api_version" in 1.01234) as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5 ;; *) ;; esac if test -n "0.37"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= 0.37" >&5 $as_echo_n "checking for intltool >= 0.37... " >&6; } INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.37 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; } test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || as_fn_error $? "Your intltool is too old. You need intltool 0.37 or later." "$LINENO" 5 fi # Extract the first word of "intltool-update", so it can be a program name with args. set dummy intltool-update; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_INTLTOOL_UPDATE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_UPDATE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_path_INTLTOOL_UPDATE="$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 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE if test -n "$INTLTOOL_UPDATE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5 $as_echo "$INTLTOOL_UPDATE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-merge", so it can be a program name with args. set dummy intltool-merge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_INTLTOOL_MERGE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_MERGE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_path_INTLTOOL_MERGE="$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 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE if test -n "$INTLTOOL_MERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5 $as_echo "$INTLTOOL_MERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-extract", so it can be a program name with args. set dummy intltool-extract; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_INTLTOOL_EXTRACT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_EXTRACT in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_path_INTLTOOL_EXTRACT="$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 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT if test -n "$INTLTOOL_EXTRACT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5 $as_echo "$INTLTOOL_EXTRACT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5 fi INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@' INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' # Check the gettext tools to make sure they are GNU # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $XGETTEXT in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_path_XGETTEXT="$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 fi done done IFS=$as_save_IFS ;; esac fi XGETTEXT=$ac_cv_path_XGETTEXT if test -n "$XGETTEXT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGMERGE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MSGMERGE in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_path_MSGMERGE="$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 fi done done IFS=$as_save_IFS ;; esac fi MSGMERGE=$ac_cv_path_MSGMERGE if test -n "$MSGMERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_path_MSGFMT="$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 fi done done IFS=$as_save_IFS ;; esac fi MSGFMT=$ac_cv_path_MSGFMT if test -n "$MSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GMSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_path_GMSGFMT="$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 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_PERL in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 ac_cv_path_INTLTOOL_PERL="$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 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL if test -n "$INTLTOOL_PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5 $as_echo "$INTLTOOL_PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_PERL"; then as_fn_error $? "perl not found" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5 $as_echo_n "checking for perl >= 5.8.1... " >&6; } $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5 else IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5 $as_echo "$IT_PERL_VERSION" >&6; } fi if test "xno-xml" != "xno-xml"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5 $as_echo_n "checking for XML::Parser... " >&6; } if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5 fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile # Set DATADIRNAME correctly if it is not set yet # (copied from glib-gettext.m4) if test -z "$DATADIRNAME"; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : DATADIRNAME=share else case $host in *-*-solaris*) ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then : DATADIRNAME=share else DATADIRNAME=lib fi ;; *) DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi # Sets up a few prefix-relative directories if test "x${prefix}" = "xNONE"; then PREFIX="${ac_default_prefix}" else PREFIX="${prefix}" fi cat >>confdefs.h <<_ACEOF #define LOCALE_DIR "${PREFIX}/${DATADIRNAME}/locale" _ACEOF cat >>confdefs.h <<_ACEOF #define THEME_DIR "${PREFIX}/${DATADIRNAME}/icons" _ACEOF # Check dependencies if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 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 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH 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 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 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.0 gio-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.0 gio-2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= 3.0 gio-2.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.0 gio-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.0 gio-2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= 3.0 gio-2.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk+-3.0 >= 3.0 gio-2.0" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk+-3.0 >= 3.0 gio-2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gtk+-3.0 >= 3.0 gio-2.0) were not met: $GTK_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GTK_CFLAGS and GTK_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GTK_CFLAGS and GTK_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5 ; } else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi # Sets up output files. ac_config_files="$ac_config_files Makefile data/Makefile gmult/Makefile po/Makefile.in vapi/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi ac_config_commands="$ac_config_commands po/stamp-it" : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... 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'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p 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 # 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'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by Multiplication Puzzle $as_me 8.0, which was generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ Multiplication Puzzle config.status 8.0 configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" 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 shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.h.in" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "gmult/Makefile") CONFIG_FILES="$CONFIG_FILES gmult/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "vapi/Makefile") CONFIG_FILES="$CONFIG_FILES vapi/Makefile" ;; "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac 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 # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # 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 # 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. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # 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 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 # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; "po/stamp-it":C) if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5 fi rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" >"po/stamp-it.tmp" sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r po/POTFILES } ' "po/Makefile.in" >"po/Makefile" rm -f "po/Makefile.tmp" mv "po/stamp-it.tmp" "po/stamp-it" ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi gmult-8.0/AUTHORS0000644000175000017500000000004111551155441013134 0ustar udienzudienzMichael Terry gmult-8.0/COPYING0000644000175000017500000010451311551155441013130 0ustar udienzudienz GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . gmult-8.0/Makefile.in0000644000175000017500000005556211551160265014153 0ustar udienzudienz# Makefile.in generated by automake 1.11.1 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. # 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. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ INSTALL NEWS THANKS compile config.guess config.rpath \ config.sub depcomp install-sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive 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 ETAGS = etags CTAGS = ctags 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)"; }; } am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" GZIP_ENV = --best DIST_ARCHIVES = $(distdir).tar.bz2 distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = data gmult po vapi EXTRA_DIST = autogen.sh intltool-extract.in intltool-merge.in intltool-update.in DISTCLEANFILES = intltool-extract intltool-merge intltool-update all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ 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; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(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: $(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) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ 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; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$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; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ 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 \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__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 # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ 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.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__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 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive 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-hook 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 # Distribute pot file dist-hook: $(MAKE) -C "$(srcdir)/po" "$(GETTEXT_PACKAGE).pot" cp "$(srcdir)/po/$(GETTEXT_PACKAGE).pot" "$(distdir)/po/" # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gmult-8.0/intltool-merge.in0000644000175000017500000000000011551156716015356 0ustar udienzudienzgmult-8.0/config.guess0000755000175000017500000012763711551156715014436 0ustar udienzudienz#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2009-12-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program 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 this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: